History

Port the multiplayer shell to the browse page

Upstream gave the multiplayer shell a connect-dialog affordance while this branch replaced the dialog with the full-page picker; the sidebar action navigates there instead.

Rhys Sullivan committed 2 months ago

Commit 6fcbdcd1 parent 9ac97e03 files · +12 −12Browse files

Unified · Split

3 files
  1. packages/hosts/mcp-apps-shell/src/shell/smoke-harness-bundle.gen.ts +1 −1
  2. packages/react/src/api/analytics.tsx +1 −1
  3. packages/react/src/multiplayer/shell.tsx +10 −10
packages/hosts/mcp-apps-shell/src/shell/smoke-harness-bundle.gen.ts+1−1
@@ -12,6 +12,6 @@ · 11 unmodified lines
12 * as it does when the sandbox itself is unavailable, so a partial checkout12 * as it does when the sandbox itself is unavailable, so a partial checkout
13 * never blocks a create.13 * never blocks a create.
14 */14 */
15const bundle: string | null = "\"use strict\";\n(() => {\n var __create = Object.create;\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __getProtoOf = Object.getPrototypeOf;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n };\n var __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps = (to2, from2, except, desc) => {\n if (from2 && typeof from2 === \"object\" || typeof from2 === \"function\") {\n for (let key of __getOwnPropNames(from2))\n if (!__hasOwnProp.call(to2, key) && key !== except)\n __defProp(to2, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });\n }\n return to2;\n };\n var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n ));\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react.production.js\n var require_react_production = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react.production.js\"(exports) {\n \"use strict\";\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var ReactNoopUpdateQueue = {\n isMounted: function() {\n return false;\n },\n enqueueForceUpdate: function() {\n },\n enqueueReplaceState: function() {\n },\n enqueueSetState: function() {\n }\n };\n var assign2 = Object.assign;\n var emptyObject = {};\n function Component2(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n Component2.prototype.isReactComponent = {};\n Component2.prototype.setState = function(partialState, callback) {\n if (\"object\" !== typeof partialState && \"function\" !== typeof partialState && null != partialState)\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 };\n Component2.prototype.forceUpdate = function(callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n function ComponentDummy() {\n }\n ComponentDummy.prototype = Component2.prototype;\n function PureComponent6(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n var pureComponentPrototype = PureComponent6.prototype = new ComponentDummy();\n pureComponentPrototype.constructor = PureComponent6;\n assign2(pureComponentPrototype, Component2.prototype);\n pureComponentPrototype.isPureReactComponent = true;\n var isArrayImpl = Array.isArray;\n function noop7() {\n }\n var ReactSharedInternals = { H: null, A: null, T: null, S: null };\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n function ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type,\n key,\n ref: void 0 !== refProp ? refProp : null,\n props\n };\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n }\n function isValidElement27(object) {\n return \"object\" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return \"$\" + key.replace(/[=:]/g, function(match2) {\n return escaperLookup[match2];\n });\n }\n var userProvidedKeyEscapeRegex = /\\/+/g;\n function getElementKey(element, index2) {\n return \"object\" === typeof element && null !== element && null != element.key ? escape(\"\" + element.key) : index2.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenable.status = \"pending\", thenable.then(\n function(fulfilledValue) {\n \"pending\" === thenable.status && (thenable.status = \"fulfilled\", thenable.value = fulfilledValue);\n },\n function(error) {\n \"pending\" === thenable.status && (thenable.status = \"rejected\", thenable.reason = error);\n }\n )), thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array2, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = false;\n if (null === children) invokeCallback = true;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = true;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n break;\n case REACT_LAZY_TYPE:\n return invokeCallback = children._init, mapIntoArray(\n invokeCallback(children._payload),\n array2,\n escapedPrefix,\n nameSoFar,\n callback\n );\n }\n }\n if (invokeCallback)\n return callback = callback(children), invokeCallback = \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar, isArrayImpl(callback) ? (escapedPrefix = \"\", null != invokeCallback && (escapedPrefix = invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"), mapIntoArray(callback, array2, escapedPrefix, \"\", function(c2) {\n return c2;\n })) : null != callback && (isValidElement27(callback) && (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix + (null == callback.key || children && children.key === callback.key ? \"\" : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") + invokeCallback\n )), array2.push(callback)), 1;\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], type = nextNamePrefix + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(\n nameSoFar,\n array2,\n escapedPrefix,\n type,\n callback\n );\n else if (i = getIteratorFn(children), \"function\" === typeof i)\n for (children = i.call(children), i = 0; !(nameSoFar = children.next()).done; )\n nameSoFar = nameSoFar.value, type = nextNamePrefix + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(\n nameSoFar,\n array2,\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 array2,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array2 = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" + (\"[object Object]\" === array2 ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\" : array2) + \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [], count3 = 0;\n mapIntoArray(children, result, \"\", \"\", function(child) {\n return func.call(context, child, count3++);\n });\n return result;\n }\n function 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 }\n var reportGlobalError = \"function\" === typeof reportError ? reportError : function(error) {\n if (\"object\" === typeof window && \"function\" === typeof window.ErrorEvent) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: true,\n cancelable: true,\n message: \"object\" === typeof error && null !== error && \"string\" === typeof error.message ? String(error.message) : String(error),\n error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\"object\" === typeof process && \"function\" === typeof process.emit) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\n var Children8 = {\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 mapChildren(children, function(child) {\n return child;\n }) || [];\n },\n only: function(children) {\n if (!isValidElement27(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = Children8;\n exports.Component = Component2;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent6;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;\n exports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function(size4) {\n return ReactSharedInternals.H.useMemoCache(size4);\n }\n };\n exports.cache = function(fn) {\n return function() {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function() {\n return null;\n };\n exports.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 = assign2({}, element.props), key = element.key;\n if (null != config)\n for (propName in void 0 !== config.key && (key = \"\" + config.key), config)\n !hasOwnProperty.call(config, propName) || \"key\" === propName || \"__self\" === propName || \"__source\" === propName || \"ref\" === propName && void 0 === config.ref || (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 };\n exports.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 };\n exports.createElement = function(type, config, children) {\n var propName, props = {}, key = null;\n if (null != config)\n for (propName in void 0 !== config.key && (key = \"\" + config.key), config)\n hasOwnProperty.call(config, propName) && \"key\" !== propName && \"__self\" !== propName && \"__source\" !== propName && (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] && (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n };\n exports.createRef = function() {\n return { current: null };\n };\n exports.forwardRef = function(render2) {\n return { $$typeof: REACT_FORWARD_REF_TYPE2, render: render2 };\n };\n exports.isValidElement = isValidElement27;\n exports.lazy = function(ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n };\n exports.memo = function(type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE2,\n type,\n compare: void 0 === compare ? null : compare\n };\n };\n exports.startTransition = function(scope) {\n var prevTransition = ReactSharedInternals.T, currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue && null !== returnValue && \"function\" === typeof returnValue.then && returnValue.then(noop7, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition && null !== currentTransition.types && (prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;\n }\n };\n exports.unstable_useCacheRefresh = function() {\n return ReactSharedInternals.H.useCacheRefresh();\n };\n exports.use = function(usable) {\n return ReactSharedInternals.H.use(usable);\n };\n exports.useActionState = function(action, initialState15, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState15, permalink);\n };\n exports.useCallback = function(callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n };\n exports.useContext = function(Context) {\n return ReactSharedInternals.H.useContext(Context);\n };\n exports.useDebugValue = function() {\n };\n exports.useDeferredValue = function(value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n };\n exports.useEffect = function(create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n };\n exports.useEffectEvent = function(callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n };\n exports.useId = function() {\n return ReactSharedInternals.H.useId();\n };\n exports.useImperativeHandle = function(ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function(create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function(create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n };\n exports.useMemo = function(create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n };\n exports.useOptimistic = function(passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function(reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n };\n exports.useRef = function(initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n };\n exports.useState = function(initialState15) {\n return ReactSharedInternals.H.useState(initialState15);\n };\n exports.useSyncExternalStore = function(subscribe2, getSnapshot, getServerSnapshot) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe2,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function() {\n return ReactSharedInternals.H.useTransition();\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/index.js\n var require_react = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom.production.js\n var require_react_dom_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n function noop7() {\n }\n var Internals = {\n d: {\n f: noop7,\n r: function() {\n throw Error(formatProdErrorMessage3(522));\n },\n D: noop7,\n C: noop7,\n L: noop7,\n m: noop7,\n X: noop7,\n S: noop7,\n M: noop7\n },\n p: 0,\n findDOMNode: null\n };\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n function createPortal$1(children, containerInfo, implementation) {\n var key = 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,\n containerInfo,\n implementation\n };\n }\n var ReactSharedInternals = React134.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n function getCrossOriginStringAs(as, input2) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input2)\n return \"use-credentials\" === input2 ? input2 : \"\";\n }\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;\n exports.createPortal = function(children, container) {\n var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)\n throw Error(formatProdErrorMessage3(299));\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function(fn) {\n var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;\n try {\n if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();\n } finally {\n ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f();\n }\n };\n exports.preconnect = function(href, options2) {\n \"string\" === typeof href && (options2 ? (options2 = options2.crossOrigin, options2 = \"string\" === typeof options2 ? \"use-credentials\" === options2 ? options2 : \"\" : void 0) : options2 = null, Internals.d.C(href, options2));\n };\n exports.prefetchDNS = function(href) {\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function(href, options2) {\n if (\"string\" === typeof href && options2 && \"string\" === typeof options2.as) {\n var as = options2.as, crossOrigin = getCrossOriginStringAs(as, options2.crossOrigin), integrity = \"string\" === typeof options2.integrity ? options2.integrity : void 0, fetchPriority = \"string\" === typeof options2.fetchPriority ? options2.fetchPriority : void 0;\n \"style\" === as ? Internals.d.S(\n href,\n \"string\" === typeof options2.precedence ? options2.precedence : void 0,\n {\n crossOrigin,\n integrity,\n fetchPriority\n }\n ) : \"script\" === as && Internals.d.X(href, {\n crossOrigin,\n integrity,\n fetchPriority,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0\n });\n }\n };\n exports.preinitModule = function(href, options2) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options2 && null !== options2) {\n if (null == options2.as || \"script\" === options2.as) {\n var crossOrigin = getCrossOriginStringAs(\n options2.as,\n options2.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0\n });\n }\n } else null == options2 && Internals.d.M(href);\n };\n exports.preload = function(href, options2) {\n if (\"string\" === typeof href && \"object\" === typeof options2 && null !== options2 && \"string\" === typeof options2.as) {\n var as = options2.as, crossOrigin = getCrossOriginStringAs(as, options2.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0,\n type: \"string\" === typeof options2.type ? options2.type : void 0,\n fetchPriority: \"string\" === typeof options2.fetchPriority ? options2.fetchPriority : void 0,\n referrerPolicy: \"string\" === typeof options2.referrerPolicy ? options2.referrerPolicy : void 0,\n imageSrcSet: \"string\" === typeof options2.imageSrcSet ? options2.imageSrcSet : void 0,\n imageSizes: \"string\" === typeof options2.imageSizes ? options2.imageSizes : void 0,\n media: \"string\" === typeof options2.media ? options2.media : void 0\n });\n }\n };\n exports.preloadModule = function(href, options2) {\n if (\"string\" === typeof href)\n if (options2) {\n var crossOrigin = getCrossOriginStringAs(options2.as, options2.crossOrigin);\n Internals.d.m(href, {\n as: \"string\" === typeof options2.as && \"script\" !== options2.as ? options2.as : void 0,\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0\n });\n } else Internals.d.m(href);\n };\n exports.requestFormReset = function(form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function(fn, a2) {\n return fn(a2);\n };\n exports.useFormState = function(action, initialState15, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState15, permalink);\n };\n exports.useFormStatus = function() {\n return ReactSharedInternals.H.useHostTransitionStatus();\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/index.js\n var require_react_dom = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/index.js\"(exports, module) {\n \"use strict\";\n function checkDCE() {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === \"undefined\" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== \"function\") {\n return;\n }\n if (false) {\n throw new Error(\"^_^\");\n }\n try {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n console.error(err);\n }\n }\n if (true) {\n checkDCE();\n module.exports = require_react_dom_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js\n var require_react_dom_server_legacy_browser_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n var ReactDOM5 = require_react_dom();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for(\"react.scope\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for(\"react.legacy_hidden\");\n var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for(\"react.memo_cache_sentinel\");\n var REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for(\"react.view_transition\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var isArrayImpl = Array.isArray;\n function murmurhash3_32_gc(key, seed2) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed2;\n for (seed2 = 0; seed2 < bytes; ) {\n var k1 = key.charCodeAt(seed2) & 255 | (key.charCodeAt(++seed2) & 255) << 8 | (key.charCodeAt(++seed2) & 255) << 16 | (key.charCodeAt(++seed2) & 255) << 24;\n ++seed2;\n k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed2 + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed2 + 1) & 255) << 8;\n case 1:\n k1 ^= key.charCodeAt(seed2) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 13;\n h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n return (h1 ^ h1 >>> 16) >>> 0;\n }\n var assign2 = Object.assign;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var 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 var illegalAttributeNameCache = {};\n var validatedAttributeNameCache = {};\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return true;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return validatedAttributeNameCache[attributeName] = true;\n illegalAttributeNameCache[attributeName] = true;\n return false;\n }\n var 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 );\n var aliases = /* @__PURE__ */ 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 var matchHtmlRegExp = /[\"'&<>]/;\n function escapeTextForBrowser(text) {\n if (\"boolean\" === typeof text || \"number\" === typeof text || \"bigint\" === typeof text)\n return \"\" + text;\n text = \"\" + text;\n var match2 = matchHtmlRegExp.exec(text);\n if (match2) {\n var html = \"\", index2, lastIndex = 0;\n for (index2 = match2.index; index2 < text.length; index2++) {\n switch (text.charCodeAt(index2)) {\n case 34:\n match2 = \"&quot;\";\n break;\n case 38:\n match2 = \"&amp;\";\n break;\n case 39:\n match2 = \"&#x27;\";\n break;\n case 60:\n match2 = \"&lt;\";\n break;\n case 62:\n match2 = \"&gt;\";\n break;\n default:\n continue;\n }\n lastIndex !== index2 && (html += text.slice(lastIndex, index2));\n lastIndex = index2 + 1;\n html += match2;\n }\n text = lastIndex !== index2 ? html + text.slice(lastIndex, index2) : html;\n }\n return text;\n }\n var uppercasePattern = /([A-Z])/g;\n var msPattern = /^ms-/;\n var isJavaScriptProtocol = /^[\\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;\n function sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url) ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\" : url;\n }\n var ReactSharedInternals = React134.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var ReactDOMSharedInternals = ReactDOM5.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var sharedNotPendingObject = {\n pending: false,\n data: null,\n method: null,\n action: null\n };\n var previousDispatcher = ReactDOMSharedInternals.d;\n ReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n };\n var PRELOAD_NO_CREDS = [];\n var currentlyFlushingRenderState = null;\n var scriptRegex = /(<\\/|<)(s)(cript)/gi;\n function scriptReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\u0073\" : \"\\\\u0053\") + suffix3;\n }\n function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules,\n instructions: 0,\n hasBody: false,\n hasHtml: false,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n }\n function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {\n return {\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n };\n }\n function getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n ) : parentContext;\n }\n function getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition ? null : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n }\n function getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n }\n function getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState && \"none\" !== resumableState.share && (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n }\n var styleNameCache = /* @__PURE__ */ new Map();\n function pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage3(62));\n var isFirst = true, styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (null != styleValue && \"boolean\" !== typeof styleValue && \"\" !== styleValue) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = escapeTextForBrowser(styleName);\n styleValue = escapeTextForBrowser((\"\" + styleValue).trim());\n } else\n nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = escapeTextForBrowser(\n styleName.replace(uppercasePattern, \"-$1\").toLowerCase().replace(msPattern, \"-ms-\")\n ), styleNameCache.set(styleName, nameChunk)), styleValue = \"number\" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? \"\" + styleValue : styleValue + \"px\" : escapeTextForBrowser((\"\" + styleValue).trim());\n isFirst ? (isFirst = false, target.push(' style=\"', nameChunk, \":\", styleValue)) : target.push(\";\", nameChunk, \":\", styleValue);\n }\n }\n isFirst || target.push('\"');\n }\n function pushBooleanAttribute(target, name, value) {\n value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"\"');\n }\n function pushStringAttribute(target, name, value) {\n \"function\" !== typeof value && \"symbol\" !== typeof value && \"boolean\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n var actionJavaScriptURL = escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n );\n function pushAdditionalFormField(value, key) {\n this.push('<input type=\"hidden\"');\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(\"/>\");\n }\n function validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage3(480));\n }\n function getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then)\n throw x2;\n }\n }\n return null;\n }\n function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields ? (name = customFields.name, formAction = customFields.action || \"\", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(\" \", \"formAction\", '=\"', actionJavaScriptURL, '\"'), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n }\n function pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (null == value || \"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", \"xlink:href\", '=\"', escapeTextForBrowser(value), '\"');\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 \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\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 && target.push(\" \", name, '=\"\"');\n break;\n case \"capture\":\n case \"download\":\n true === value ? target.push(\" \", name, '=\"\"') : false !== value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value && \"symbol\" !== typeof value && !isNaN(value) && 1 <= value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value || \"symbol\" === typeof value || isNaN(value) || target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (!(2 < name.length) || \"o\" !== name[0] && \"O\" !== name[0] || \"n\" !== name[1] && \"N\" !== name[1]) {\n if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n }\n }\n }\n function pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage3(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(\"\" + innerHTML);\n }\n }\n function flattenOptionChildren(children) {\n var content = \"\";\n React134.Children.forEach(children, function(child) {\n null != child && (content += child);\n });\n return content;\n }\n function injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n \">\",\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`,\n \"<\\/script>\"\n )) : bootstrapChunks.unshift(\n renderState.startInlineScript,\n \">\",\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`,\n \"<\\/script>\"\n );\n }\n }\n function pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n }\n var styleRegex = /(<\\/|<)(s)(tyle)/gi;\n function styleReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\73 \" : \"\\\\53 \") + suffix3;\n }\n function pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n }\n function pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;\n \"function\" !== typeof props && \"symbol\" !== typeof props && null !== props && void 0 !== props && target.push(escapeTextForBrowser(\"\" + props));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n }\n function pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children && target.push((\"\" + children).replace(scriptRegex, scriptReplacer));\n target.push(endChunkForTag(\"script\"));\n return null;\n }\n function pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n }\n function pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag ? (target.push(escapeTextForBrowser(tag)), null) : tag;\n }\n var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n var validatedTagCache = /* @__PURE__ */ new Map();\n function startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage3(65, tag));\n tagStartChunk = \"<\" + tag;\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n }\n function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue ? pushStringAttribute(target$jscomp$0, \"href\", \"\") : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(escapeTextForBrowser(children));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue = null !== value ? \"\" + value : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(' selected=\"\"');\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue && target$jscomp$0.push(' selected=\"\"');\n } else selected && target$jscomp$0.push(' selected=\"\"');\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(\">\");\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage3(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage3(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 && \"\\n\" === value$jscomp$0[0] && target$jscomp$0.push(\"\\n\");\n null !== value$jscomp$0 && target$jscomp$0.push(escapeTextForBrowser(\"\" + value$jscomp$0));\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(\"/>\");\n null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(\">\");\n null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3));\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null, formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields ? (formAction$jscomp$1 = customFields.action || \"\", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(\n \" \",\n \"action\",\n '=\"',\n actionJavaScriptURL,\n '\"'\n ), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(\">\");\n null !== formActionName && (target$jscomp$0.push('<input type=\"hidden\"'), pushStringAttribute(target$jscomp$0, \"name\", formActionName), target$jscomp$0.push(\"/>\"), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4));\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(\">\");\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n \" \",\n \"data\",\n '=\"',\n escapeTextForBrowser(sanitizedValue),\n '\"'\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5));\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || \"string\" !== typeof rel || \"string\" !== typeof href || \"\" === href) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\"string\" !== typeof precedence || null != props.disabled || props.onLoad || props.onError)\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue || (styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign2({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ) : (textEmbedded && target$jscomp$0.push(\"<!-- -->\"), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;\n if (\"string\" !== typeof props.src || !props.src || !asyncProp || \"function\" === typeof asyncProp || \"symbol\" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;\n var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length && (scriptProps = assign2({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || \"string\" !== typeof precedence$jscomp$0 || \"string\" !== typeof href$jscomp$0 || \"\" === href$jscomp$0) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(\">\");\n var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;\n \"function\" !== typeof child && \"symbol\" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push((\"\" + child).replace(styleRegex, styleReplacer));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {\n precedence: escapeTextForBrowser(precedence$jscomp$0),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(escapeTextForBrowser(href$jscomp$0));\n var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 && \"symbol\" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(\"<!-- -->\"), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : \"string\" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, \"meta\") : \"viewport\" === props.name ? pushSelfClosing(renderState.viewportChunks, props, \"meta\") : pushSelfClosing(renderState.hoistableChunks, props, \"meta\");\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(\">\");\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML$jscomp$7 || !(\"__html\" in innerHTML$jscomp$7))\n throw Error(formatProdErrorMessage3(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html && void 0 !== html && (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0] ? target$jscomp$0.push(\"\\n\", html) : target$jscomp$0.push(\"\" + html));\n }\n \"string\" === typeof children$jscomp$8 && \"\\n\" === children$jscomp$8[0] && target$jscomp$0.push(\"\\n\");\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;\n if (!(\"lazy\" === props.loading || !src && !srcSet || \"string\" !== typeof src && null != src || \"string\" !== typeof srcSet && null != srcSet || \"low\" === props.fetchPriority || pictureOrNoScriptTagInScope) && (\"string\" !== typeof src || \":\" !== src[4] || \"d\" !== src[0] && \"D\" !== src[0] || \"a\" !== src[1] && \"A\" !== src[1] || \"t\" !== src[2] && \"T\" !== src[2] || \"a\" !== src[3] && \"A\" !== src[3]) && (\"string\" !== typeof srcSet || \":\" !== srcSet[4] || \"d\" !== srcSet[0] && \"D\" !== srcSet[0] || \"a\" !== srcSet[1] && \"A\" !== srcSet[1] || \"t\" !== srcSet[2] && \"T\" !== srcSet[2] || \"a\" !== srcSet[3] && \"A\" !== srcSet[3])) {\n null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size)\n promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input2 = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 = \"string\" === typeof input2 ? \"use-credentials\" === input2 ? input2 : \"\" : void 0;\n var headers = renderState.headers, header;\n headers && 0 < headers.remainingCapacity && \"string\" !== typeof props.srcSet && (\"high\" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n }), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += \", \"), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }), \"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\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 break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage3(545, \"`<head>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--head-->\");\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage3(545, \"`<body>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--body-->\");\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage3(545, \"`<html>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--html-->\");\n preamble$jscomp$1.htmlChunks = [\"\"];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (isAttributeNameSafe(propKey$jscomp$11) && \"function\" !== typeof propValue$jscomp$11 && \"symbol\" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {\n if (true === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n \" \",\n attributeName,\n '=\"',\n escapeTextForBrowser(propValue$jscomp$11),\n '\"'\n );\n }\n }\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n }\n var endTagCache = /* @__PURE__ */ new Map();\n function endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && (chunk = \"</\" + tag + \">\", endTagCache.set(tag, chunk));\n return chunk;\n }\n function hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);\n }\n function writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n destination.push(renderState[i]);\n return i < renderState.length ? (i = renderState[i], renderState.length = 0, destination.push(i)) : true;\n }\n function writeStartPendingSuspenseBoundary(destination, renderState, id) {\n destination.push('<!--$?--><template id=\"');\n if (null === id) throw Error(formatProdErrorMessage3(395));\n destination.push(renderState.boundaryPrefix);\n renderState = id.toString(16);\n destination.push(renderState);\n return destination.push('\"></template>');\n }\n function writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return destination.push('<div hidden id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 4:\n return destination.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 5:\n return destination.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 6:\n return destination.push('<table hidden id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 7:\n return destination.push('<table hidden><tbody id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 8:\n return destination.push('<table hidden><tr id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 9:\n return destination.push('<table hidden><colgroup id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n function writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return destination.push(\"</div>\");\n case 4:\n return destination.push(\"</svg>\");\n case 5:\n return destination.push(\"</math>\");\n case 6:\n return destination.push(\"</table>\");\n case 7:\n return destination.push(\"</tbody></table>\");\n case 8:\n return destination.push(\"</tr></table>\");\n case 9:\n return destination.push(\"</colgroup></table>\");\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n var regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\n function escapeJSStringsForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInInstructionScripts,\n function(match2) {\n switch (match2) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\n function escapeJSObjectForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInScripts,\n function(match2) {\n switch (match2) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var currentlyRenderingBoundaryHasStylesToHoist = false;\n var destinationHasCapacity = true;\n function flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;\n if (hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' media=\"not all\" data-precedence=\"');\n this.push(styleQueue.precedence);\n for (this.push('\" data-href=\"'); i < hrefs.length - 1; i++)\n this.push(hrefs[i]), this.push(\" \");\n this.push(hrefs[i]);\n this.push('\">');\n for (i = 0; i < rules.length; i++) this.push(rules[i]);\n destinationHasCapacity = this.push(\"</style>\");\n currentlyRenderingBoundaryHasStylesToHoist = true;\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;\n }\n function writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = false;\n destinationHasCapacity = true;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);\n return destinationHasCapacity;\n }\n function flushResource(resource) {\n for (var i = 0; i < resource.length; i++) this.push(resource[i]);\n resource.length = 0;\n }\n var stylesheetFlushingQueue = [];\n function flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n this.push(stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n }\n function flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' data-precedence=\"');\n this.push(styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (this.push('\" data-href=\"'); styleQueue < hrefs.length - 1; styleQueue++)\n this.push(hrefs[styleQueue]), this.push(\" \");\n this.push(hrefs[styleQueue]);\n }\n this.push('\">');\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n this.push(rules[styleQueue]);\n this.push(\"</style>\");\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++)\n this.push(stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n }\n function preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n }\n function pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(\n ' id=\"',\n escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\"),\n '\"'\n ));\n }\n function writeStyleResourceDependenciesInJS(destination, hoistableState) {\n destination.push(\"[\");\n var nextArrayOpenBrackChunk = \"[\";\n hoistableState.stylesheets.forEach(function(resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n destination.push(nextArrayOpenBrackChunk), resource = escapeJSObjectForInstructionScripts(\n \"\" + resource.props.href\n ), destination.push(resource), destination.push(\"]\"), nextArrayOpenBrackChunk = \",[\";\n else {\n destination.push(nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"], props = resource.props, coercedHref = sanitizeURL(\"\" + resource.props.href);\n coercedHref = escapeJSObjectForInstructionScripts(coercedHref);\n destination.push(coercedHref);\n precedence = \"\" + precedence;\n destination.push(\",\");\n precedence = escapeJSObjectForInstructionScripts(precedence);\n destination.push(precedence);\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence))\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n destination.push(\"]\");\n nextArrayOpenBrackChunk = \",[\";\n resource.state = 3;\n }\n });\n destination.push(\"]\");\n }\n function writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (false === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (2 < name.length && (\"o\" === name[0] || \"O\" === name[0]) && (\"n\" === name[1] || \"N\" === name[1]) || !isAttributeNameSafe(name))\n return;\n name = \"\" + value;\n }\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(attributeName);\n destination.push(attributeName);\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(name);\n destination.push(attributeName);\n }\n function createHoistableState() {\n return { styles: /* @__PURE__ */ new Set(), stylesheets: /* @__PURE__ */ new Set(), suspenseyImages: false };\n }\n function prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity)\n JSCompiler_temp = (header = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=dns-prefetch\", 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, { href, rel: \"dns-prefetch\" }), renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n }\n function preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket = \"use-credentials\" === crossOrigin ? \"credentials\" : \"string\" === typeof crossOrigin ? \"anonymous\" : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {\n JSCompiler_temp = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href,\n crossOrigin\n }), renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n }\n function preload(href, as, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options2) {\n var imageSrcSet = options2.imageSrcSet;\n var imageSizes = options2.imageSizes;\n var fetchPriority = options2.fetchPriority;\n }\n var key = imageSrcSet ? imageSrcSet + \"\\n\" + (imageSizes || \"\") : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState && 0 < resumableState.remainingCapacity && \"string\" !== typeof imageSrcSet && \"high\" === fetchPriority && (header = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += \", \"), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(\n resumableState,\n assign2(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as },\n options2\n )\n ), \"high\" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.styleResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.scriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href))\n return;\n } else\n imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && \"font\" === as && (key = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= key.length + 2)))\n renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += \", \"), resumableState.fontPreloads += key;\n else\n switch (resumableState = [], href = assign2({ rel: \"preload\", href, as }, options2), pushLinkImpl(resumableState, href), as) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options2);\n }\n function preloadModule(href, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n var as = options2 && \"string\" === typeof options2.as ? options2.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n resources = {}, resumableState.moduleUnknownResources[as] = resources;\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign2({ rel: \"modulepreload\", href }, options2));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options2);\n }\n function preinitStyle(href, precedence, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue)), precedence = {\n state: 0,\n props: assign2(\n { rel: \"stylesheet\", href, \"data-precedence\": precedence },\n options2\n )\n }, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options2);\n }\n function preinitScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;\n null !== resourceState && (resumableState.scriptResources[src] = null, options2 = assign2({ src, async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options2);\n }\n function preinitModuleScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n ) ? resumableState.moduleScriptResources[src] : void 0;\n null !== resourceState && (resumableState.moduleScriptResources[src] = null, options2 = assign2({ src, type: \"module\", async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options2);\n }\n function adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n }\n function getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) && (href = params[paramName], \"string\" === typeof href && (as += \"; \" + paramName.toLowerCase() + '=\"' + (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) + '\"'));\n return as;\n }\n var regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\n function escapeHrefForLinkHeaderURLContextReplacer(match2) {\n switch (match2) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n var regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\n function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match2) {\n switch (match2) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n function hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n }\n function hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n }\n function hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = true);\n }\n function createRenderState(resumableState, generateStaticMarkup) {\n var idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent && (bootstrapChunks.push(\"<script\"), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n \">\",\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer),\n \"<\\/script>\"\n ));\n bootstrapScriptContent = idPrefix + \"P:\";\n var JSCompiler_object_inline_segmentPrefix_1673 = idPrefix + \"S:\";\n idPrefix += \"B:\";\n var JSCompiler_object_inline_preconnects_1687 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_fontPreloads_1688 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_highImagePreloads_1689 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_styles_1690 = /* @__PURE__ */ new Map(), JSCompiler_object_inline_bootstrapScripts_1691 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_scripts_1692 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_bulkPreloads_1693 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_preloads_1694 = {\n images: /* @__PURE__ */ new Map(),\n stylesheets: /* @__PURE__ */ new Map(),\n scripts: /* @__PURE__ */ new Map(),\n moduleScripts: /* @__PURE__ */ new Map()\n };\n if (void 0 !== bootstrapScripts)\n for (var i = 0; i < bootstrapScripts.length; i++) {\n var scriptConfig = bootstrapScripts[i], src, crossOrigin = void 0, integrity = void 0, props = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce: void 0\n };\n \"string\" === typeof scriptConfig ? props.href = src = scriptConfig : (props.href = src = scriptConfig.src, props.integrity = integrity = \"string\" === typeof scriptConfig.integrity ? scriptConfig.integrity : void 0, props.crossOrigin = crossOrigin = \"string\" === typeof scriptConfig || null == scriptConfig.crossOrigin ? void 0 : \"use-credentials\" === scriptConfig.crossOrigin ? \"use-credentials\" : \"\");\n scriptConfig = resumableState;\n var href = src;\n scriptConfig.scriptResources[href] = null;\n scriptConfig.moduleScriptResources[href] = null;\n scriptConfig = [];\n pushLinkImpl(scriptConfig, props);\n JSCompiler_object_inline_bootstrapScripts_1691.add(scriptConfig);\n bootstrapChunks.push('<script src=\"', escapeTextForBrowser(src), '\"');\n \"string\" === typeof integrity && bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(integrity),\n '\"'\n );\n \"string\" === typeof crossOrigin && bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n );\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState);\n bootstrapChunks.push(' async=\"\"><\\/script>');\n }\n if (void 0 !== bootstrapModules)\n for (bootstrapScripts = 0; bootstrapScripts < bootstrapModules.length; bootstrapScripts++)\n props = bootstrapModules[bootstrapScripts], crossOrigin = src = void 0, integrity = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: void 0\n }, \"string\" === typeof props ? integrity.href = i = props : (integrity.href = i = props.src, integrity.integrity = crossOrigin = \"string\" === typeof props.integrity ? props.integrity : void 0, integrity.crossOrigin = src = \"string\" === typeof props || null == props.crossOrigin ? void 0 : \"use-credentials\" === props.crossOrigin ? \"use-credentials\" : \"\"), props = resumableState, scriptConfig = i, props.scriptResources[scriptConfig] = null, props.moduleScriptResources[scriptConfig] = null, props = [], pushLinkImpl(props, integrity), JSCompiler_object_inline_bootstrapScripts_1691.add(props), bootstrapChunks.push(\n '<script type=\"module\" src=\"',\n escapeTextForBrowser(i),\n '\"'\n ), \"string\" === typeof crossOrigin && bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n ), \"string\" === typeof src && bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(src),\n '\"'\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(' async=\"\"><\\/script>');\n return {\n placeholderPrefix: bootstrapScriptContent,\n segmentPrefix: JSCompiler_object_inline_segmentPrefix_1673,\n boundaryPrefix: idPrefix,\n startInlineScript: \"<script\",\n startInlineStyle: \"<style\",\n preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },\n externalRuntimeScript: null,\n bootstrapChunks,\n importMapChunks: [],\n onHeaders: void 0,\n headers: null,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: JSCompiler_object_inline_preconnects_1687,\n fontPreloads: JSCompiler_object_inline_fontPreloads_1688,\n highImagePreloads: JSCompiler_object_inline_highImagePreloads_1689,\n styles: JSCompiler_object_inline_styles_1690,\n bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1691,\n scripts: JSCompiler_object_inline_scripts_1692,\n bulkPreloads: JSCompiler_object_inline_bulkPreloads_1693,\n preloads: JSCompiler_object_inline_preloads_1694,\n nonce: { script: void 0, style: void 0 },\n stylesToHoist: false,\n generateStaticMarkup\n };\n }\n function pushTextInstance(target, text, renderState, textEmbedded) {\n if (renderState.generateStaticMarkup)\n return target.push(escapeTextForBrowser(text)), false;\n \"\" === text ? target = textEmbedded : (textEmbedded && target.push(\"<!-- -->\"), target.push(escapeTextForBrowser(text)), target = true);\n return target;\n }\n function pushSegmentFinale(target, renderState, lastPushedText, textEmbedded) {\n renderState.generateStaticMarkup || lastPushedText && textEmbedded && target.push(\"<!-- -->\");\n }\n var bind = Function.prototype.bind;\n var REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for(\"react.client.reference\");\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE ? null : 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_TYPE2:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE2:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x2) {\n }\n }\n return null;\n }\n var emptyContextObject = {};\n var currentActiveSnapshot = null;\n function popToNearestCommonAncestor(prev, next2) {\n if (prev !== next2) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n var parentNext = next2.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage3(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage3(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next2.context._currentValue2 = next2.value;\n }\n }\n function popAllPrevious(prev) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n }\n function pushAllNext(next2) {\n var parentNext = next2.parent;\n null !== parentNext && pushAllNext(parentNext);\n next2.context._currentValue2 = next2.value;\n }\n function popPreviousToCommonLevel(prev, next2) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage3(402));\n prev.depth === next2.depth ? popToNearestCommonAncestor(prev, next2) : popPreviousToCommonLevel(prev, next2);\n }\n function popNextToCommonLevel(prev, next2) {\n var parentNext = next2.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage3(402));\n prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);\n next2.context._currentValue2 = next2.value;\n }\n function switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);\n }\n var classComponentUpdater = {\n enqueueSetState: function(inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function(inst, payload) {\n inst = inst._reactInternals;\n inst.replace = true;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function() {\n }\n };\n var emptyTreeContext = { id: 1, overflow: \"\" };\n function pushTreeContext(baseContext, totalChildren, index2) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index2 += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - baseLength % 5;\n length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id: 1 << 32 - clz32(totalChildren) + baseLength | index2 << baseLength | baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: 1 << length | index2 << baseLength | baseIdWithLeadingBit,\n overflow: baseContext\n };\n }\n var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback;\n var log2 = Math.log;\n var LN2 = Math.LN2;\n function clz32Fallback(x2) {\n x2 >>>= 0;\n return 0 === x2 ? 32 : 31 - (log2(x2) / LN2 | 0) | 0;\n }\n function noop7() {\n }\n var SuspenseException = Error(formatProdErrorMessage3(460));\n function trackUsedThenable(thenableState2, thenable, index2) {\n index2 = thenableState2[index2];\n void 0 === index2 ? thenableState2.push(thenable) : index2 !== thenable && (thenable.then(noop7, noop7), thenable = index2);\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenableState2 = thenable, thenableState2.status = \"pending\", thenableState2.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 switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n var suspendedThenable = null;\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage3(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var currentlyRenderingComponent = null;\n var currentlyRenderingTask = null;\n var currentlyRenderingRequest = null;\n var currentlyRenderingKeyPath = null;\n var firstWorkInProgressHook = null;\n var workInProgressHook = null;\n var isReRender = false;\n var didScheduleRenderPhaseUpdate = false;\n var localIdCounter = 0;\n var actionStateCounter = 0;\n var actionStateMatchingIndex = -1;\n var thenableIndexCounter = 0;\n var thenableState = null;\n var renderPhaseUpdates = null;\n var numberOfReRenders = 0;\n function resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage3(321));\n return currentlyRenderingComponent;\n }\n function createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage3(312));\n return { memoizedState: null, queue: null, next: null };\n }\n function createWorkInProgressHook() {\n null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);\n return workInProgressHook;\n }\n function getThenableStateAfterSuspending() {\n var state2 = thenableState;\n thenableState = null;\n return state2;\n }\n function resetHooksState() {\n currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;\n didScheduleRenderPhaseUpdate = false;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n }\n function basicStateReducer(state2, action) {\n return \"function\" === typeof action ? action(state2) : action;\n }\n function useReducer4(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (null !== renderPhaseUpdates && (init = renderPhaseUpdates.get(queue), void 0 !== init)) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do\n queue = reducer(queue, init.action), init = init.next;\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer = reducer === basicStateReducer ? \"function\" === typeof initialArg ? initialArg() : initialArg : void 0 !== init ? init(initialArg) : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n }\n function useMemo32(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = false;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = false;\n break a;\n }\n prevDeps = true;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n }\n function dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage3(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (didScheduleRenderPhaseUpdate = true, componentIdentity = { action, next: null }, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action)\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n }\n function throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage3(440));\n }\n function unsupportedStartTransition() {\n throw Error(formatProdErrorMessage3(394));\n }\n function unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage3(479));\n }\n function useActionState(action, initialState15, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n ), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState15 = request[0]));\n }\n var boundAction = action.bind(null, initialState15);\n action = function(payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {\n prefix3 = boundAction.$$FORM_ACTION(prefix3);\n void 0 !== permalink && (permalink += \"\", prefix3.action = permalink);\n var formData = prefix3.data;\n formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )), formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix3;\n });\n return [initialState15, action, false];\n }\n var boundAction$22 = action.bind(null, initialState15);\n return [\n initialState15,\n function(payload) {\n boundAction$22(payload);\n },\n false\n ];\n }\n function unwrapThenable(thenable) {\n var index2 = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index2);\n }\n function unsupportedRefresh() {\n throw Error(formatProdErrorMessage3(393));\n }\n var HooksDispatcher = {\n readContext: function(context) {\n return context._currentValue2;\n },\n use: function(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE)\n return usable._currentValue2;\n }\n throw Error(formatProdErrorMessage3(438, String(usable)));\n },\n useContext: function(context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue2;\n },\n useMemo: useMemo32,\n useReducer: useReducer4,\n useRef: function(initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef ? (initialValue = { current: initialValue }, workInProgressHook.memoizedState = initialValue) : previousRef;\n },\n useState: function(initialState15) {\n return useReducer4(basicStateReducer, initialState15);\n },\n useInsertionEffect: noop7,\n useLayoutEffect: noop7,\n useCallback: function(callback, deps) {\n return useMemo32(function() {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop7,\n useEffect: noop7,\n useDebugValue: noop7,\n useDeferredValue: function(value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function() {\n resolveCurrentlyRenderingComponent();\n return [false, unsupportedStartTransition];\n },\n useId: function() {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage3(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result = \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage3(407));\n return getServerSnapshot();\n },\n useOptimistic: function(passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function() {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function(size4) {\n for (var data = Array(size4), i = 0; i < size4; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function() {\n return unsupportedRefresh;\n },\n useEffectEvent: function() {\n return throwOnUseEffectEventCall;\n }\n };\n var currentResumableState = null;\n var DefaultAsyncDispatcher = {\n getCacheForType: function() {\n throw Error(formatProdErrorMessage3(248));\n },\n cacheSignal: function() {\n throw Error(formatProdErrorMessage3(248));\n }\n };\n var prefix2;\n var suffix2;\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix2)\n try {\n throw Error();\n } catch (x2) {\n var match2 = x2.stack.trim().match(/\\n( *(at )?)/);\n prefix2 = match2 && match2[1] || \"\";\n suffix2 = -1 < x2.stack.indexOf(\"\\n at\") ? \" (<anonymous>)\" : -1 < x2.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix2 + name + suffix2;\n }\n var reentry = false;\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = true;\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 (x2) {\n var control = x2;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function() {\n });\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 = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"), controlLines = controlStack.split(\"\\n\");\n for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\"); )\n RunInRootFrame++;\n for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n ); )\n namePropDescriptor++;\n if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length)\n for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; )\n namePropDescriptor--;\n for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--)\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n var frame = \"\\n\" + sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName && frame.includes(\"<anonymous>\") && (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 = false, Error.prepareStackTrace = previousPrepareStackTrace;\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : \"\";\n }\n function describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n return describeNativeComponentFrame(type.render, false);\n case REACT_MEMO_TYPE2:\n return describeNativeComponentFrame(type.type, false);\n case REACT_LAZY_TYPE:\n var lazyComponent = type, payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x2) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = void 0, location = location.stack, Error.prepareStackTrace = type, location.startsWith(\"Error: react-stack-top-frame\\n\") && (location = location.slice(29)), type = location.indexOf(\"\\n\"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf(\"react_stack_bottom_frame\"), -1 !== type && (type = location.lastIndexOf(\"\\n\", type)), type = -1 !== type ? location = location.slice(0, type) : \"\", location = type.lastIndexOf(\"\\n\"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n }\n function isEligibleForOutlining(request, boundary) {\n return (500 < boundary.byteSize || false) && null === boundary.contentPreamble;\n }\n function defaultErrorHandler2(error) {\n if (\"object\" === typeof error && null !== error && \"string\" === typeof error.environmentName) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0] ? error.splice(\n 0,\n 1,\n \"[%s] \" + error[0],\n \" \" + JSCompiler_inline_result + \" \"\n ) : error.splice(0, 0, \"[%s]\", \" \" + JSCompiler_inline_result + \" \");\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n }\n function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n var abortSet = /* @__PURE__ */ new Set();\n this.destination = null;\n this.flushScheduled = false;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError2 ? defaultErrorHandler2 : onError2;\n this.onPostpone = void 0 === onPostpone ? noop7 : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop7 : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop7 : onShellReady;\n this.onShellError = void 0 === onShellError ? noop7 : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop7 : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n }\n function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError2,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n false,\n false\n );\n renderState.parentFlushed = true;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n }\n var currentRequest = null;\n function pingTask(request, task2) {\n request.pingedTasks.push(task2);\n 1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, performWork(request));\n }\n function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: false,\n pendingTasks: 0,\n row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble,\n fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n }\n function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task2 = {\n replay: null,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task2 = {\n replay,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createPendingSegment(request, index2, boundary, parentFormatContext, lastPushedText, textEmbedded) {\n return {\n status: 0,\n parentFlushed: false,\n id: -1,\n index: index2,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext,\n boundary,\n lastPushedText,\n textEmbedded\n };\n }\n function pushComponentStack(task2) {\n var node = task2.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task2.componentStack = { parent: task2.componentStack, type: node.type };\n }\n }\n function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {\n return null === componentStack ? null : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n }\n function getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 && Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: true,\n enumerable: true,\n get: function() {\n try {\n var info = \"\", node = node$jscomp$0;\n do\n info += describeComponentStackByType(node.type), node = node.parent;\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x2) {\n JSCompiler_inline_result = \"\\nError generating stack: \" + x2.message + \"\\n\" + x2.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n }\n function logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n }\n function fatalError(request, error) {\n var onShellError = request.onShellError, onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination ? (request.status = 14, request.destination.destroy(error)) : (request.status = 13, request.fatalError = error);\n }\n function finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n }\n function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n }\n function tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {\n allCompleteAndInlinable = false;\n break;\n }\n }\n allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n }\n function createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: false,\n next: null\n };\n null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);\n return newRow;\n }\n function renderSuspenseListRows(request, task2, keyPath, rows, revealOrder) {\n var prevKeyPath = task2.keyPath, prevTreeContext = task2.treeContext, prevRow = task2.row;\n task2.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task2.replay) {\n var resumeSlots = task2.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID ? (resumeNode(request, task2, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task2, node, i);\n 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n n = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task2, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder)\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n resumeSlots = rows[revealOrder], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n ), renderNode(request, task2, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task2.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task2.formatContext,\n 0 === i ? revealOrder.lastPushedText : true,\n true\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task2.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task2, node, i), pushSegmentFinale(\n resumeSegmentID.chunks,\n request.renderState,\n resumeSegmentID.lastPushedText,\n resumeSegmentID.textEmbedded\n ), resumeSegmentID.status = 1, 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;\n }\n }\n task2.blockedSegment = revealOrder;\n revealOrder.lastPushedText = false;\n }\n null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);\n task2.treeContext = prevTreeContext;\n task2.row = prevRow;\n task2.keyPath = prevKeyPath;\n }\n function renderWithHooks(request, task2, keyPath, Component2, props, secondArg) {\n var prevThenableState = task2.thenableState;\n task2.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task2;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component2(props, secondArg); didScheduleRenderPhaseUpdate; )\n didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component2(props, secondArg);\n resetHooksState();\n return request;\n }\n function finishFunctionComponent(request, task2, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {\n var didEmitActionStateMarkers = false;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task2.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = true;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex2 ? segment.push(\"<!--F!-->\") : segment.push(\"<!--F-->\");\n }\n }\n actionStateCount = task2.keyPath;\n task2.keyPath = keyPath;\n hasId ? (keyPath = task2.treeContext, task2.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task2, children, -1), task2.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task2, children, -1) : renderNodeDestructive(request, task2, children, -1);\n task2.keyPath = actionStateCount;\n }\n function renderElement(request, task2, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps2 = type.defaultProps;\n if (defaultProps2) {\n newProps === props && (newProps = assign2({}, newProps, props));\n for (var propName$43 in defaultProps2)\n void 0 === newProps[propName$43] && (newProps[propName$43] = defaultProps2[propName$43]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps2 = type.contextType;\n \"object\" === typeof defaultProps2 && null !== defaultProps2 && (newProps = defaultProps2._currentValue2);\n newProps = new type(props, newProps);\n var initialState15 = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState15;\n defaultProps2 = { queue: [], replace: false };\n newProps._reactInternals = defaultProps2;\n ref = type.contextType;\n newProps.context = \"object\" === typeof ref && null !== ref ? ref._currentValue2 : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref && (ref = ref(props, initialState15), initialState15 = null === ref || void 0 === ref ? initialState15 : assign2({}, initialState15, ref), newProps.state = initialState15);\n if (\"function\" !== typeof type.getDerivedStateFromProps && \"function\" !== typeof newProps.getSnapshotBeforeUpdate && (\"function\" === typeof newProps.UNSAFE_componentWillMount || \"function\" === typeof newProps.componentWillMount))\n if (type = newProps.state, \"function\" === typeof newProps.componentWillMount && newProps.componentWillMount(), \"function\" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ), null !== defaultProps2.queue && 0 < defaultProps2.queue.length)\n if (type = defaultProps2.queue, ref = defaultProps2.replace, defaultProps2.queue = null, defaultProps2.replace = false, ref && 1 === type.length)\n newProps.state = type[0];\n else {\n defaultProps2 = ref ? type[0] : newProps.state;\n initialState15 = true;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n propName$43 = type[ref], propName$43 = \"function\" === typeof propName$43 ? propName$43.call(newProps, defaultProps2, props, void 0) : propName$43, null != propName$43 && (initialState15 ? (initialState15 = false, defaultProps2 = assign2({}, defaultProps2, propName$43)) : assign2(defaultProps2, propName$43));\n newProps.state = defaultProps2;\n }\n else defaultProps2.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n } else {\n type = renderWithHooks(request, task2, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (newProps = task2.blockedSegment, null === newProps)\n newProps = props.children, defaultProps2 = task2.formatContext, initialState15 = task2.keyPath, task2.formatContext = getChildFormatContext(defaultProps2, type, props), task2.keyPath = keyPath, renderNode(request, task2, newProps, -1), task2.formatContext = defaultProps2, task2.keyPath = initialState15;\n else {\n initialState15 = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = false;\n defaultProps2 = task2.formatContext;\n ref = task2.keyPath;\n task2.keyPath = keyPath;\n if (3 === (task2.formatContext = getChildFormatContext(defaultProps2, type, props)).insertionMode) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n newProps.preambleChildren.push(keyPath);\n task2.blockedSegment = keyPath;\n try {\n keyPath.status = 6, renderNode(request, task2, initialState15, -1), pushSegmentFinale(\n keyPath.chunks,\n request.renderState,\n keyPath.lastPushedText,\n keyPath.textEmbedded\n ), keyPath.status = 1;\n } finally {\n task2.blockedSegment = newProps;\n }\n } else renderNode(request, task2, initialState15, -1);\n task2.formatContext = defaultProps2;\n task2.keyPath = ref;\n a: {\n task2 = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps2.insertionMode) {\n request.hasBody = true;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps2.insertionMode) {\n request.hasHtml = true;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps2.insertionMode) break a;\n }\n task2.push(endChunkForTag(type));\n }\n newProps.lastPushedText = false;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, props.children, -1);\n task2.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task2.blockedSegment;\n null === type ? \"hidden\" !== props.mode && (type = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = type) : \"hidden\" !== props.mode && (request.renderState.generateStaticMarkup || type.chunks.push(\"<!--&-->\"), type.lastPushedText = false, newProps = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = newProps, request.renderState.generateStaticMarkup || type.chunks.push(\"<!--/&-->\"), type.lastPushedText = false);\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\"forwards\" === props || \"backwards\" === props || \"unstable_legacy-backwards\" === props) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task2, keyPath, type, props);\n break a;\n }\n if (newProps = getIteratorFn(type)) {\n if (newProps = newProps.call(type)) {\n defaultProps2 = newProps.next();\n if (!defaultProps2.done) {\n do\n defaultProps2 = newProps.next();\n while (!defaultProps2.done);\n renderSuspenseListRows(request, task2, keyPath, type, props);\n }\n break a;\n }\n }\n }\n \"together\" === props ? (props = task2.keyPath, newProps = task2.row, defaultProps2 = task2.row = createSuspenseListRow(null), defaultProps2.boundaries = [], defaultProps2.together = true, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), 0 === --defaultProps2.pendingTasks && finishSuspenseListRow(request, defaultProps2), task2.keyPath = props, task2.row = newProps, null !== newProps && 0 < defaultProps2.pendingTasks && (newProps.pendingTasks++, defaultProps2.next = newProps)) : (props = task2.keyPath, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), task2.keyPath = props);\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage3(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task2.replay) {\n type = task2.keyPath;\n newProps = task2.formatContext;\n defaultProps2 = task2.row;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task2.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task2, keyPath, -1);\n } finally {\n task2.keyPath = type, task2.formatContext = newProps, task2.row = defaultProps2;\n }\n } else {\n type = task2.keyPath;\n ref = task2.formatContext;\n var prevRow = task2.row, parentBoundary = task2.blockedBoundary;\n propName$43 = task2.blockedPreamble;\n var parentHoistableState = task2.hoistableState;\n propName = task2.blockedSegment;\n var fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = /* @__PURE__ */ new Set();\n var newBoundary = createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n propName.chunks.length,\n newBoundary,\n task2.formatContext,\n false,\n false\n );\n propName.children.push(boundarySegment);\n propName.lastPushedText = false;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n contentRootSegment.parentFlushed = true;\n if (null !== request.trackedPostpones) {\n newProps = task2.componentStack;\n defaultProps2 = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState15 = [defaultProps2[1], defaultProps2[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps2, initialState15);\n newBoundary.trackedFallbackNode = initialState15;\n task2.blockedSegment = boundarySegment;\n task2.blockedPreamble = newBoundary.fallbackPreamble;\n task2.keyPath = defaultProps2;\n task2.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task2.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task2, fallback, -1), pushSegmentFinale(\n boundarySegment.chunks,\n request.renderState,\n boundarySegment.lastPushedText,\n boundarySegment.textEmbedded\n ), boundarySegment.status = 1;\n } catch (thrownValue) {\n throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;\n } finally {\n task2.blockedSegment = propName, task2.blockedPreamble = propName$43, task2.keyPath = type, task2.formatContext = ref;\n }\n task2 = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task2.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n null,\n newProps\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n } else {\n task2.blockedBoundary = newBoundary;\n task2.blockedPreamble = newBoundary.contentPreamble;\n task2.hoistableState = newBoundary.contentState;\n task2.blockedSegment = contentRootSegment;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task2.row = null;\n contentRootSegment.status = 6;\n try {\n if (renderNode(request, task2, props, -1), pushSegmentFinale(\n contentRootSegment.chunks,\n request.renderState,\n contentRootSegment.lastPushedText,\n contentRootSegment.textEmbedded\n ), contentRootSegment.status = 1, queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {\n if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {\n null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks && task2.blockedPreamble && preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$30) {\n newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$30), defaultProps2 = getThrownInfo(task2.componentStack), initialState15 = logRecoverableError(\n request,\n newProps,\n defaultProps2\n ), newBoundary.errorDigest = initialState15, untrackBoundary(request, newBoundary);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.blockedPreamble = propName$43, task2.hoistableState = parentHoistableState, task2.blockedSegment = propName, task2.keyPath = type, task2.formatContext = ref, task2.row = prevRow;\n }\n task2 = createRenderTask(\n request,\n null,\n fallback,\n -1,\n parentBoundary,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n if (\"ref\" in props)\n for (fallback in newProps = {}, props)\n \"ref\" !== fallback && (newProps[fallback] = props[fallback]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task2,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE2:\n renderElement(request, task2, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps2 = props.children;\n newProps = task2.keyPath;\n props = props.value;\n initialState15 = type._currentValue2;\n type._currentValue2 = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState15,\n value: props\n };\n task2.context = type;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, defaultProps2, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage3(403));\n request.context._currentValue2 = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task2.context = request;\n task2.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue2);\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task2, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage3(130, null == type ? type : typeof type, \"\")\n );\n }\n }\n function resumeNode(request, task2, segmentId, node, childIndex) {\n var prevReplay = task2.replay, blockedBoundary = task2.blockedBoundary, resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = true;\n try {\n task2.replay = null, task2.blockedSegment = resumedSegment, renderNode(request, task2, node, childIndex), resumedSegment.status = 1, null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));\n } finally {\n task2.replay = prevReplay, task2.blockedSegment = null;\n }\n }\n function renderNodeDestructive(request, task2, node, childIndex) {\n null !== task2.replay && \"number\" === typeof task2.replay.slots ? resumeNode(request, task2, task2.replay.slots, node, childIndex) : (task2.node = node, task2.childIndex = childIndex, node = task2.componentStack, pushComponentStack(task2), retryNode(request, task2), task2.componentStack = node);\n }\n function retryNode(request, task2) {\n var node = task2.node, childIndex = task2.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type, key = node.key, props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;\n key = [task2.keyPath, name, keyOrIndex];\n if (null !== task2.replay)\n a: {\n var replay = task2.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage3(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task2.node;\n task2.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task2, key, type, props, ref);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw task2.node === keyOrIndex ? task2.replay = replay : childIndex.splice(node, 1), x2;\n task2.replay.pendingTasks--;\n props = getThrownInfo(task2.componentStack);\n key = request;\n request = task2.blockedBoundary;\n type = x2;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task2.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage3(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task2.keyPath, prevContext = task2.formatContext, prevRow = task2.row, previousReplaySet = task2.replay, parentBoundary = task2.blockedBoundary, parentHoistableState = task2.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();\n props = createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = true;\n props.rootSegmentID = type;\n task2.blockedBoundary = props;\n task2.hoistableState = props.contentState;\n task2.keyPath = key;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task2.row = null;\n task2.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task2, content, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n props.status = 4, childNodes = getThrownInfo(task2.componentStack), replay = logRecoverableError(\n request,\n error,\n childNodes\n ), props.errorDigest = replay, task2.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.hoistableState = parentHoistableState, task2.replay = previousReplaySet, task2.keyPath = prevKeyPath, task2.formatContext = prevContext, task2.row = prevRow;\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task2, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage3(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task2, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task2, node, childIndex);\n return;\n }\n if (childNodes = getIteratorFn(node)) {\n if (childNodes = childNodes.call(node)) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do\n props.push(node.value), node = childNodes.next();\n while (!node.done);\n renderChildrenArray(request, task2, props, childIndex);\n }\n return;\n }\n }\n if (\"function\" === typeof node.then)\n return task2.thenableState = null, renderNodeDestructive(request, task2, unwrapThenable(node), childIndex);\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task2,\n node._currentValue2,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage3(\n 31,\n \"[object Object]\" === childIndex ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\" : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n }\n function renderChildrenArray(request, task2, children, childIndex) {\n var prevKeyPath = task2.keyPath;\n if (-1 !== childIndex && (task2.keyPath = [task2.keyPath, \"Fragment\", childIndex], null !== task2.replay)) {\n for (var replay = task2.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task2.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task2, children, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw x2;\n task2.replay.pendingTasks--;\n children = getThrownInfo(task2.componentStack);\n var boundary = task2.blockedBoundary, error = x2;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task2.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task2.keyPath = prevKeyPath;\n return;\n }\n replay = task2.treeContext;\n replayNodes = children.length;\n if (null !== task2.replay && (j = task2.replay.slots, null !== j && \"object\" === typeof j)) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n node = children[childIndex], task2.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], \"number\" === typeof boundary ? (resumeNode(request, task2, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task2, node, childIndex);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n childIndex = children[j], task2.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task2, childIndex, j);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n }\n function trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage3(486));\n var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n }\n function trackPostpone(request, trackedPostpones, task2, segment) {\n segment.status = 5;\n var keyPath = task2.keyPath, boundary = task2.blockedBoundary;\n if (null === boundary)\n segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (boundary.trackedContentKeyPath === keyPath && -1 === task2.childIndex) {\n -1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);\n if (-1 === task2.childIndex)\n null === keyPath ? trackedPostpones.rootSlots = segment.id : (task2 = trackedPostpones.workingMap.get(keyPath), void 0 === task2 ? (task2 = [keyPath[1], keyPath[2], [], segment.id], addToReplayParent(task2, keyPath[0], trackedPostpones)) : task2[3] = segment.id);\n else {\n if (null === keyPath)\n if (request = trackedPostpones.rootSlots, null === request)\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n }\n else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode)\n request = {}, boundaryNode = [keyPath[1], keyPath[2], [], request], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (request = boundaryNode[3], null === request)\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n request[task2.childIndex] = segment.id;\n }\n }\n }\n function untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));\n }\n function spawnNewSuspendedReplayTask(request, task2, thenableState2) {\n return createReplayTask(\n request,\n thenableState2,\n task2.replay,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function spawnNewSuspendedRenderTask(request, task2, thenableState2) {\n var segment = task2.blockedSegment, newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task2.formatContext,\n segment.lastPushedText,\n true\n );\n segment.children.push(newSegment);\n segment.lastPushedText = false;\n return createRenderTask(\n request,\n thenableState2,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n newSegment,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function renderNode(request, task2, node, childIndex) {\n var previousFormatContext = task2.formatContext, previousContext = task2.context, previousKeyPath = task2.keyPath, previousTreeContext = task2.treeContext, previousComponentStack = task2.componentStack, segment = task2.blockedSegment;\n if (null === segment) {\n segment = task2.replay;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue) {\n if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedReplayTask(request, task2, childIndex).ping;\n node.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n node = spawnNewSuspendedReplayTask(request, task2, node);\n request.pingedTasks.push(node);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length, chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue$62) {\n if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$62 === SuspenseException ? getSuspendedThenable() : thrownValue$62, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedRenderTask(request, task2, node).ping;\n segment.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;\n segment = spawnNewSuspendedRenderTask(request, task2, segment);\n request.pingedTasks.push(segment);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n }\n function abortTaskSoft(task2) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n null !== segment && (segment.status = 3, finishedTask(this, boundary, task2.row, segment));\n }\n function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(\n request,\n null,\n /* @__PURE__ */ new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = true;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage3(487));\n 4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index2 in slots) delete slots[index2];\n }\n }\n function abortTask(task2, request, error) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task2.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task2.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task2, segment), finishedTask(request, null, task2.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$63 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$63 && null !== segment)\n return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$63, task2, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task2.row, segment);\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task2 = task2.row;\n null !== task2 && 0 === --task2.pendingTasks && finishSuspenseListRow(request, task2);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n }\n function safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState, onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.fontPreloads);\n headers.highImagePreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.highImagePreloads);\n if (!shellComplete) {\n var queueIter = renderState.styles.values(), queueStep = queueIter.next();\n b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next())\n for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {\n var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += \", \"), linkHeader += header, renderState.resets.style[key] = \"string\" === typeof props.crossOrigin || \"string\" === typeof props.integrity ? [props.crossOrigin, props.integrity] : PRELOAD_NO_CREDS;\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n }\n function completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop7;\n request = request.onShellReady;\n request();\n }\n function completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n }\n function queueCompletedSegment(boundary, segment) {\n if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = true;\n 1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n }\n function finishedTask(request, boundary, row, segment) {\n null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage3(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if (boundary.pendingTasks--, 4 !== boundary.status)\n if (0 === boundary.pendingTasks)\n if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status)\n row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);\n else {\n if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment))\n for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n }\n function performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks, i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task2 = pingedTasks[i], request = request$jscomp$2, segment = task2.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task2.replay.pendingTasks) {\n switchContext(task2.context);\n try {\n \"number\" === typeof task2.replay.slots ? resumeNode(\n request$jscomp$0,\n task2,\n task2.replay.slots,\n task2.node,\n task2.childIndex\n ) : retryNode(request$jscomp$0, task2);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n finishedTask(\n request$jscomp$0,\n task2.blockedBoundary,\n task2.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x2 = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then) {\n var ping = task2.ping;\n x2.then(ping, ping);\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n } else {\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n var errorInfo = getThrownInfo(task2.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0, boundary = task2.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x2, replayNodes = task2.replay.nodes, resumeSlots = task2.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {\n request$jscomp$1.status = 6;\n switchContext(task2.context);\n var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task2), pushSegmentFinale(\n request$jscomp$1.chunks,\n request.renderState,\n request$jscomp$1.lastPushedText,\n request$jscomp$1.textEmbedded\n ), task2.abortSet.delete(task2), request$jscomp$1.status = 1, finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task2, request$jscomp$1);\n finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } else if (\"object\" === typeof x$jscomp$0 && null !== x$jscomp$0 && \"function\" === typeof x$jscomp$0.then) {\n request$jscomp$1.status = 0;\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n var ping$jscomp$0 = task2.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task2.blockedBoundary, row = task2.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);\n } finally {\n currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;\n }\n }\n }\n function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {\n segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = false, i = 0; i < segment.children.length; i++)\n pendingPreambles = preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n }\n function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return false;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage3(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return true;\n case 4:\n if (1 === segment.status)\n return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n default:\n return true;\n }\n }\n function preparePreamble(request) {\n if (request.completedRootSegment && null === request.completedPreambleSegments) {\n var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ), preamble = request.renderState.preamble;\n false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;\n }\n }\n function flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = true;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, destination.push('<template id=\"'), destination.push(request.placeholderPrefix), request = hoistableState.toString(16), destination.push(request), destination.push('\"></template>');\n case 1:\n segment.status = 2;\n var r2 = true, chunks = segment.chunks, chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r2 = segment[childIdx]; chunkIdx < r2.index; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n r2 = flushSegment(request, destination, r2, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n chunkIdx < chunks.length && (r2 = destination.push(chunks[chunkIdx]));\n return r2;\n case 3:\n return true;\n default:\n throw Error(formatProdErrorMessage3(390));\n }\n }\n var flushedByteSize = 0;\n function flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = true;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.renderState.generateStaticMarkup || (boundary = boundary.errorDigest, destination.push(\"<!--$!-->\"), destination.push(\"<template\"), boundary && (destination.push(' data-dgst=\"'), boundary = escapeTextForBrowser(boundary), destination.push(boundary), destination.push('\"')), destination.push(\"></template>\"));\n flushSubtree(request, destination, segment, hoistableState);\n request = request.renderState.generateStaticMarkup ? true : destination.push(\"<!--/$-->\");\n return request;\n }\n if (1 !== boundary.status)\n return 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState), destination.push(\"<!--/$-->\");\n if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && flushedByteSize + boundary.byteSize > request.progressiveChunkSize)\n return boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), flushSubtree(request, destination, segment, hoistableState), destination.push(\"<!--/$-->\");\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n request.renderState.generateStaticMarkup || destination.push(\"<!--$-->\");\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage3(391));\n flushSegment(request, destination, segment[0], hoistableState);\n request = request.renderState.generateStaticMarkup ? true : destination.push(\"<!--/$-->\");\n return request;\n }\n function flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n }\n function flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++)\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = false;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, destination.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n )), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, destination.push(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n )) : destination.push('$RR(\"')) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )), destination.push('$RC(\"'));\n completedSegments = i.toString(16);\n destination.push(request.boundaryPrefix);\n destination.push(completedSegments);\n destination.push('\",\"');\n destination.push(request.segmentPrefix);\n destination.push(completedSegments);\n requiresStyleInsertion ? (destination.push('\",'), writeStyleResourceDependenciesInJS(destination, boundary)) : destination.push('\"');\n boundary = destination.push(\")<\\/script>\");\n return writeBootstrap(destination, request) && boundary;\n }\n function flushPartiallyCompletedSegment(request, destination, boundary, segment) {\n if (2 === segment.status) return true;\n var hoistableState = boundary.contentState, segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage3(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n 0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, destination.push(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n )) : destination.push('$RS(\"');\n destination.push(request.segmentPrefix);\n segmentID = segmentID.toString(16);\n destination.push(segmentID);\n destination.push('\",\"');\n destination.push(request.placeholderPrefix);\n destination.push(segmentID);\n destination = destination.push('\")<\\/script>');\n return destination;\n }\n var flushingPartialBoundaries = false;\n function flushCompletedQueues(request, destination) {\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i, completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n destination.push(htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n else {\n var chunk = startChunkForTag(\"head\");\n destination.push(chunk);\n destination.push(\">\");\n }\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n destination.push(charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n destination.push(viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n destination.push(importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n resumableState.instructions |= 32;\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n destination.push(hoistableChunks[i$jscomp$0]);\n for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n if (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) {\n var chunk$jscomp$0 = endChunkForTag(\"head\");\n destination.push(chunk$jscomp$0);\n }\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++)\n destination.push(bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n destination.push(renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n destination.push(' id=\"');\n var chunk$jscomp$1 = escapeTextForBrowser(shellId);\n destination.push(chunk$jscomp$1);\n destination.push('\"');\n }\n destination.push(\">\");\n destination.push(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n );\n destination.push(\"<\\/script>\");\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++)\n destination.push(viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++)\n destination.push(hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;\n renderState$jscomp$1.push(renderState$jscomp$2.startInlineScript);\n renderState$jscomp$1.push(\">\");\n 0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, renderState$jscomp$1.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n )) : renderState$jscomp$1.push('$RX(\"');\n renderState$jscomp$1.push(renderState$jscomp$2.boundaryPrefix);\n var chunk$jscomp$2 = id.toString(16);\n renderState$jscomp$1.push(chunk$jscomp$2);\n renderState$jscomp$1.push('\"');\n if (errorDigest) {\n renderState$jscomp$1.push(\",\");\n var chunk$jscomp$3 = escapeJSStringsForInstructionScripts(\n errorDigest || \"\"\n );\n renderState$jscomp$1.push(chunk$jscomp$3);\n }\n var JSCompiler_inline_result = renderState$jscomp$1.push(\")<\\/script>\");\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n flushingPartialBoundaries = true;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$69 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$69.byteSize;\n var completedSegments = boundary$69.completedSegments;\n for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++)\n if (!flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$69,\n completedSegments[JSCompiler_inline_result]\n )) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = false;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$69.row;\n null !== row && row.together && 1 === boundary$69.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n ) : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$69.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = false;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length && (request.flushScheduled = false, i = request.resumableState, i.hasBody && (partialBoundaries = endChunkForTag(\"body\"), destination.push(partialBoundaries)), i.hasHtml && (i = endChunkForTag(\"html\"), destination.push(i)), request.status = 14, destination.push(null), request.destination = null);\n }\n }\n function enqueueFlush(request) {\n if (false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination) {\n request.flushScheduled = true;\n var destination = request.destination;\n destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;\n }\n }\n function startFlowing(request, destination) {\n if (13 === request.status)\n request.status = 14, destination.destroy(request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n }\n function abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error = void 0 === reason ? Error(formatProdErrorMessage3(432)) : \"object\" === typeof reason && null !== reason && \"function\" === typeof reason.then ? Error(formatProdErrorMessage3(530)) : reason;\n request.fatalError = error;\n abortableTasks.forEach(function(task2) {\n return abortTask(task2, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination && flushCompletedQueues(request, request.destination);\n } catch (error$71) {\n logRecoverableError(request, error$71, {}), fatalError(request, error$71);\n }\n }\n function addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode && (parentNode = [parentKeyPath[1], parentKeyPath[2], [], null], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n }\n function onError() {\n }\n function renderToStringImpl(children, options2, generateStaticMarkup, abortReason) {\n var didFatal = false, fatalError2 = null, result = \"\", readyToStream = false;\n options2 = createResumableState(options2 ? options2.identifierPrefix : void 0);\n children = createRequest(\n children,\n options2,\n createRenderState(options2, generateStaticMarkup),\n createFormatContext(0, null, 0, null),\n Infinity,\n onError,\n void 0,\n function() {\n readyToStream = true;\n },\n void 0,\n void 0,\n void 0\n );\n children.flushScheduled = null !== children.destination;\n performWork(children);\n 10 === children.status && (children.status = 11);\n null === children.trackedPostpones && safelyEmitEarlyPreloads(children, 0 === children.pendingRootTasks);\n abort(children, abortReason);\n startFlowing(children, {\n push: function(chunk) {\n null !== chunk && (result += chunk);\n return true;\n },\n destroy: function(error) {\n didFatal = true;\n fatalError2 = error;\n }\n });\n if (didFatal && fatalError2 !== abortReason) throw fatalError2;\n if (!readyToStream) throw Error(formatProdErrorMessage3(426));\n return result;\n }\n exports.renderToStaticMarkup = function(children, options2) {\n return renderToStringImpl(\n children,\n options2,\n true,\n 'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n };\n exports.renderToString = function(children, options2) {\n return renderToStringImpl(\n children,\n options2,\n false,\n 'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server.browser.production.js\n var require_react_dom_server_browser_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server.browser.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n var ReactDOM5 = require_react_dom();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for(\"react.scope\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for(\"react.legacy_hidden\");\n var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for(\"react.memo_cache_sentinel\");\n var REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for(\"react.view_transition\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var isArrayImpl = Array.isArray;\n function murmurhash3_32_gc(key, seed2) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed2;\n for (seed2 = 0; seed2 < bytes; ) {\n var k1 = key.charCodeAt(seed2) & 255 | (key.charCodeAt(++seed2) & 255) << 8 | (key.charCodeAt(++seed2) & 255) << 16 | (key.charCodeAt(++seed2) & 255) << 24;\n ++seed2;\n k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed2 + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed2 + 1) & 255) << 8;\n case 1:\n k1 ^= key.charCodeAt(seed2) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 13;\n h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n return (h1 ^ h1 >>> 16) >>> 0;\n }\n var channel = new MessageChannel();\n var taskQueue = [];\n channel.port1.onmessage = function() {\n var task2 = taskQueue.shift();\n task2 && task2();\n };\n function scheduleWork(callback) {\n taskQueue.push(callback);\n channel.port2.postMessage(null);\n }\n function handleErrorInNextTick(error) {\n setTimeout(function() {\n throw error;\n });\n }\n var LocalPromise = Promise;\n var scheduleMicrotask = \"function\" === typeof queueMicrotask ? queueMicrotask : function(callback) {\n LocalPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n };\n var currentView = null;\n var writtenBytes = 0;\n function writeChunk(destination, chunk) {\n if (0 !== chunk.byteLength)\n if (2048 < chunk.byteLength)\n 0 < writtenBytes && (destination.enqueue(\n new Uint8Array(currentView.buffer, 0, writtenBytes)\n ), currentView = new Uint8Array(2048), writtenBytes = 0), destination.enqueue(chunk);\n else {\n var allowableBytes = currentView.length - writtenBytes;\n allowableBytes < chunk.byteLength && (0 === allowableBytes ? destination.enqueue(currentView) : (currentView.set(chunk.subarray(0, allowableBytes), writtenBytes), destination.enqueue(currentView), chunk = chunk.subarray(allowableBytes)), currentView = new Uint8Array(2048), writtenBytes = 0);\n currentView.set(chunk, writtenBytes);\n writtenBytes += chunk.byteLength;\n }\n }\n function writeChunkAndReturn(destination, chunk) {\n writeChunk(destination, chunk);\n return true;\n }\n function completeWriting(destination) {\n currentView && 0 < writtenBytes && (destination.enqueue(new Uint8Array(currentView.buffer, 0, writtenBytes)), currentView = null, writtenBytes = 0);\n }\n var textEncoder = new TextEncoder();\n function stringToChunk(content) {\n return textEncoder.encode(content);\n }\n function stringToPrecomputedChunk(content) {\n return textEncoder.encode(content);\n }\n function byteLengthOfChunk(chunk) {\n return chunk.byteLength;\n }\n function closeWithError(destination, error) {\n \"function\" === typeof destination.error ? destination.error(error) : destination.close();\n }\n var assign2 = Object.assign;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var 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 var illegalAttributeNameCache = {};\n var validatedAttributeNameCache = {};\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return true;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return validatedAttributeNameCache[attributeName] = true;\n illegalAttributeNameCache[attributeName] = true;\n return false;\n }\n var 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 );\n var aliases = /* @__PURE__ */ 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 var matchHtmlRegExp = /[\"'&<>]/;\n function escapeTextForBrowser(text) {\n if (\"boolean\" === typeof text || \"number\" === typeof text || \"bigint\" === typeof text)\n return \"\" + text;\n text = \"\" + text;\n var match2 = matchHtmlRegExp.exec(text);\n if (match2) {\n var html = \"\", index2, lastIndex = 0;\n for (index2 = match2.index; index2 < text.length; index2++) {\n switch (text.charCodeAt(index2)) {\n case 34:\n match2 = \"&quot;\";\n break;\n case 38:\n match2 = \"&amp;\";\n break;\n case 39:\n match2 = \"&#x27;\";\n break;\n case 60:\n match2 = \"&lt;\";\n break;\n case 62:\n match2 = \"&gt;\";\n break;\n default:\n continue;\n }\n lastIndex !== index2 && (html += text.slice(lastIndex, index2));\n lastIndex = index2 + 1;\n html += match2;\n }\n text = lastIndex !== index2 ? html + text.slice(lastIndex, index2) : html;\n }\n return text;\n }\n var uppercasePattern = /([A-Z])/g;\n var msPattern = /^ms-/;\n var isJavaScriptProtocol = /^[\\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;\n function sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url) ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\" : url;\n }\n var ReactSharedInternals = React134.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var ReactDOMSharedInternals = ReactDOM5.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var sharedNotPendingObject = {\n pending: false,\n data: null,\n method: null,\n action: null\n };\n var previousDispatcher = ReactDOMSharedInternals.d;\n ReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n };\n var PRELOAD_NO_CREDS = [];\n var currentlyFlushingRenderState = null;\n stringToPrecomputedChunk('\"></template>');\n var startInlineScript = stringToPrecomputedChunk(\"<script\");\n var endInlineScript = stringToPrecomputedChunk(\"<\\/script>\");\n var startScriptSrc = stringToPrecomputedChunk('<script src=\"');\n var startModuleSrc = stringToPrecomputedChunk('<script type=\"module\" src=\"');\n var scriptNonce = stringToPrecomputedChunk(' nonce=\"');\n var scriptIntegirty = stringToPrecomputedChunk(' integrity=\"');\n var scriptCrossOrigin = stringToPrecomputedChunk(' crossorigin=\"');\n var endAsyncScript = stringToPrecomputedChunk(' async=\"\"><\\/script>');\n var startInlineStyle = stringToPrecomputedChunk(\"<style\");\n var scriptRegex = /(<\\/|<)(s)(cript)/gi;\n function scriptReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\u0073\" : \"\\\\u0053\") + suffix3;\n }\n var importMapScriptStart = stringToPrecomputedChunk(\n '<script type=\"importmap\">'\n );\n var importMapScriptEnd = stringToPrecomputedChunk(\"<\\/script>\");\n function createRenderState(resumableState, nonce, externalRuntimeConfig, importMap, onHeaders, maxHeadersLength) {\n externalRuntimeConfig = \"string\" === typeof nonce ? nonce : nonce && nonce.script;\n var inlineScriptWithNonce = void 0 === externalRuntimeConfig ? startInlineScript : stringToPrecomputedChunk(\n '<script nonce=\"' + escapeTextForBrowser(externalRuntimeConfig) + '\"'\n ), nonceStyle = \"string\" === typeof nonce ? void 0 : nonce && nonce.style, inlineStyleWithNonce = void 0 === nonceStyle ? startInlineStyle : stringToPrecomputedChunk(\n '<style nonce=\"' + escapeTextForBrowser(nonceStyle) + '\"'\n ), idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent && (bootstrapChunks.push(inlineScriptWithNonce), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n endOfStartTag,\n stringToChunk(\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer)\n ),\n endInlineScript\n ));\n bootstrapScriptContent = [];\n void 0 !== importMap && (bootstrapScriptContent.push(importMapScriptStart), bootstrapScriptContent.push(\n stringToChunk(\n (\"\" + JSON.stringify(importMap)).replace(scriptRegex, scriptReplacer)\n )\n ), bootstrapScriptContent.push(importMapScriptEnd));\n importMap = onHeaders ? {\n preconnects: \"\",\n fontPreloads: \"\",\n highImagePreloads: \"\",\n remainingCapacity: 2 + (\"number\" === typeof maxHeadersLength ? maxHeadersLength : 2e3)\n } : null;\n onHeaders = {\n placeholderPrefix: stringToPrecomputedChunk(idPrefix + \"P:\"),\n segmentPrefix: stringToPrecomputedChunk(idPrefix + \"S:\"),\n boundaryPrefix: stringToPrecomputedChunk(idPrefix + \"B:\"),\n startInlineScript: inlineScriptWithNonce,\n startInlineStyle: inlineStyleWithNonce,\n preamble: createPreambleState(),\n externalRuntimeScript: null,\n bootstrapChunks,\n importMapChunks: bootstrapScriptContent,\n onHeaders,\n headers: importMap,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: /* @__PURE__ */ new Set(),\n fontPreloads: /* @__PURE__ */ new Set(),\n highImagePreloads: /* @__PURE__ */ new Set(),\n styles: /* @__PURE__ */ new Map(),\n bootstrapScripts: /* @__PURE__ */ new Set(),\n scripts: /* @__PURE__ */ new Set(),\n bulkPreloads: /* @__PURE__ */ new Set(),\n preloads: {\n images: /* @__PURE__ */ new Map(),\n stylesheets: /* @__PURE__ */ new Map(),\n scripts: /* @__PURE__ */ new Map(),\n moduleScripts: /* @__PURE__ */ new Map()\n },\n nonce: { script: externalRuntimeConfig, style: nonceStyle },\n hoistableState: null,\n stylesToHoist: false\n };\n if (void 0 !== bootstrapScripts)\n for (importMap = 0; importMap < bootstrapScripts.length; importMap++)\n idPrefix = bootstrapScripts[importMap], nonceStyle = inlineScriptWithNonce = void 0, inlineStyleWithNonce = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce\n }, \"string\" === typeof idPrefix ? inlineStyleWithNonce.href = maxHeadersLength = idPrefix : (inlineStyleWithNonce.href = maxHeadersLength = idPrefix.src, inlineStyleWithNonce.integrity = nonceStyle = \"string\" === typeof idPrefix.integrity ? idPrefix.integrity : void 0, inlineStyleWithNonce.crossOrigin = inlineScriptWithNonce = \"string\" === typeof idPrefix || null == idPrefix.crossOrigin ? void 0 : \"use-credentials\" === idPrefix.crossOrigin ? \"use-credentials\" : \"\"), idPrefix = resumableState, bootstrapScriptContent = maxHeadersLength, idPrefix.scriptResources[bootstrapScriptContent] = null, idPrefix.moduleScriptResources[bootstrapScriptContent] = null, idPrefix = [], pushLinkImpl(idPrefix, inlineStyleWithNonce), onHeaders.bootstrapScripts.add(idPrefix), bootstrapChunks.push(\n startScriptSrc,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ), externalRuntimeConfig && bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ), \"string\" === typeof nonceStyle && bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(nonceStyle)),\n attributeEnd\n ), \"string\" === typeof inlineScriptWithNonce && bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(inlineScriptWithNonce)),\n attributeEnd\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);\n if (void 0 !== bootstrapModules)\n for (nonce = 0; nonce < bootstrapModules.length; nonce++)\n nonceStyle = bootstrapModules[nonce], maxHeadersLength = importMap = void 0, inlineScriptWithNonce = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: externalRuntimeConfig\n }, \"string\" === typeof nonceStyle ? inlineScriptWithNonce.href = bootstrapScripts = nonceStyle : (inlineScriptWithNonce.href = bootstrapScripts = nonceStyle.src, inlineScriptWithNonce.integrity = maxHeadersLength = \"string\" === typeof nonceStyle.integrity ? nonceStyle.integrity : void 0, inlineScriptWithNonce.crossOrigin = importMap = \"string\" === typeof nonceStyle || null == nonceStyle.crossOrigin ? void 0 : \"use-credentials\" === nonceStyle.crossOrigin ? \"use-credentials\" : \"\"), nonceStyle = resumableState, inlineStyleWithNonce = bootstrapScripts, nonceStyle.scriptResources[inlineStyleWithNonce] = null, nonceStyle.moduleScriptResources[inlineStyleWithNonce] = null, nonceStyle = [], pushLinkImpl(nonceStyle, inlineScriptWithNonce), onHeaders.bootstrapScripts.add(nonceStyle), bootstrapChunks.push(\n startModuleSrc,\n stringToChunk(escapeTextForBrowser(bootstrapScripts)),\n attributeEnd\n ), externalRuntimeConfig && bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ), \"string\" === typeof maxHeadersLength && bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ), \"string\" === typeof importMap && bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(importMap)),\n attributeEnd\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);\n return onHeaders;\n }\n function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules,\n instructions: 0,\n hasBody: false,\n hasHtml: false,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n }\n function createPreambleState() {\n return { htmlChunks: null, headChunks: null, bodyChunks: null };\n }\n function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {\n return {\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n };\n }\n function createRootFormatContext(namespaceURI) {\n return createFormatContext(\n \"http://www.w3.org/2000/svg\" === namespaceURI ? 4 : \"http://www.w3.org/1998/Math/MathML\" === namespaceURI ? 5 : 0,\n null,\n 0,\n null\n );\n }\n function getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n ) : parentContext;\n }\n function getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition ? null : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n }\n function getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n }\n function getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState && \"none\" !== resumableState.share && (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n }\n var textSeparator = stringToPrecomputedChunk(\"<!-- -->\");\n function pushTextInstance(target, text, renderState, textEmbedded) {\n if (\"\" === text) return textEmbedded;\n textEmbedded && target.push(textSeparator);\n target.push(stringToChunk(escapeTextForBrowser(text)));\n return true;\n }\n var styleNameCache = /* @__PURE__ */ new Map();\n var styleAttributeStart = stringToPrecomputedChunk(' style=\"');\n var styleAssign = stringToPrecomputedChunk(\":\");\n var styleSeparator = stringToPrecomputedChunk(\";\");\n function pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage3(62));\n var isFirst = true, styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (null != styleValue && \"boolean\" !== typeof styleValue && \"\" !== styleValue) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = stringToChunk(escapeTextForBrowser(styleName));\n styleValue = stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n );\n } else\n nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = stringToPrecomputedChunk(\n escapeTextForBrowser(\n styleName.replace(uppercasePattern, \"-$1\").toLowerCase().replace(msPattern, \"-ms-\")\n )\n ), styleNameCache.set(styleName, nameChunk)), styleValue = \"number\" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? stringToChunk(\"\" + styleValue) : stringToChunk(styleValue + \"px\") : stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n );\n isFirst ? (isFirst = false, target.push(\n styleAttributeStart,\n nameChunk,\n styleAssign,\n styleValue\n )) : target.push(styleSeparator, nameChunk, styleAssign, styleValue);\n }\n }\n isFirst || target.push(attributeEnd);\n }\n var attributeSeparator = stringToPrecomputedChunk(\" \");\n var attributeAssign = stringToPrecomputedChunk('=\"');\n var attributeEnd = stringToPrecomputedChunk('\"');\n var attributeEmptyString = stringToPrecomputedChunk('=\"\"');\n function pushBooleanAttribute(target, name, value) {\n value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeEmptyString);\n }\n function pushStringAttribute(target, name, value) {\n \"function\" !== typeof value && \"symbol\" !== typeof value && \"boolean\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n }\n var actionJavaScriptURL = stringToPrecomputedChunk(\n escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n )\n );\n var startHiddenInputChunk = stringToPrecomputedChunk('<input type=\"hidden\"');\n function pushAdditionalFormField(value, key) {\n this.push(startHiddenInputChunk);\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(endOfStartTagSelfClosing);\n }\n function validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage3(480));\n }\n function getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then)\n throw x2;\n }\n }\n return null;\n }\n function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields ? (name = customFields.name, formAction = customFields.action || \"\", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(\n attributeSeparator,\n stringToChunk(\"formAction\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n }\n function pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (null == value || \"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(\"xlink:href\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\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 \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\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 && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n );\n break;\n case \"capture\":\n case \"download\":\n true === value ? target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n ) : false !== value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value && \"symbol\" !== typeof value && !isNaN(value) && 1 <= value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value || \"symbol\" === typeof value || isNaN(value) || target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (!(2 < name.length) || \"o\" !== name[0] && \"O\" !== name[0] || \"n\" !== name[1] && \"N\" !== name[1]) {\n if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n }\n }\n }\n }\n var endOfStartTag = stringToPrecomputedChunk(\">\");\n var endOfStartTagSelfClosing = stringToPrecomputedChunk(\"/>\");\n function pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage3(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(stringToChunk(\"\" + innerHTML));\n }\n }\n function flattenOptionChildren(children) {\n var content = \"\";\n React134.Children.forEach(children, function(child) {\n null != child && (content += child);\n });\n return content;\n }\n var selectedMarkerAttribute = stringToPrecomputedChunk(' selected=\"\"');\n var formReplayingRuntimeScript = stringToPrecomputedChunk(\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`\n );\n function injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n )) : bootstrapChunks.unshift(\n renderState.startInlineScript,\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n );\n }\n }\n var formStateMarkerIsMatching = stringToPrecomputedChunk(\"<!--F!-->\");\n var formStateMarkerIsNotMatching = stringToPrecomputedChunk(\"<!--F-->\");\n function pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n }\n var styleRegex = /(<\\/|<)(s)(tyle)/gi;\n function styleReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\73 \" : \"\\\\53 \") + suffix3;\n }\n function pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n }\n function pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;\n \"function\" !== typeof props && \"symbol\" !== typeof props && null !== props && void 0 !== props && target.push(stringToChunk(escapeTextForBrowser(\"\" + props)));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n }\n var headPreambleContributionChunk = stringToPrecomputedChunk(\"<!--head-->\");\n var bodyPreambleContributionChunk = stringToPrecomputedChunk(\"<!--body-->\");\n var htmlPreambleContributionChunk = stringToPrecomputedChunk(\"<!--html-->\");\n function pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children && target.push(\n stringToChunk((\"\" + children).replace(scriptRegex, scriptReplacer))\n );\n target.push(endChunkForTag(\"script\"));\n return null;\n }\n function pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n }\n function pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag ? (target.push(stringToChunk(escapeTextForBrowser(tag))), null) : tag;\n }\n var leadingNewline = stringToPrecomputedChunk(\"\\n\");\n var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n var validatedTagCache = /* @__PURE__ */ new Map();\n function startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage3(65, tag));\n tagStartChunk = stringToPrecomputedChunk(\"<\" + tag);\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n }\n var doctypeChunk = stringToPrecomputedChunk(\"<!DOCTYPE html>\");\n function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue ? pushStringAttribute(target$jscomp$0, \"href\", \"\") : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children)));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue = null !== value ? \"\" + value : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(selectedMarkerAttribute);\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue && target$jscomp$0.push(selectedMarkerAttribute);\n } else selected && target$jscomp$0.push(selectedMarkerAttribute);\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(endOfStartTag);\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage3(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage3(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 && \"\\n\" === value$jscomp$0[0] && target$jscomp$0.push(leadingNewline);\n null !== value$jscomp$0 && target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(\"\" + value$jscomp$0))\n );\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(endOfStartTagSelfClosing);\n null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(endOfStartTag);\n null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$3))\n );\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null, formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields ? (formAction$jscomp$1 = customFields.action || \"\", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"action\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(endOfStartTag);\n null !== formActionName && (target$jscomp$0.push(startHiddenInputChunk), pushStringAttribute(target$jscomp$0, \"name\", formActionName), target$jscomp$0.push(endOfStartTagSelfClosing), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$4))\n );\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"data\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(sanitizedValue)),\n attributeEnd\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$5))\n );\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || \"string\" !== typeof rel || \"string\" !== typeof href || \"\" === href) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\"string\" !== typeof precedence || null != props.disabled || props.onLoad || props.onError)\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue || (styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign2({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ) : (textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;\n if (\"string\" !== typeof props.src || !props.src || !asyncProp || \"function\" === typeof asyncProp || \"symbol\" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;\n var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length && (scriptProps = assign2({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || \"string\" !== typeof precedence$jscomp$0 || \"string\" !== typeof href$jscomp$0 || \"\" === href$jscomp$0) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;\n \"function\" !== typeof child && \"symbol\" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push(\n stringToChunk((\"\" + child).replace(styleRegex, styleReplacer))\n );\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {\n precedence: stringToChunk(\n escapeTextForBrowser(precedence$jscomp$0)\n ),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(\n stringToChunk(escapeTextForBrowser(href$jscomp$0))\n );\n var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 && \"symbol\" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(\n stringToChunk(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n )\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : \"string\" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, \"meta\") : \"viewport\" === props.name ? pushSelfClosing(renderState.viewportChunks, props, \"meta\") : pushSelfClosing(renderState.hoistableChunks, props, \"meta\");\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML$jscomp$7 || !(\"__html\" in innerHTML$jscomp$7))\n throw Error(formatProdErrorMessage3(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html && void 0 !== html && (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0] ? target$jscomp$0.push(leadingNewline, stringToChunk(html)) : target$jscomp$0.push(stringToChunk(\"\" + html)));\n }\n \"string\" === typeof children$jscomp$8 && \"\\n\" === children$jscomp$8[0] && target$jscomp$0.push(leadingNewline);\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;\n if (!(\"lazy\" === props.loading || !src && !srcSet || \"string\" !== typeof src && null != src || \"string\" !== typeof srcSet && null != srcSet || \"low\" === props.fetchPriority || pictureOrNoScriptTagInScope) && (\"string\" !== typeof src || \":\" !== src[4] || \"d\" !== src[0] && \"D\" !== src[0] || \"a\" !== src[1] && \"A\" !== src[1] || \"t\" !== src[2] && \"T\" !== src[2] || \"a\" !== src[3] && \"A\" !== src[3]) && (\"string\" !== typeof srcSet || \":\" !== srcSet[4] || \"d\" !== srcSet[0] && \"D\" !== srcSet[0] || \"a\" !== srcSet[1] && \"A\" !== srcSet[1] || \"t\" !== srcSet[2] && \"T\" !== srcSet[2] || \"a\" !== srcSet[3] && \"A\" !== srcSet[3])) {\n null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size)\n promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input2 = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 = \"string\" === typeof input2 ? \"use-credentials\" === input2 ? input2 : \"\" : void 0;\n var headers = renderState.headers, header;\n headers && 0 < headers.remainingCapacity && \"string\" !== typeof props.srcSet && (\"high\" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n }), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += \", \"), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }), \"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\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 break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage3(545, \"`<head>`\"));\n null !== preambleState && target$jscomp$0.push(headPreambleContributionChunk);\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage3(545, \"`<body>`\"));\n null !== preambleState && target$jscomp$0.push(bodyPreambleContributionChunk);\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage3(545, \"`<html>`\"));\n null !== preambleState && target$jscomp$0.push(htmlPreambleContributionChunk);\n preamble$jscomp$1.htmlChunks = [doctypeChunk];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (isAttributeNameSafe(propKey$jscomp$11) && \"function\" !== typeof propValue$jscomp$11 && \"symbol\" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {\n if (true === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(attributeName),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(propValue$jscomp$11)),\n attributeEnd\n );\n }\n }\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n }\n var endTagCache = /* @__PURE__ */ new Map();\n function endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && (chunk = stringToPrecomputedChunk(\"</\" + tag + \">\"), endTagCache.set(tag, chunk));\n return chunk;\n }\n function hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);\n }\n function writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n writeChunk(destination, renderState[i]);\n return i < renderState.length ? (i = renderState[i], renderState.length = 0, writeChunkAndReturn(destination, i)) : true;\n }\n var shellTimeRuntimeScript = stringToPrecomputedChunk(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n );\n var placeholder1 = stringToPrecomputedChunk('<template id=\"');\n var placeholder2 = stringToPrecomputedChunk('\"></template>');\n var startActivityBoundary = stringToPrecomputedChunk(\"<!--&-->\");\n var endActivityBoundary = stringToPrecomputedChunk(\"<!--/&-->\");\n var startCompletedSuspenseBoundary = stringToPrecomputedChunk(\"<!--$-->\");\n var startPendingSuspenseBoundary1 = stringToPrecomputedChunk(\n '<!--$?--><template id=\"'\n );\n var startPendingSuspenseBoundary2 = stringToPrecomputedChunk('\"></template>');\n var startClientRenderedSuspenseBoundary = stringToPrecomputedChunk(\"<!--$!-->\");\n var endSuspenseBoundary = stringToPrecomputedChunk(\"<!--/$-->\");\n var clientRenderedSuspenseBoundaryError1 = stringToPrecomputedChunk(\"<template\");\n var clientRenderedSuspenseBoundaryErrorAttrInterstitial = stringToPrecomputedChunk('\"');\n var clientRenderedSuspenseBoundaryError1A = stringToPrecomputedChunk(' data-dgst=\"');\n stringToPrecomputedChunk(' data-msg=\"');\n stringToPrecomputedChunk(' data-stck=\"');\n stringToPrecomputedChunk(' data-cstck=\"');\n var clientRenderedSuspenseBoundaryError2 = stringToPrecomputedChunk(\"></template>\");\n function writeStartPendingSuspenseBoundary(destination, renderState, id) {\n writeChunk(destination, startPendingSuspenseBoundary1);\n if (null === id) throw Error(formatProdErrorMessage3(395));\n writeChunk(destination, renderState.boundaryPrefix);\n writeChunk(destination, stringToChunk(id.toString(16)));\n return writeChunkAndReturn(destination, startPendingSuspenseBoundary2);\n }\n var startSegmentHTML = stringToPrecomputedChunk('<div hidden id=\"');\n var startSegmentHTML2 = stringToPrecomputedChunk('\">');\n var endSegmentHTML = stringToPrecomputedChunk(\"</div>\");\n var startSegmentSVG = stringToPrecomputedChunk(\n '<svg aria-hidden=\"true\" style=\"display:none\" id=\"'\n );\n var startSegmentSVG2 = stringToPrecomputedChunk('\">');\n var endSegmentSVG = stringToPrecomputedChunk(\"</svg>\");\n var startSegmentMathML = stringToPrecomputedChunk(\n '<math aria-hidden=\"true\" style=\"display:none\" id=\"'\n );\n var startSegmentMathML2 = stringToPrecomputedChunk('\">');\n var endSegmentMathML = stringToPrecomputedChunk(\"</math>\");\n var startSegmentTable = stringToPrecomputedChunk('<table hidden id=\"');\n var startSegmentTable2 = stringToPrecomputedChunk('\">');\n var endSegmentTable = stringToPrecomputedChunk(\"</table>\");\n var startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id=\"');\n var startSegmentTableBody2 = stringToPrecomputedChunk('\">');\n var endSegmentTableBody = stringToPrecomputedChunk(\"</tbody></table>\");\n var startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id=\"');\n var startSegmentTableRow2 = stringToPrecomputedChunk('\">');\n var endSegmentTableRow = stringToPrecomputedChunk(\"</tr></table>\");\n var startSegmentColGroup = stringToPrecomputedChunk(\n '<table hidden><colgroup id=\"'\n );\n var startSegmentColGroup2 = stringToPrecomputedChunk('\">');\n var endSegmentColGroup = stringToPrecomputedChunk(\"</colgroup></table>\");\n function writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return writeChunk(destination, startSegmentHTML), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentHTML2);\n case 4:\n return writeChunk(destination, startSegmentSVG), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentSVG2);\n case 5:\n return writeChunk(destination, startSegmentMathML), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentMathML2);\n case 6:\n return writeChunk(destination, startSegmentTable), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTable2);\n case 7:\n return writeChunk(destination, startSegmentTableBody), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableBody2);\n case 8:\n return writeChunk(destination, startSegmentTableRow), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableRow2);\n case 9:\n return writeChunk(destination, startSegmentColGroup), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentColGroup2);\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n function writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return writeChunkAndReturn(destination, endSegmentHTML);\n case 4:\n return writeChunkAndReturn(destination, endSegmentSVG);\n case 5:\n return writeChunkAndReturn(destination, endSegmentMathML);\n case 6:\n return writeChunkAndReturn(destination, endSegmentTable);\n case 7:\n return writeChunkAndReturn(destination, endSegmentTableBody);\n case 8:\n return writeChunkAndReturn(destination, endSegmentTableRow);\n case 9:\n return writeChunkAndReturn(destination, endSegmentColGroup);\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n var completeSegmentScript1Full = stringToPrecomputedChunk(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n );\n var completeSegmentScript1Partial = stringToPrecomputedChunk('$RS(\"');\n var completeSegmentScript2 = stringToPrecomputedChunk('\",\"');\n var completeSegmentScriptEnd = stringToPrecomputedChunk('\")<\\/script>');\n stringToPrecomputedChunk('<template data-rsi=\"\" data-sid=\"');\n stringToPrecomputedChunk('\" data-pid=\"');\n var completeBoundaryScriptFunctionOnly = stringToPrecomputedChunk(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n );\n stringToChunk(\n `$RV=function(A,g){function k(a,b){var e=a.getAttribute(b);e&&(b=a.style,l.push(a,b.viewTransitionName,b.viewTransitionClass),\"auto\"!==e&&(b.viewTransitionClass=e),(a=a.getAttribute(\"vt-name\"))||(a=\"_T_\"+K++ +\"_\"),b.viewTransitionName=a,B=!0)}var B=!1,K=0,l=[];try{var f=document.__reactViewTransition;if(f){f.finished.finally($RV.bind(null,g));return}var m=new Map;for(f=1;f<g.length;f+=2)for(var h=g[f].querySelectorAll(\"[vt-share]\"),d=0;d<h.length;d++){var c=h[d];m.set(c.getAttribute(\"vt-name\"),c)}var u=[];for(h=0;h<g.length;h+=2){var C=g[h],x=C.parentNode;if(x){var v=x.getBoundingClientRect();if(v.left||v.top||v.width||v.height){c=C;for(f=0;c;){if(8===c.nodeType){var r=c.data;if(\"/$\"===r)if(0===f)break;else f--;else\"$\"!==r&&\"$?\"!==r&&\"$~\"!==r&&\"$!\"!==r||f++}else if(1===c.nodeType){d=c;var D=d.getAttribute(\"vt-name\"),y=m.get(D);k(d,y?\"vt-share\":\"vt-exit\");y&&(k(y,\"vt-share\"),m.set(D,null));var E=d.querySelectorAll(\"[vt-share]\");for(d=0;d<E.length;d++){var F=E[d],G=F.getAttribute(\"vt-name\"),\nH=m.get(G);H&&(k(F,\"vt-share\"),k(H,\"vt-share\"),m.set(G,null))}}c=c.nextSibling}for(var I=g[h+1],t=I.firstElementChild;t;)null!==m.get(t.getAttribute(\"vt-name\"))&&k(t,\"vt-enter\"),t=t.nextElementSibling;c=x;do for(var n=c.firstElementChild;n;){var J=n.getAttribute(\"vt-update\");J&&\"none\"!==J&&!l.includes(n)&&k(n,\"vt-update\");n=n.nextElementSibling}while((c=c.parentNode)&&1===c.nodeType&&\"none\"!==c.getAttribute(\"vt-update\"));u.push.apply(u,I.querySelectorAll('img[src]:not([loading=\"lazy\"])'))}}}if(B){var z=\ndocument.__reactViewTransition=document.startViewTransition({update:function(){A(g);for(var a=[document.documentElement.clientHeight,document.fonts.ready],b={},e=0;e<u.length;b={g:b.g},e++)if(b.g=u[e],!b.g.complete){var p=b.g.getBoundingClientRect();0<p.bottom&&0<p.right&&p.top<window.innerHeight&&p.left<window.innerWidth&&(p=new Promise(function(w){return function(q){w.g.addEventListener(\"load\",q);w.g.addEventListener(\"error\",q)}}(b)),a.push(p))}return Promise.race([Promise.all(a),new Promise(function(w){var q=\nperformance.now();setTimeout(w,2300>q&&2E3<q?2300-q:500)})])},types:[]});z.ready.finally(function(){for(var a=l.length-3;0<=a;a-=3){var b=l[a],e=b.style;e.viewTransitionName=l[a+1];e.viewTransitionClass=l[a+1];\"\"===b.getAttribute(\"style\")&&b.removeAttribute(\"style\")}});z.finished.finally(function(){document.__reactViewTransition===z&&(document.__reactViewTransition=null)});$RB=[];return}}catch(a){}A(g)}.bind(null,$RV);`\n );\n var completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC(\"');\n var completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n );\n var completeBoundaryWithStylesScript1Partial = stringToPrecomputedChunk('$RR(\"');\n var completeBoundaryScript2 = stringToPrecomputedChunk('\",\"');\n var completeBoundaryScript3a = stringToPrecomputedChunk('\",');\n var completeBoundaryScript3b = stringToPrecomputedChunk('\"');\n var completeBoundaryScriptEnd = stringToPrecomputedChunk(\")<\\/script>\");\n stringToPrecomputedChunk('<template data-rci=\"\" data-bid=\"');\n stringToPrecomputedChunk('<template data-rri=\"\" data-bid=\"');\n stringToPrecomputedChunk('\" data-sid=\"');\n stringToPrecomputedChunk('\" data-sty=\"');\n var clientRenderScriptFunctionOnly = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n );\n var clientRenderScript1Full = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n );\n var clientRenderScript1Partial = stringToPrecomputedChunk('$RX(\"');\n var clientRenderScript1A = stringToPrecomputedChunk('\"');\n var clientRenderErrorScriptArgInterstitial = stringToPrecomputedChunk(\",\");\n var clientRenderScriptEnd = stringToPrecomputedChunk(\")<\\/script>\");\n stringToPrecomputedChunk('<template data-rxi=\"\" data-bid=\"');\n stringToPrecomputedChunk('\" data-dgst=\"');\n stringToPrecomputedChunk('\" data-msg=\"');\n stringToPrecomputedChunk('\" data-stck=\"');\n stringToPrecomputedChunk('\" data-cstck=\"');\n var regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\n function escapeJSStringsForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInInstructionScripts,\n function(match2) {\n switch (match2) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\n function escapeJSObjectForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInScripts,\n function(match2) {\n switch (match2) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var lateStyleTagResourceOpen1 = stringToPrecomputedChunk(\n ' media=\"not all\" data-precedence=\"'\n );\n var lateStyleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"');\n var lateStyleTagResourceOpen3 = stringToPrecomputedChunk('\">');\n var lateStyleTagTemplateClose = stringToPrecomputedChunk(\"</style>\");\n var currentlyRenderingBoundaryHasStylesToHoist = false;\n var destinationHasCapacity = true;\n function flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;\n if (hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, lateStyleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n for (writeChunk(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++)\n writeChunk(this, hrefs[i]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[i]);\n writeChunk(this, lateStyleTagResourceOpen3);\n for (i = 0; i < rules.length; i++) writeChunk(this, rules[i]);\n destinationHasCapacity = writeChunkAndReturn(\n this,\n lateStyleTagTemplateClose\n );\n currentlyRenderingBoundaryHasStylesToHoist = true;\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;\n }\n function writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = false;\n destinationHasCapacity = true;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);\n return destinationHasCapacity;\n }\n function flushResource(resource) {\n for (var i = 0; i < resource.length; i++) writeChunk(this, resource[i]);\n resource.length = 0;\n }\n var stylesheetFlushingQueue = [];\n function flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n writeChunk(this, stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n }\n var styleTagResourceOpen1 = stringToPrecomputedChunk(' data-precedence=\"');\n var styleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"');\n var spaceSeparator = stringToPrecomputedChunk(\" \");\n var styleTagResourceOpen3 = stringToPrecomputedChunk('\">');\n var styleTagResourceClose = stringToPrecomputedChunk(\"</style>\");\n function flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, styleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (writeChunk(this, styleTagResourceOpen2); styleQueue < hrefs.length - 1; styleQueue++)\n writeChunk(this, hrefs[styleQueue]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[styleQueue]);\n }\n writeChunk(this, styleTagResourceOpen3);\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n writeChunk(this, rules[styleQueue]);\n writeChunk(this, styleTagResourceClose);\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++)\n writeChunk(this, stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n }\n function preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n }\n stringToPrecomputedChunk('<link rel=\"expect\" href=\"#');\n stringToPrecomputedChunk('\" blocking=\"render\"/>');\n var completedShellIdAttributeStart = stringToPrecomputedChunk(' id=\"');\n function pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(\n completedShellIdAttributeStart,\n stringToChunk(escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\")),\n attributeEnd\n ));\n }\n var arrayFirstOpenBracket = stringToPrecomputedChunk(\"[\");\n var arraySubsequentOpenBracket = stringToPrecomputedChunk(\",[\");\n var arrayInterstitial = stringToPrecomputedChunk(\",\");\n var arrayCloseBracket = stringToPrecomputedChunk(\"]\");\n function writeStyleResourceDependenciesInJS(destination, hoistableState) {\n writeChunk(destination, arrayFirstOpenBracket);\n var nextArrayOpenBrackChunk = arrayFirstOpenBracket;\n hoistableState.stylesheets.forEach(function(resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n writeChunk(destination, nextArrayOpenBrackChunk), writeChunk(\n destination,\n stringToChunk(\n escapeJSObjectForInstructionScripts(\"\" + resource.props.href)\n )\n ), writeChunk(destination, arrayCloseBracket), nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n else {\n writeChunk(destination, nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"], props = resource.props, coercedHref = sanitizeURL(\"\" + resource.props.href);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(coercedHref))\n );\n precedence = \"\" + precedence;\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(precedence))\n );\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence))\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n writeChunk(destination, arrayCloseBracket);\n nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n resource.state = 3;\n }\n });\n writeChunk(destination, arrayCloseBracket);\n }\n function writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (false === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (2 < name.length && (\"o\" === name[0] || \"O\" === name[0]) && (\"n\" === name[1] || \"N\" === name[1]) || !isAttributeNameSafe(name))\n return;\n name = \"\" + value;\n }\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(attributeName))\n );\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(name))\n );\n }\n function createHoistableState() {\n return { styles: /* @__PURE__ */ new Set(), stylesheets: /* @__PURE__ */ new Set(), suspenseyImages: false };\n }\n function prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity)\n JSCompiler_temp = (header = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=dns-prefetch\", 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, { href, rel: \"dns-prefetch\" }), renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n }\n function preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket = \"use-credentials\" === crossOrigin ? \"credentials\" : \"string\" === typeof crossOrigin ? \"anonymous\" : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {\n JSCompiler_temp = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href,\n crossOrigin\n }), renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n }\n function preload(href, as, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options2) {\n var imageSrcSet = options2.imageSrcSet;\n var imageSizes = options2.imageSizes;\n var fetchPriority = options2.fetchPriority;\n }\n var key = imageSrcSet ? imageSrcSet + \"\\n\" + (imageSizes || \"\") : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState && 0 < resumableState.remainingCapacity && \"string\" !== typeof imageSrcSet && \"high\" === fetchPriority && (header = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += \", \"), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(\n resumableState,\n assign2(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as },\n options2\n )\n ), \"high\" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.styleResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.scriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href))\n return;\n } else\n imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && \"font\" === as && (key = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= key.length + 2)))\n renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += \", \"), resumableState.fontPreloads += key;\n else\n switch (resumableState = [], href = assign2({ rel: \"preload\", href, as }, options2), pushLinkImpl(resumableState, href), as) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options2);\n }\n function preloadModule(href, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n var as = options2 && \"string\" === typeof options2.as ? options2.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n resources = {}, resumableState.moduleUnknownResources[as] = resources;\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign2({ rel: \"modulepreload\", href }, options2));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options2);\n }\n function preinitStyle(href, precedence, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue)), precedence = {\n state: 0,\n props: assign2(\n { rel: \"stylesheet\", href, \"data-precedence\": precedence },\n options2\n )\n }, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options2);\n }\n function preinitScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;\n null !== resourceState && (resumableState.scriptResources[src] = null, options2 = assign2({ src, async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options2);\n }\n function preinitModuleScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n ) ? resumableState.moduleScriptResources[src] : void 0;\n null !== resourceState && (resumableState.moduleScriptResources[src] = null, options2 = assign2({ src, type: \"module\", async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options2);\n }\n function adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n }\n function getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) && (href = params[paramName], \"string\" === typeof href && (as += \"; \" + paramName.toLowerCase() + '=\"' + (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) + '\"'));\n return as;\n }\n var regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\n function escapeHrefForLinkHeaderURLContextReplacer(match2) {\n switch (match2) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n var regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\n function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match2) {\n switch (match2) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n function hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n }\n function hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n }\n function hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = true);\n }\n function hasSuspenseyContent(hoistableState) {\n return 0 < hoistableState.stylesheets.size || hoistableState.suspenseyImages;\n }\n var bind = Function.prototype.bind;\n var REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for(\"react.client.reference\");\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE ? null : 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_TYPE2:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE2:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x2) {\n }\n }\n return null;\n }\n var emptyContextObject = {};\n var currentActiveSnapshot = null;\n function popToNearestCommonAncestor(prev, next2) {\n if (prev !== next2) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n var parentNext = next2.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage3(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage3(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next2.context._currentValue = next2.value;\n }\n }\n function popAllPrevious(prev) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n }\n function pushAllNext(next2) {\n var parentNext = next2.parent;\n null !== parentNext && pushAllNext(parentNext);\n next2.context._currentValue = next2.value;\n }\n function popPreviousToCommonLevel(prev, next2) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage3(402));\n prev.depth === next2.depth ? popToNearestCommonAncestor(prev, next2) : popPreviousToCommonLevel(prev, next2);\n }\n function popNextToCommonLevel(prev, next2) {\n var parentNext = next2.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage3(402));\n prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);\n next2.context._currentValue = next2.value;\n }\n function switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);\n }\n var classComponentUpdater = {\n enqueueSetState: function(inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function(inst, payload) {\n inst = inst._reactInternals;\n inst.replace = true;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function() {\n }\n };\n var emptyTreeContext = { id: 1, overflow: \"\" };\n function pushTreeContext(baseContext, totalChildren, index2) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index2 += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - baseLength % 5;\n length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id: 1 << 32 - clz32(totalChildren) + baseLength | index2 << baseLength | baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: 1 << length | index2 << baseLength | baseIdWithLeadingBit,\n overflow: baseContext\n };\n }\n var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback;\n var log2 = Math.log;\n var LN2 = Math.LN2;\n function clz32Fallback(x2) {\n x2 >>>= 0;\n return 0 === x2 ? 32 : 31 - (log2(x2) / LN2 | 0) | 0;\n }\n function noop7() {\n }\n var SuspenseException = Error(formatProdErrorMessage3(460));\n function trackUsedThenable(thenableState2, thenable, index2) {\n index2 = thenableState2[index2];\n void 0 === index2 ? thenableState2.push(thenable) : index2 !== thenable && (thenable.then(noop7, noop7), thenable = index2);\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenableState2 = thenable, thenableState2.status = \"pending\", thenableState2.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 switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n var suspendedThenable = null;\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage3(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var currentlyRenderingComponent = null;\n var currentlyRenderingTask = null;\n var currentlyRenderingRequest = null;\n var currentlyRenderingKeyPath = null;\n var firstWorkInProgressHook = null;\n var workInProgressHook = null;\n var isReRender = false;\n var didScheduleRenderPhaseUpdate = false;\n var localIdCounter = 0;\n var actionStateCounter = 0;\n var actionStateMatchingIndex = -1;\n var thenableIndexCounter = 0;\n var thenableState = null;\n var renderPhaseUpdates = null;\n var numberOfReRenders = 0;\n function resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage3(321));\n return currentlyRenderingComponent;\n }\n function createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage3(312));\n return { memoizedState: null, queue: null, next: null };\n }\n function createWorkInProgressHook() {\n null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);\n return workInProgressHook;\n }\n function getThenableStateAfterSuspending() {\n var state2 = thenableState;\n thenableState = null;\n return state2;\n }\n function resetHooksState() {\n currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;\n didScheduleRenderPhaseUpdate = false;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n }\n function basicStateReducer(state2, action) {\n return \"function\" === typeof action ? action(state2) : action;\n }\n function useReducer4(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (null !== renderPhaseUpdates && (init = renderPhaseUpdates.get(queue), void 0 !== init)) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do\n queue = reducer(queue, init.action), init = init.next;\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer = reducer === basicStateReducer ? \"function\" === typeof initialArg ? initialArg() : initialArg : void 0 !== init ? init(initialArg) : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n }\n function useMemo32(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = false;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = false;\n break a;\n }\n prevDeps = true;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n }\n function dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage3(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (didScheduleRenderPhaseUpdate = true, componentIdentity = { action, next: null }, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action)\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n }\n function throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage3(440));\n }\n function unsupportedStartTransition() {\n throw Error(formatProdErrorMessage3(394));\n }\n function unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage3(479));\n }\n function useActionState(action, initialState15, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n ), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState15 = request[0]));\n }\n var boundAction = action.bind(null, initialState15);\n action = function(payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {\n prefix3 = boundAction.$$FORM_ACTION(prefix3);\n void 0 !== permalink && (permalink += \"\", prefix3.action = permalink);\n var formData = prefix3.data;\n formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )), formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix3;\n });\n return [initialState15, action, false];\n }\n var boundAction$22 = action.bind(null, initialState15);\n return [\n initialState15,\n function(payload) {\n boundAction$22(payload);\n },\n false\n ];\n }\n function unwrapThenable(thenable) {\n var index2 = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index2);\n }\n function unsupportedRefresh() {\n throw Error(formatProdErrorMessage3(393));\n }\n var HooksDispatcher = {\n readContext: function(context) {\n return context._currentValue;\n },\n use: function(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue;\n }\n throw Error(formatProdErrorMessage3(438, String(usable)));\n },\n useContext: function(context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue;\n },\n useMemo: useMemo32,\n useReducer: useReducer4,\n useRef: function(initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef ? (initialValue = { current: initialValue }, workInProgressHook.memoizedState = initialValue) : previousRef;\n },\n useState: function(initialState15) {\n return useReducer4(basicStateReducer, initialState15);\n },\n useInsertionEffect: noop7,\n useLayoutEffect: noop7,\n useCallback: function(callback, deps) {\n return useMemo32(function() {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop7,\n useEffect: noop7,\n useDebugValue: noop7,\n useDeferredValue: function(value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function() {\n resolveCurrentlyRenderingComponent();\n return [false, unsupportedStartTransition];\n },\n useId: function() {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage3(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result = \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage3(407));\n return getServerSnapshot();\n },\n useOptimistic: function(passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function() {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function(size4) {\n for (var data = Array(size4), i = 0; i < size4; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function() {\n return unsupportedRefresh;\n },\n useEffectEvent: function() {\n return throwOnUseEffectEventCall;\n }\n };\n var currentResumableState = null;\n var DefaultAsyncDispatcher = {\n getCacheForType: function() {\n throw Error(formatProdErrorMessage3(248));\n },\n cacheSignal: function() {\n throw Error(formatProdErrorMessage3(248));\n }\n };\n var prefix2;\n var suffix2;\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix2)\n try {\n throw Error();\n } catch (x2) {\n var match2 = x2.stack.trim().match(/\\n( *(at )?)/);\n prefix2 = match2 && match2[1] || \"\";\n suffix2 = -1 < x2.stack.indexOf(\"\\n at\") ? \" (<anonymous>)\" : -1 < x2.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix2 + name + suffix2;\n }\n var reentry = false;\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = true;\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 (x2) {\n var control = x2;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function() {\n });\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 = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"), controlLines = controlStack.split(\"\\n\");\n for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\"); )\n RunInRootFrame++;\n for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n ); )\n namePropDescriptor++;\n if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length)\n for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; )\n namePropDescriptor--;\n for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--)\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n var frame = \"\\n\" + sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName && frame.includes(\"<anonymous>\") && (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 = false, Error.prepareStackTrace = previousPrepareStackTrace;\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : \"\";\n }\n function describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n return describeNativeComponentFrame(type.render, false);\n case REACT_MEMO_TYPE2:\n return describeNativeComponentFrame(type.type, false);\n case REACT_LAZY_TYPE:\n var lazyComponent = type, payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x2) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = void 0, location = location.stack, Error.prepareStackTrace = type, location.startsWith(\"Error: react-stack-top-frame\\n\") && (location = location.slice(29)), type = location.indexOf(\"\\n\"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf(\"react_stack_bottom_frame\"), -1 !== type && (type = location.lastIndexOf(\"\\n\", type)), type = -1 !== type ? location = location.slice(0, type) : \"\", location = type.lastIndexOf(\"\\n\"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n }\n function isEligibleForOutlining(request, boundary) {\n return (500 < boundary.byteSize || hasSuspenseyContent(boundary.contentState)) && null === boundary.contentPreamble;\n }\n function defaultErrorHandler2(error) {\n if (\"object\" === typeof error && null !== error && \"string\" === typeof error.environmentName) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0] ? error.splice(\n 0,\n 1,\n \"%c%s%c \" + error[0],\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n ) : error.splice(\n 0,\n 0,\n \"%c%s%c\",\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n );\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n }\n function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n var abortSet = /* @__PURE__ */ new Set();\n this.destination = null;\n this.flushScheduled = false;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError ? defaultErrorHandler2 : onError;\n this.onPostpone = void 0 === onPostpone ? noop7 : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop7 : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop7 : onShellReady;\n this.onShellError = void 0 === onShellError ? noop7 : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop7 : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n }\n function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n false,\n false\n );\n renderState.parentFlushed = true;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n }\n function createPrerenderRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n children = createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n void 0\n );\n children.trackedPostpones = {\n workingMap: /* @__PURE__ */ new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n }\n function resumeRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n renderState = new RequestInstance(\n postponedState.resumableState,\n renderState,\n postponedState.rootFormatContext,\n postponedState.progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n null\n );\n renderState.nextSegmentId = postponedState.nextSegmentId;\n if (\"number\" === typeof postponedState.replaySlots)\n return onError = createPendingSegment(\n renderState,\n 0,\n null,\n postponedState.rootFormatContext,\n false,\n false\n ), onError.parentFlushed = true, children = createRenderTask(\n renderState,\n null,\n children,\n -1,\n null,\n onError,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n ), pushComponentStack(children), renderState.pingedTasks.push(children), renderState;\n children = createReplayTask(\n renderState,\n null,\n {\n nodes: postponedState.replayNodes,\n slots: postponedState.replaySlots,\n pendingTasks: 0\n },\n children,\n -1,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n renderState.pingedTasks.push(children);\n return renderState;\n }\n function resumeAndPrerenderRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n children = resumeRequest(\n children,\n postponedState,\n renderState,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n );\n children.trackedPostpones = {\n workingMap: /* @__PURE__ */ new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n }\n var currentRequest = null;\n function pingTask(request, task2) {\n request.pingedTasks.push(task2);\n 1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, null !== request.trackedPostpones || 10 === request.status ? scheduleMicrotask(function() {\n return performWork(request);\n }) : scheduleWork(function() {\n return performWork(request);\n }));\n }\n function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: false,\n pendingTasks: 0,\n row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble,\n fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n }\n function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task2 = {\n replay: null,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task2 = {\n replay,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createPendingSegment(request, index2, boundary, parentFormatContext, lastPushedText, textEmbedded) {\n return {\n status: 0,\n parentFlushed: false,\n id: -1,\n index: index2,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext,\n boundary,\n lastPushedText,\n textEmbedded\n };\n }\n function pushComponentStack(task2) {\n var node = task2.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task2.componentStack = { parent: task2.componentStack, type: node.type };\n }\n }\n function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {\n return null === componentStack ? null : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n }\n function getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 && Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: true,\n enumerable: true,\n get: function() {\n try {\n var info = \"\", node = node$jscomp$0;\n do\n info += describeComponentStackByType(node.type), node = node.parent;\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x2) {\n JSCompiler_inline_result = \"\\nError generating stack: \" + x2.message + \"\\n\" + x2.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n }\n function logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n }\n function fatalError(request, error) {\n var onShellError = request.onShellError, onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination ? (request.status = 14, closeWithError(request.destination, error)) : (request.status = 13, request.fatalError = error);\n }\n function finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n }\n function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n }\n function tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {\n allCompleteAndInlinable = false;\n break;\n }\n }\n allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n }\n function createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: false,\n next: null\n };\n null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);\n return newRow;\n }\n function renderSuspenseListRows(request, task2, keyPath, rows, revealOrder) {\n var prevKeyPath = task2.keyPath, prevTreeContext = task2.treeContext, prevRow = task2.row;\n task2.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task2.replay) {\n var resumeSlots = task2.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID ? (resumeNode(request, task2, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task2, node, i);\n 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n n = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task2, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder)\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n resumeSlots = rows[revealOrder], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n ), renderNode(request, task2, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task2.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task2.formatContext,\n 0 === i ? revealOrder.lastPushedText : true,\n true\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task2.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task2, node, i), resumeSegmentID.lastPushedText && resumeSegmentID.textEmbedded && resumeSegmentID.chunks.push(textSeparator), resumeSegmentID.status = 1, finishedSegment(request, task2.blockedBoundary, resumeSegmentID), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;\n }\n }\n task2.blockedSegment = revealOrder;\n revealOrder.lastPushedText = false;\n }\n null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);\n task2.treeContext = prevTreeContext;\n task2.row = prevRow;\n task2.keyPath = prevKeyPath;\n }\n function renderWithHooks(request, task2, keyPath, Component2, props, secondArg) {\n var prevThenableState = task2.thenableState;\n task2.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task2;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component2(props, secondArg); didScheduleRenderPhaseUpdate; )\n didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component2(props, secondArg);\n resetHooksState();\n return request;\n }\n function finishFunctionComponent(request, task2, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {\n var didEmitActionStateMarkers = false;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task2.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = true;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex2 ? segment.push(formStateMarkerIsMatching) : segment.push(formStateMarkerIsNotMatching);\n }\n }\n actionStateCount = task2.keyPath;\n task2.keyPath = keyPath;\n hasId ? (keyPath = task2.treeContext, task2.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task2, children, -1), task2.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task2, children, -1) : renderNodeDestructive(request, task2, children, -1);\n task2.keyPath = actionStateCount;\n }\n function renderElement(request, task2, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps2 = type.defaultProps;\n if (defaultProps2) {\n newProps === props && (newProps = assign2({}, newProps, props));\n for (var propName$44 in defaultProps2)\n void 0 === newProps[propName$44] && (newProps[propName$44] = defaultProps2[propName$44]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps2 = type.contextType;\n \"object\" === typeof defaultProps2 && null !== defaultProps2 && (newProps = defaultProps2._currentValue);\n newProps = new type(props, newProps);\n var initialState15 = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState15;\n defaultProps2 = { queue: [], replace: false };\n newProps._reactInternals = defaultProps2;\n ref = type.contextType;\n newProps.context = \"object\" === typeof ref && null !== ref ? ref._currentValue : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref && (ref = ref(props, initialState15), initialState15 = null === ref || void 0 === ref ? initialState15 : assign2({}, initialState15, ref), newProps.state = initialState15);\n if (\"function\" !== typeof type.getDerivedStateFromProps && \"function\" !== typeof newProps.getSnapshotBeforeUpdate && (\"function\" === typeof newProps.UNSAFE_componentWillMount || \"function\" === typeof newProps.componentWillMount))\n if (type = newProps.state, \"function\" === typeof newProps.componentWillMount && newProps.componentWillMount(), \"function\" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ), null !== defaultProps2.queue && 0 < defaultProps2.queue.length)\n if (type = defaultProps2.queue, ref = defaultProps2.replace, defaultProps2.queue = null, defaultProps2.replace = false, ref && 1 === type.length)\n newProps.state = type[0];\n else {\n defaultProps2 = ref ? type[0] : newProps.state;\n initialState15 = true;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n propName$44 = type[ref], propName$44 = \"function\" === typeof propName$44 ? propName$44.call(newProps, defaultProps2, props, void 0) : propName$44, null != propName$44 && (initialState15 ? (initialState15 = false, defaultProps2 = assign2({}, defaultProps2, propName$44)) : assign2(defaultProps2, propName$44));\n newProps.state = defaultProps2;\n }\n else defaultProps2.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n } else {\n type = renderWithHooks(request, task2, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (newProps = task2.blockedSegment, null === newProps)\n newProps = props.children, defaultProps2 = task2.formatContext, initialState15 = task2.keyPath, task2.formatContext = getChildFormatContext(defaultProps2, type, props), task2.keyPath = keyPath, renderNode(request, task2, newProps, -1), task2.formatContext = defaultProps2, task2.keyPath = initialState15;\n else {\n initialState15 = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = false;\n defaultProps2 = task2.formatContext;\n ref = task2.keyPath;\n task2.keyPath = keyPath;\n if (3 === (task2.formatContext = getChildFormatContext(defaultProps2, type, props)).insertionMode) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n newProps.preambleChildren.push(keyPath);\n task2.blockedSegment = keyPath;\n try {\n keyPath.status = 6, renderNode(request, task2, initialState15, -1), keyPath.lastPushedText && keyPath.textEmbedded && keyPath.chunks.push(textSeparator), keyPath.status = 1, finishedSegment(request, task2.blockedBoundary, keyPath);\n } finally {\n task2.blockedSegment = newProps;\n }\n } else renderNode(request, task2, initialState15, -1);\n task2.formatContext = defaultProps2;\n task2.keyPath = ref;\n a: {\n task2 = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps2.insertionMode) {\n request.hasBody = true;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps2.insertionMode) {\n request.hasHtml = true;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps2.insertionMode) break a;\n }\n task2.push(endChunkForTag(type));\n }\n newProps.lastPushedText = false;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, props.children, -1);\n task2.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task2.blockedSegment;\n null === type ? \"hidden\" !== props.mode && (type = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = type) : \"hidden\" !== props.mode && (type.chunks.push(startActivityBoundary), type.lastPushedText = false, newProps = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = newProps, type.chunks.push(endActivityBoundary), type.lastPushedText = false);\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\"forwards\" === props || \"backwards\" === props || \"unstable_legacy-backwards\" === props) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task2, keyPath, type, props);\n break a;\n }\n if (newProps = getIteratorFn(type)) {\n if (newProps = newProps.call(type)) {\n defaultProps2 = newProps.next();\n if (!defaultProps2.done) {\n do\n defaultProps2 = newProps.next();\n while (!defaultProps2.done);\n renderSuspenseListRows(request, task2, keyPath, type, props);\n }\n break a;\n }\n }\n }\n \"together\" === props ? (props = task2.keyPath, newProps = task2.row, defaultProps2 = task2.row = createSuspenseListRow(null), defaultProps2.boundaries = [], defaultProps2.together = true, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), 0 === --defaultProps2.pendingTasks && finishSuspenseListRow(request, defaultProps2), task2.keyPath = props, task2.row = newProps, null !== newProps && 0 < defaultProps2.pendingTasks && (newProps.pendingTasks++, defaultProps2.next = newProps)) : (props = task2.keyPath, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), task2.keyPath = props);\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage3(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task2.replay) {\n type = task2.keyPath;\n newProps = task2.formatContext;\n defaultProps2 = task2.row;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task2.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task2, keyPath, -1);\n } finally {\n task2.keyPath = type, task2.formatContext = newProps, task2.row = defaultProps2;\n }\n } else {\n type = task2.keyPath;\n ref = task2.formatContext;\n var prevRow = task2.row;\n propName$44 = task2.blockedBoundary;\n propName = task2.blockedPreamble;\n var parentHoistableState = task2.hoistableState, parentSegment = task2.blockedSegment, fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = /* @__PURE__ */ new Set();\n var newBoundary = 2 > task2.formatContext.insertionMode ? createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n ) : createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n parentSegment.chunks.length,\n newBoundary,\n task2.formatContext,\n false,\n false\n );\n parentSegment.children.push(boundarySegment);\n parentSegment.lastPushedText = false;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n contentRootSegment.parentFlushed = true;\n if (null !== request.trackedPostpones) {\n newProps = task2.componentStack;\n defaultProps2 = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState15 = [defaultProps2[1], defaultProps2[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps2, initialState15);\n newBoundary.trackedFallbackNode = initialState15;\n task2.blockedSegment = boundarySegment;\n task2.blockedPreamble = newBoundary.fallbackPreamble;\n task2.keyPath = defaultProps2;\n task2.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task2.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task2, fallback, -1), boundarySegment.lastPushedText && boundarySegment.textEmbedded && boundarySegment.chunks.push(textSeparator), boundarySegment.status = 1, finishedSegment(request, propName$44, boundarySegment);\n } catch (thrownValue) {\n throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;\n } finally {\n task2.blockedSegment = parentSegment, task2.blockedPreamble = propName, task2.keyPath = type, task2.formatContext = ref;\n }\n task2 = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task2.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n null,\n newProps\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n } else {\n task2.blockedBoundary = newBoundary;\n task2.blockedPreamble = newBoundary.contentPreamble;\n task2.hoistableState = newBoundary.contentState;\n task2.blockedSegment = contentRootSegment;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task2.row = null;\n contentRootSegment.status = 6;\n try {\n if (renderNode(request, task2, props, -1), contentRootSegment.lastPushedText && contentRootSegment.textEmbedded && contentRootSegment.chunks.push(textSeparator), contentRootSegment.status = 1, finishedSegment(request, newBoundary, contentRootSegment), queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {\n if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {\n null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks && task2.blockedPreamble && preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$31) {\n newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$31), defaultProps2 = getThrownInfo(task2.componentStack), initialState15 = logRecoverableError(\n request,\n newProps,\n defaultProps2\n ), newBoundary.errorDigest = initialState15, untrackBoundary(request, newBoundary);\n } finally {\n task2.blockedBoundary = propName$44, task2.blockedPreamble = propName, task2.hoistableState = parentHoistableState, task2.blockedSegment = parentSegment, task2.keyPath = type, task2.formatContext = ref, task2.row = prevRow;\n }\n task2 = createRenderTask(\n request,\n null,\n fallback,\n -1,\n propName$44,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n if (\"ref\" in props)\n for (parentSegment in newProps = {}, props)\n \"ref\" !== parentSegment && (newProps[parentSegment] = props[parentSegment]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task2,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE2:\n renderElement(request, task2, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps2 = props.children;\n newProps = task2.keyPath;\n props = props.value;\n initialState15 = type._currentValue;\n type._currentValue = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState15,\n value: props\n };\n task2.context = type;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, defaultProps2, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage3(403));\n request.context._currentValue = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task2.context = request;\n task2.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue);\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task2, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage3(130, null == type ? type : typeof type, \"\")\n );\n }\n }\n function resumeNode(request, task2, segmentId, node, childIndex) {\n var prevReplay = task2.replay, blockedBoundary = task2.blockedBoundary, resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = true;\n try {\n task2.replay = null, task2.blockedSegment = resumedSegment, renderNode(request, task2, node, childIndex), resumedSegment.status = 1, finishedSegment(request, blockedBoundary, resumedSegment), null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));\n } finally {\n task2.replay = prevReplay, task2.blockedSegment = null;\n }\n }\n function renderNodeDestructive(request, task2, node, childIndex) {\n null !== task2.replay && \"number\" === typeof task2.replay.slots ? resumeNode(request, task2, task2.replay.slots, node, childIndex) : (task2.node = node, task2.childIndex = childIndex, node = task2.componentStack, pushComponentStack(task2), retryNode(request, task2), task2.componentStack = node);\n }\n function retryNode(request, task2) {\n var node = task2.node, childIndex = task2.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type, key = node.key, props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;\n key = [task2.keyPath, name, keyOrIndex];\n if (null !== task2.replay)\n a: {\n var replay = task2.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage3(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task2.node;\n task2.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task2, key, type, props, ref);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw task2.node === keyOrIndex ? task2.replay = replay : childIndex.splice(node, 1), x2;\n task2.replay.pendingTasks--;\n props = getThrownInfo(task2.componentStack);\n key = request;\n request = task2.blockedBoundary;\n type = x2;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task2.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage3(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task2.keyPath, prevContext = task2.formatContext, prevRow = task2.row, previousReplaySet = task2.replay, parentBoundary = task2.blockedBoundary, parentHoistableState = task2.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();\n props = 2 > task2.formatContext.insertionMode ? createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n ) : createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = true;\n props.rootSegmentID = type;\n task2.blockedBoundary = props;\n task2.hoistableState = props.contentState;\n task2.keyPath = key;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task2.row = null;\n task2.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task2, content, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n props.status = 4, childNodes = getThrownInfo(task2.componentStack), replay = logRecoverableError(\n request,\n error,\n childNodes\n ), props.errorDigest = replay, task2.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.hoistableState = parentHoistableState, task2.replay = previousReplaySet, task2.keyPath = prevKeyPath, task2.formatContext = prevContext, task2.row = prevRow;\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task2, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage3(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task2, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task2, node, childIndex);\n return;\n }\n if (childNodes = getIteratorFn(node)) {\n if (childNodes = childNodes.call(node)) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do\n props.push(node.value), node = childNodes.next();\n while (!node.done);\n renderChildrenArray(request, task2, props, childIndex);\n }\n return;\n }\n }\n if (\"function\" === typeof node.then)\n return task2.thenableState = null, renderNodeDestructive(request, task2, unwrapThenable(node), childIndex);\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task2,\n node._currentValue,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage3(\n 31,\n \"[object Object]\" === childIndex ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\" : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n }\n function renderChildrenArray(request, task2, children, childIndex) {\n var prevKeyPath = task2.keyPath;\n if (-1 !== childIndex && (task2.keyPath = [task2.keyPath, \"Fragment\", childIndex], null !== task2.replay)) {\n for (var replay = task2.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task2.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task2, children, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw x2;\n task2.replay.pendingTasks--;\n children = getThrownInfo(task2.componentStack);\n var boundary = task2.blockedBoundary, error = x2;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task2.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task2.keyPath = prevKeyPath;\n return;\n }\n replay = task2.treeContext;\n replayNodes = children.length;\n if (null !== task2.replay && (j = task2.replay.slots, null !== j && \"object\" === typeof j)) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n node = children[childIndex], task2.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], \"number\" === typeof boundary ? (resumeNode(request, task2, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task2, node, childIndex);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n childIndex = children[j], task2.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task2, childIndex, j);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n }\n function trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage3(486));\n var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n }\n function trackPostpone(request, trackedPostpones, task2, segment) {\n segment.status = 5;\n var keyPath = task2.keyPath, boundary = task2.blockedBoundary;\n if (null === boundary)\n segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (boundary.trackedContentKeyPath === keyPath && -1 === task2.childIndex) {\n -1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);\n if (-1 === task2.childIndex)\n null === keyPath ? trackedPostpones.rootSlots = segment.id : (task2 = trackedPostpones.workingMap.get(keyPath), void 0 === task2 ? (task2 = [keyPath[1], keyPath[2], [], segment.id], addToReplayParent(task2, keyPath[0], trackedPostpones)) : task2[3] = segment.id);\n else {\n if (null === keyPath)\n if (request = trackedPostpones.rootSlots, null === request)\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n }\n else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode)\n request = {}, boundaryNode = [keyPath[1], keyPath[2], [], request], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (request = boundaryNode[3], null === request)\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n request[task2.childIndex] = segment.id;\n }\n }\n }\n function untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));\n }\n function spawnNewSuspendedReplayTask(request, task2, thenableState2) {\n return createReplayTask(\n request,\n thenableState2,\n task2.replay,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function spawnNewSuspendedRenderTask(request, task2, thenableState2) {\n var segment = task2.blockedSegment, newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task2.formatContext,\n segment.lastPushedText,\n true\n );\n segment.children.push(newSegment);\n segment.lastPushedText = false;\n return createRenderTask(\n request,\n thenableState2,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n newSegment,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function renderNode(request, task2, node, childIndex) {\n var previousFormatContext = task2.formatContext, previousContext = task2.context, previousKeyPath = task2.keyPath, previousTreeContext = task2.treeContext, previousComponentStack = task2.componentStack, segment = task2.blockedSegment;\n if (null === segment) {\n segment = task2.replay;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue) {\n if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedReplayTask(request, task2, childIndex).ping;\n node.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n node = spawnNewSuspendedReplayTask(request, task2, node);\n request.pingedTasks.push(node);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length, chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue$63) {\n if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$63 === SuspenseException ? getSuspendedThenable() : thrownValue$63, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedRenderTask(request, task2, node).ping;\n segment.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;\n segment = spawnNewSuspendedRenderTask(request, task2, segment);\n request.pingedTasks.push(segment);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n }\n function abortTaskSoft(task2) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n null !== segment && (segment.status = 3, finishedTask(this, boundary, task2.row, segment));\n }\n function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(\n request,\n null,\n /* @__PURE__ */ new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = true;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage3(487));\n 4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index2 in slots) delete slots[index2];\n }\n }\n function abortTask(task2, request, error) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task2.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task2.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task2, segment), finishedTask(request, null, task2.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$64 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$64 && null !== segment)\n return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$64, task2, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task2.row, segment);\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task2 = task2.row;\n null !== task2 && 0 === --task2.pendingTasks && finishSuspenseListRow(request, task2);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n }\n function safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState, onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.fontPreloads);\n headers.highImagePreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.highImagePreloads);\n if (!shellComplete) {\n var queueIter = renderState.styles.values(), queueStep = queueIter.next();\n b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next())\n for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {\n var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += \", \"), linkHeader += header, renderState.resets.style[key] = \"string\" === typeof props.crossOrigin || \"string\" === typeof props.integrity ? [props.crossOrigin, props.integrity] : PRELOAD_NO_CREDS;\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n }\n function completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop7;\n request = request.onShellReady;\n request();\n }\n function completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n }\n function queueCompletedSegment(boundary, segment) {\n if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = true;\n 1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n }\n function finishedSegment(request, boundary, segment) {\n if (null !== byteLengthOfChunk) {\n segment = segment.chunks;\n for (var segmentByteSize = 0, i = 0; i < segment.length; i++)\n segmentByteSize += segment[i].byteLength;\n null === boundary ? request.byteSize += segmentByteSize : boundary.byteSize += segmentByteSize;\n }\n }\n function finishedTask(request, boundary, row, segment) {\n null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage3(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if (boundary.pendingTasks--, 4 !== boundary.status)\n if (0 === boundary.pendingTasks)\n if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status)\n row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);\n else {\n if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment))\n for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n }\n function performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks, i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task2 = pingedTasks[i], request = request$jscomp$2, segment = task2.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task2.replay.pendingTasks) {\n switchContext(task2.context);\n try {\n \"number\" === typeof task2.replay.slots ? resumeNode(\n request$jscomp$0,\n task2,\n task2.replay.slots,\n task2.node,\n task2.childIndex\n ) : retryNode(request$jscomp$0, task2);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n finishedTask(\n request$jscomp$0,\n task2.blockedBoundary,\n task2.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x2 = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then) {\n var ping = task2.ping;\n x2.then(ping, ping);\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n } else {\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n var errorInfo = getThrownInfo(task2.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0, boundary = task2.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x2, replayNodes = task2.replay.nodes, resumeSlots = task2.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {\n request$jscomp$1.status = 6;\n switchContext(task2.context);\n var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task2), request$jscomp$1.lastPushedText && request$jscomp$1.textEmbedded && request$jscomp$1.chunks.push(textSeparator), task2.abortSet.delete(task2), request$jscomp$1.status = 1, finishedSegment(request, task2.blockedBoundary, request$jscomp$1), finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task2, request$jscomp$1);\n finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } else if (\"object\" === typeof x$jscomp$0 && null !== x$jscomp$0 && \"function\" === typeof x$jscomp$0.then) {\n request$jscomp$1.status = 0;\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n var ping$jscomp$0 = task2.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task2.blockedBoundary, row = task2.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);\n } finally {\n currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;\n }\n }\n }\n function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {\n segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = false, i = 0; i < segment.children.length; i++)\n pendingPreambles = preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n }\n function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return false;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage3(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return true;\n case 4:\n if (1 === segment.status)\n return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n default:\n return true;\n }\n }\n function preparePreamble(request) {\n if (request.completedRootSegment && null === request.completedPreambleSegments) {\n var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ), preamble = request.renderState.preamble;\n false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;\n }\n }\n function flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = true;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, writeChunk(destination, placeholder1), writeChunk(destination, request.placeholderPrefix), request = stringToChunk(hoistableState.toString(16)), writeChunk(destination, request), writeChunkAndReturn(destination, placeholder2);\n case 1:\n segment.status = 2;\n var r2 = true, chunks = segment.chunks, chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r2 = segment[childIdx]; chunkIdx < r2.index; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n r2 = flushSegment(request, destination, r2, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n chunkIdx < chunks.length && (r2 = writeChunkAndReturn(destination, chunks[chunkIdx]));\n return r2;\n case 3:\n return true;\n default:\n throw Error(formatProdErrorMessage3(390));\n }\n }\n var flushedByteSize = 0;\n function flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = true;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n boundary = boundary.errorDigest;\n writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);\n writeChunk(destination, clientRenderedSuspenseBoundaryError1);\n boundary && (writeChunk(destination, clientRenderedSuspenseBoundaryError1A), writeChunk(destination, stringToChunk(escapeTextForBrowser(boundary))), writeChunk(\n destination,\n clientRenderedSuspenseBoundaryErrorAttrInterstitial\n ));\n writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2);\n flushSubtree(request, destination, segment, hoistableState);\n } else if (1 !== boundary.status)\n 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState);\n else if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && (flushedByteSize + boundary.byteSize > request.progressiveChunkSize || hasSuspenseyContent(boundary.contentState)))\n boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), flushSubtree(request, destination, segment, hoistableState);\n else {\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n writeChunkAndReturn(destination, startCompletedSuspenseBoundary);\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage3(391));\n flushSegment(request, destination, segment[0], hoistableState);\n }\n return writeChunkAndReturn(destination, endSuspenseBoundary);\n }\n function flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n }\n function flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++)\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = false;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, writeChunk(destination, clientRenderScriptFunctionOnly)), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk(destination, completeBoundaryScriptFunctionOnly)), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, writeChunk(destination, completeBoundaryWithStylesScript1FullPartial)) : writeChunk(destination, completeBoundaryWithStylesScript1Partial)) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk(destination, completeBoundaryScriptFunctionOnly)), writeChunk(destination, completeBoundaryScript1Partial));\n completedSegments = stringToChunk(i.toString(16));\n writeChunk(destination, request.boundaryPrefix);\n writeChunk(destination, completedSegments);\n writeChunk(destination, completeBoundaryScript2);\n writeChunk(destination, request.segmentPrefix);\n writeChunk(destination, completedSegments);\n requiresStyleInsertion ? (writeChunk(destination, completeBoundaryScript3a), writeStyleResourceDependenciesInJS(destination, boundary)) : writeChunk(destination, completeBoundaryScript3b);\n boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd);\n return writeBootstrap(destination, request) && boundary;\n }\n function flushPartiallyCompletedSegment(request, destination, boundary, segment) {\n if (2 === segment.status) return true;\n var hoistableState = boundary.contentState, segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage3(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n 0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, writeChunk(destination, completeSegmentScript1Full)) : writeChunk(destination, completeSegmentScript1Partial);\n writeChunk(destination, request.segmentPrefix);\n segmentID = stringToChunk(segmentID.toString(16));\n writeChunk(destination, segmentID);\n writeChunk(destination, completeSegmentScript2);\n writeChunk(destination, request.placeholderPrefix);\n writeChunk(destination, segmentID);\n destination = writeChunkAndReturn(destination, completeSegmentScriptEnd);\n return destination;\n }\n var flushingPartialBoundaries = false;\n function flushCompletedQueues(request, destination) {\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i, completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n writeChunk(destination, htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n else\n writeChunk(destination, startChunkForTag(\"head\")), writeChunk(destination, endOfStartTag);\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n writeChunk(destination, charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n writeChunk(destination, viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n writeChunk(destination, importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n htmlChunks || headChunks || (resumableState.instructions |= 32);\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n writeChunk(destination, hoistableChunks[i$jscomp$0]);\n for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) && writeChunk(destination, endChunkForTag(\"head\"));\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++)\n writeChunk(destination, bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n writeChunk(destination, renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n writeChunk(destination, completedShellIdAttributeStart);\n writeChunk(\n destination,\n stringToChunk(escapeTextForBrowser(shellId))\n );\n writeChunk(destination, attributeEnd);\n }\n writeChunk(destination, endOfStartTag);\n writeChunk(destination, shellTimeRuntimeScript);\n writeChunkAndReturn(destination, endInlineScript);\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++)\n writeChunk(destination, viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++)\n writeChunk(destination, hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;\n writeChunk(\n renderState$jscomp$1,\n renderState$jscomp$2.startInlineScript\n );\n writeChunk(renderState$jscomp$1, endOfStartTag);\n 0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, writeChunk(renderState$jscomp$1, clientRenderScript1Full)) : writeChunk(renderState$jscomp$1, clientRenderScript1Partial);\n writeChunk(renderState$jscomp$1, renderState$jscomp$2.boundaryPrefix);\n writeChunk(renderState$jscomp$1, stringToChunk(id.toString(16)));\n writeChunk(renderState$jscomp$1, clientRenderScript1A);\n errorDigest && (writeChunk(\n renderState$jscomp$1,\n clientRenderErrorScriptArgInterstitial\n ), writeChunk(\n renderState$jscomp$1,\n stringToChunk(\n escapeJSStringsForInstructionScripts(errorDigest || \"\")\n )\n ));\n var JSCompiler_inline_result = writeChunkAndReturn(\n renderState$jscomp$1,\n clientRenderScriptEnd\n );\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n completeWriting(destination);\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n flushingPartialBoundaries = true;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$70 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$70.byteSize;\n var completedSegments = boundary$70.completedSegments;\n for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++)\n if (!flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$70,\n completedSegments[JSCompiler_inline_result]\n )) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = false;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$70.row;\n null !== row && row.together && 1 === boundary$70.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n ) : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$70.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = false;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length ? (request.flushScheduled = false, i = request.resumableState, i.hasBody && writeChunk(destination, endChunkForTag(\"body\")), i.hasHtml && writeChunk(destination, endChunkForTag(\"html\")), completeWriting(destination), request.status = 14, destination.close(), request.destination = null) : completeWriting(destination);\n }\n }\n function startWork(request) {\n request.flushScheduled = null !== request.destination;\n scheduleMicrotask(function() {\n return performWork(request);\n });\n scheduleWork(function() {\n 10 === request.status && (request.status = 11);\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);\n });\n }\n function enqueueFlush(request) {\n false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination && (request.flushScheduled = true, scheduleWork(function() {\n var destination = request.destination;\n destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;\n }));\n }\n function startFlowing(request, destination) {\n if (13 === request.status)\n request.status = 14, closeWithError(destination, request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n }\n function abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error = void 0 === reason ? Error(formatProdErrorMessage3(432)) : \"object\" === typeof reason && null !== reason && \"function\" === typeof reason.then ? Error(formatProdErrorMessage3(530)) : reason;\n request.fatalError = error;\n abortableTasks.forEach(function(task2) {\n return abortTask(task2, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination && flushCompletedQueues(request, request.destination);\n } catch (error$72) {\n logRecoverableError(request, error$72, {}), fatalError(request, error$72);\n }\n }\n function addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode && (parentNode = [parentKeyPath[1], parentKeyPath[2], [], null], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n }\n function getPostponedState(request) {\n var trackedPostpones = request.trackedPostpones;\n if (null === trackedPostpones || 0 === trackedPostpones.rootNodes.length && null === trackedPostpones.rootSlots)\n return request.trackedPostpones = null;\n if (null === request.completedRootSegment || 5 !== request.completedRootSegment.status && null !== request.completedPreambleSegments) {\n var nextSegmentId = request.nextSegmentId;\n var replaySlots = trackedPostpones.rootSlots;\n var resumableState = request.resumableState;\n resumableState.bootstrapScriptContent = void 0;\n resumableState.bootstrapScripts = void 0;\n resumableState.bootstrapModules = void 0;\n } else {\n nextSegmentId = 0;\n replaySlots = -1;\n resumableState = request.resumableState;\n var renderState = request.renderState;\n resumableState.nextFormID = 0;\n resumableState.hasBody = false;\n resumableState.hasHtml = false;\n resumableState.unknownResources = { font: renderState.resets.font };\n resumableState.dnsResources = renderState.resets.dns;\n resumableState.connectResources = renderState.resets.connect;\n resumableState.imageResources = renderState.resets.image;\n resumableState.styleResources = renderState.resets.style;\n resumableState.scriptResources = {};\n resumableState.moduleUnknownResources = {};\n resumableState.moduleScriptResources = {};\n resumableState.instructions = 0;\n }\n return {\n nextSegmentId,\n rootFormatContext: request.rootFormatContext,\n progressiveChunkSize: request.progressiveChunkSize,\n resumableState: request.resumableState,\n replayNodes: trackedPostpones.rootNodes,\n replaySlots\n };\n }\n function ensureCorrectIsomorphicReactVersion() {\n var isomorphicReactPackageVersion = React134.version;\n if (\"19.2.5\" !== isomorphicReactPackageVersion)\n throw Error(\n formatProdErrorMessage3(\n 527,\n isomorphicReactPackageVersion,\n \"19.2.5\"\n )\n );\n }\n ensureCorrectIsomorphicReactVersion();\n ensureCorrectIsomorphicReactVersion();\n exports.prerender = function(children, options2) {\n return new Promise(function(resolve, reject) {\n var onHeaders = options2 ? options2.onHeaders : void 0, onHeadersImpl;\n onHeaders && (onHeadersImpl = function(headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resources = createResumableState(\n options2 ? options2.identifierPrefix : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.bootstrapScriptContent : void 0,\n options2 ? options2.bootstrapScripts : void 0,\n options2 ? options2.bootstrapModules : void 0\n ), request = createPrerenderRequest(\n children,\n resources,\n createRenderState(\n resources,\n void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.importMap : void 0,\n onHeadersImpl,\n options2 ? options2.maxHeadersLength : void 0\n ),\n createRootFormatContext(options2 ? options2.namespaceURI : void 0),\n options2 ? options2.progressiveChunkSize : void 0,\n options2 ? options2.onError : void 0,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.renderToReadableStream = function(children, options2) {\n return new Promise(function(resolve, reject) {\n var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }), onHeaders = options2 ? options2.onHeaders : void 0, onHeadersImpl;\n onHeaders && (onHeadersImpl = function(headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resumableState = createResumableState(\n options2 ? options2.identifierPrefix : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.bootstrapScriptContent : void 0,\n options2 ? options2.bootstrapScripts : void 0,\n options2 ? options2.bootstrapModules : void 0\n ), request = createRequest(\n children,\n resumableState,\n createRenderState(\n resumableState,\n options2 ? options2.nonce : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.importMap : void 0,\n onHeadersImpl,\n options2 ? options2.maxHeadersLength : void 0\n ),\n createRootFormatContext(options2 ? options2.namespaceURI : void 0),\n options2 ? options2.progressiveChunkSize : void 0,\n options2 ? options2.onError : void 0,\n onAllReady,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function(error) {\n allReady.catch(function() {\n });\n reject(error);\n },\n onFatalError,\n options2 ? options2.onPostpone : void 0,\n options2 ? options2.formState : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.resume = function(children, postponedState, options2) {\n return new Promise(function(resolve, reject) {\n var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }), request = resumeRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n options2 ? options2.nonce : void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options2 ? options2.onError : void 0,\n onAllReady,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function(error) {\n allReady.catch(function() {\n });\n reject(error);\n },\n onFatalError,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.resumeAndPrerender = function(children, postponedState, options2) {\n return new Promise(function(resolve, reject) {\n var request = resumeAndPrerenderRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options2 ? options2.onError : void 0,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/server.browser.js\n var require_server_browser = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/server.browser.js\"(exports) {\n \"use strict\";\n var l;\n var s2;\n if (true) {\n l = require_react_dom_server_legacy_browser_production();\n s2 = require_react_dom_server_browser_production();\n } else {\n l = null;\n s2 = null;\n }\n exports.version = l.version;\n exports.renderToString = l.renderToString;\n exports.renderToStaticMarkup = l.renderToStaticMarkup;\n exports.renderToReadableStream = s2.renderToReadableStream;\n exports.resume = s2.resume;\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js\n var require_react_jsx_runtime_production = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js\"(exports) {\n \"use strict\";\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n function 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,\n key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n }\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = jsxProd;\n exports.jsxs = jsxProd;\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/jsx-runtime.js\n var require_jsx_runtime = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/jsx-runtime.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_jsx_runtime_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\n var require_resolve_uri_umd = __commonJS({\n \"../../../node_modules/.bun/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\"(exports, module) {\n (function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? module.exports = factory() : typeof define === \"function\" && define.amd ? define(factory) : (global = typeof globalThis !== \"undefined\" ? globalThis : global || self, global.resolveURI = factory());\n })(exports, (function() {\n \"use strict\";\n const schemeRegex = /^[\\w+.-]+:\\/\\//;\n const urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n const fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n function isAbsoluteUrl(input2) {\n return schemeRegex.test(input2);\n }\n function isSchemeRelativeUrl(input2) {\n return input2.startsWith(\"//\");\n }\n function isAbsolutePath(input2) {\n return input2.startsWith(\"/\");\n }\n function isFileUrl(input2) {\n return input2.startsWith(\"file:\");\n }\n function isRelative(input2) {\n return /^[.?#]/.test(input2);\n }\n function parseAbsoluteUrl(input2) {\n const match2 = urlRegex.exec(input2);\n return makeUrl(match2[1], match2[2] || \"\", match2[3], match2[4] || \"\", match2[5] || \"/\", match2[6] || \"\", match2[7] || \"\");\n }\n function parseFileUrl(input2) {\n const match2 = fileRegex.exec(input2);\n const path2 = match2[2];\n return makeUrl(\"file:\", \"\", match2[1] || \"\", \"\", isAbsolutePath(path2) ? path2 : \"/\" + path2, match2[3] || \"\", match2[4] || \"\");\n }\n function makeUrl(scheme, user, host, port, path2, query, hash) {\n return {\n scheme,\n user,\n host,\n port,\n path: path2,\n query,\n hash,\n type: 7\n };\n }\n function parseUrl(input2) {\n if (isSchemeRelativeUrl(input2)) {\n const url2 = parseAbsoluteUrl(\"http:\" + input2);\n url2.scheme = \"\";\n url2.type = 6;\n return url2;\n }\n if (isAbsolutePath(input2)) {\n const url2 = parseAbsoluteUrl(\"http://foo.com\" + input2);\n url2.scheme = \"\";\n url2.host = \"\";\n url2.type = 5;\n return url2;\n }\n if (isFileUrl(input2))\n return parseFileUrl(input2);\n if (isAbsoluteUrl(input2))\n return parseAbsoluteUrl(input2);\n const url = parseAbsoluteUrl(\"http://foo.com/\" + input2);\n url.scheme = \"\";\n url.host = \"\";\n url.type = input2 ? input2.startsWith(\"?\") ? 3 : input2.startsWith(\"#\") ? 2 : 4 : 1;\n return url;\n }\n function stripPathFilename(path2) {\n if (path2.endsWith(\"/..\"))\n return path2;\n const index2 = path2.lastIndexOf(\"/\");\n return path2.slice(0, index2 + 1);\n }\n function mergePaths(url, base) {\n normalizePath(base, base.type);\n if (url.path === \"/\") {\n url.path = base.path;\n } else {\n url.path = stripPathFilename(base.path) + url.path;\n }\n }\n function normalizePath(url, type) {\n const rel = type <= 4;\n const pieces = url.path.split(\"/\");\n let pointer = 1;\n let positive = 0;\n let addTrailingSlash = false;\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n addTrailingSlash = false;\n if (piece === \".\")\n continue;\n if (piece === \"..\") {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n pieces[pointer++] = piece;\n }\n continue;\n }\n pieces[pointer++] = piece;\n positive++;\n }\n let path2 = \"\";\n for (let i = 1; i < pointer; i++) {\n path2 += \"/\" + pieces[i];\n }\n if (!path2 || addTrailingSlash && !path2.endsWith(\"/..\")) {\n path2 += \"/\";\n }\n url.path = path2;\n }\n function resolve(input2, base) {\n if (!input2 && !base)\n return \"\";\n const url = parseUrl(input2);\n let inputType = url.type;\n if (base && inputType !== 7) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n switch (inputType) {\n case 1:\n url.hash = baseUrl.hash;\n // fall through\n case 2:\n url.query = baseUrl.query;\n // fall through\n case 3:\n case 4:\n mergePaths(url, baseUrl);\n // fall through\n case 5:\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n case 6:\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType)\n inputType = baseType;\n }\n normalizePath(url, inputType);\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n case 2:\n case 3:\n return queryHash;\n case 4: {\n const path2 = url.path.slice(1);\n if (!path2)\n return queryHash || \".\";\n if (isRelative(base || input2) && !isRelative(path2)) {\n return \"./\" + path2 + queryHash;\n }\n return path2 + queryHash;\n }\n case 5:\n return url.path + queryHash;\n default:\n return url.scheme + \"//\" + url.user + url.host + url.port + url.path + queryHash;\n }\n }\n return resolve;\n }));\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/util.js\n var require_util = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/util.js\"(exports) {\n \"use strict\";\n var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {\n d2.__proto__ = b2;\n } || function(d2, b2) {\n for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p];\n };\n return extendStatics(d, b);\n };\n return function(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.DetailContext = exports.NoopContext = exports.VError = void 0;\n var VError = (\n /** @class */\n (function(_super) {\n __extends(VError2, _super);\n function VError2(path2, message) {\n var _this = _super.call(this, message) || this;\n _this.path = path2;\n Object.setPrototypeOf(_this, VError2.prototype);\n return _this;\n }\n return VError2;\n })(Error)\n );\n exports.VError = VError;\n var NoopContext = (\n /** @class */\n (function() {\n function NoopContext2() {\n }\n NoopContext2.prototype.fail = function(relPath, message, score) {\n return false;\n };\n NoopContext2.prototype.unionResolver = function() {\n return this;\n };\n NoopContext2.prototype.createContext = function() {\n return this;\n };\n NoopContext2.prototype.resolveUnion = function(ur) {\n };\n return NoopContext2;\n })()\n );\n exports.NoopContext = NoopContext;\n var DetailContext = (\n /** @class */\n (function() {\n function DetailContext2() {\n this._propNames = [\"\"];\n this._messages = [null];\n this._score = 0;\n }\n DetailContext2.prototype.fail = function(relPath, message, score) {\n this._propNames.push(relPath);\n this._messages.push(message);\n this._score += score;\n return false;\n };\n DetailContext2.prototype.unionResolver = function() {\n return new DetailUnionResolver();\n };\n DetailContext2.prototype.resolveUnion = function(unionResolver) {\n var _a, _b;\n var u = unionResolver;\n var best = null;\n for (var _i = 0, _c = u.contexts; _i < _c.length; _i++) {\n var ctx = _c[_i];\n if (!best || ctx._score >= best._score) {\n best = ctx;\n }\n }\n if (best && best._score > 0) {\n (_a = this._propNames).push.apply(_a, best._propNames);\n (_b = this._messages).push.apply(_b, best._messages);\n }\n };\n DetailContext2.prototype.getError = function(path2) {\n var msgParts = [];\n for (var i = this._propNames.length - 1; i >= 0; i--) {\n var p = this._propNames[i];\n path2 += typeof p === \"number\" ? \"[\" + p + \"]\" : p ? \".\" + p : \"\";\n var m = this._messages[i];\n if (m) {\n msgParts.push(path2 + \" \" + m);\n }\n }\n return new VError(path2, msgParts.join(\"; \"));\n };\n DetailContext2.prototype.getErrorDetail = function(path2) {\n var details = [];\n for (var i = this._propNames.length - 1; i >= 0; i--) {\n var p = this._propNames[i];\n path2 += typeof p === \"number\" ? \"[\" + p + \"]\" : p ? \".\" + p : \"\";\n var message = this._messages[i];\n if (message) {\n details.push({ path: path2, message });\n }\n }\n var detail = null;\n for (var i = details.length - 1; i >= 0; i--) {\n if (detail) {\n details[i].nested = [detail];\n }\n detail = details[i];\n }\n return detail;\n };\n return DetailContext2;\n })()\n );\n exports.DetailContext = DetailContext;\n var DetailUnionResolver = (\n /** @class */\n (function() {\n function DetailUnionResolver2() {\n this.contexts = [];\n }\n DetailUnionResolver2.prototype.createContext = function() {\n var ctx = new DetailContext();\n this.contexts.push(ctx);\n return ctx;\n };\n return DetailUnionResolver2;\n })()\n );\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/types.js\n var require_types = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/types.js\"(exports) {\n \"use strict\";\n var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {\n d2.__proto__ = b2;\n } || function(d2, b2) {\n for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p];\n };\n return extendStatics(d, b);\n };\n return function(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.basicTypes = exports.BasicType = exports.TParamList = exports.TParam = exports.param = exports.TFunc = exports.func = exports.TProp = exports.TOptional = exports.opt = exports.TIface = exports.iface = exports.TEnumLiteral = exports.enumlit = exports.TEnumType = exports.enumtype = exports.TIntersection = exports.intersection = exports.TUnion = exports.union = exports.TTuple = exports.tuple = exports.TArray = exports.array = exports.TLiteral = exports.lit = exports.TName = exports.name = exports.TType = void 0;\n var util_1 = require_util();\n var TType = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TType2() {\n }\n return TType2;\n })()\n );\n exports.TType = TType;\n function parseSpec(typeSpec) {\n return typeof typeSpec === \"string\" ? name(typeSpec) : typeSpec;\n }\n function getNamedType(suite, name2) {\n var ttype = suite[name2];\n if (!ttype) {\n throw new Error(\"Unknown type \" + name2);\n }\n return ttype;\n }\n function name(value) {\n return new TName(value);\n }\n exports.name = name;\n var TName = (\n /** @class */\n (function(_super) {\n __extends(TName2, _super);\n function TName2(name2) {\n var _this = _super.call(this) || this;\n _this.name = name2;\n _this._failMsg = \"is not a \" + name2;\n return _this;\n }\n TName2.prototype.getChecker = function(suite, strict, allowedProps) {\n var _this = this;\n var ttype = getNamedType(suite, this.name);\n var checker = ttype.getChecker(suite, strict, allowedProps);\n if (ttype instanceof BasicType || ttype instanceof TName2) {\n return checker;\n }\n return function(value, ctx) {\n return checker(value, ctx) ? true : ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TName2;\n })(TType)\n );\n exports.TName = TName;\n function lit2(value) {\n return new TLiteral(value);\n }\n exports.lit = lit2;\n var TLiteral = (\n /** @class */\n (function(_super) {\n __extends(TLiteral2, _super);\n function TLiteral2(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n _this.name = JSON.stringify(value);\n _this._failMsg = \"is not \" + _this.name;\n return _this;\n }\n TLiteral2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return value === _this.value ? true : ctx.fail(null, _this._failMsg, -1);\n };\n };\n return TLiteral2;\n })(TType)\n );\n exports.TLiteral = TLiteral;\n function array2(typeSpec) {\n return new TArray(parseSpec(typeSpec));\n }\n exports.array = array2;\n var TArray = (\n /** @class */\n (function(_super) {\n __extends(TArray2, _super);\n function TArray2(ttype) {\n var _this = _super.call(this) || this;\n _this.ttype = ttype;\n return _this;\n }\n TArray2.prototype.getChecker = function(suite, strict) {\n var itemChecker = this.ttype.getChecker(suite, strict);\n return function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < value.length; i++) {\n var ok = itemChecker(value[i], ctx);\n if (!ok) {\n return ctx.fail(i, null, 1);\n }\n }\n return true;\n };\n };\n return TArray2;\n })(TType)\n );\n exports.TArray = TArray;\n function tuple() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TTuple(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.tuple = tuple;\n var TTuple = (\n /** @class */\n (function(_super) {\n __extends(TTuple2, _super);\n function TTuple2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n return _this;\n }\n TTuple2.prototype.getChecker = function(suite, strict) {\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict);\n });\n var checker = function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < itemCheckers.length; i++) {\n var ok = itemCheckers[i](value[i], ctx);\n if (!ok) {\n return ctx.fail(i, null, 1);\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n return value.length <= itemCheckers.length ? true : ctx.fail(itemCheckers.length, \"is extraneous\", 2);\n };\n };\n return TTuple2;\n })(TType)\n );\n exports.TTuple = TTuple;\n function union2() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TUnion(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.union = union2;\n var TUnion = (\n /** @class */\n (function(_super) {\n __extends(TUnion2, _super);\n function TUnion2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n var names = ttypes.map(function(t2) {\n return t2 instanceof TName || t2 instanceof TLiteral ? t2.name : null;\n }).filter(function(n) {\n return n;\n });\n var otherTypes = ttypes.length - names.length;\n if (names.length) {\n if (otherTypes > 0) {\n names.push(otherTypes + \" more\");\n }\n _this._failMsg = \"is none of \" + names.join(\", \");\n } else {\n _this._failMsg = \"is none of \" + otherTypes + \" types\";\n }\n return _this;\n }\n TUnion2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict);\n });\n return function(value, ctx) {\n var ur = ctx.unionResolver();\n for (var i = 0; i < itemCheckers.length; i++) {\n var ok = itemCheckers[i](value, ur.createContext());\n if (ok) {\n return true;\n }\n }\n ctx.resolveUnion(ur);\n return ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TUnion2;\n })(TType)\n );\n exports.TUnion = TUnion;\n function intersection() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TIntersection(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.intersection = intersection;\n var TIntersection = (\n /** @class */\n (function(_super) {\n __extends(TIntersection2, _super);\n function TIntersection2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n return _this;\n }\n TIntersection2.prototype.getChecker = function(suite, strict) {\n var allowedProps = /* @__PURE__ */ new Set();\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict, allowedProps);\n });\n return function(value, ctx) {\n var ok = itemCheckers.every(function(checker) {\n return checker(value, ctx);\n });\n if (ok) {\n return true;\n }\n return ctx.fail(null, null, 0);\n };\n };\n return TIntersection2;\n })(TType)\n );\n exports.TIntersection = TIntersection;\n function enumtype(values) {\n return new TEnumType(values);\n }\n exports.enumtype = enumtype;\n var TEnumType = (\n /** @class */\n (function(_super) {\n __extends(TEnumType2, _super);\n function TEnumType2(members) {\n var _this = _super.call(this) || this;\n _this.members = members;\n _this.validValues = /* @__PURE__ */ new Set();\n _this._failMsg = \"is not a valid enum value\";\n _this.validValues = new Set(Object.keys(members).map(function(name2) {\n return members[name2];\n }));\n return _this;\n }\n TEnumType2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return _this.validValues.has(value) ? true : ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TEnumType2;\n })(TType)\n );\n exports.TEnumType = TEnumType;\n function enumlit(name2, prop) {\n return new TEnumLiteral(name2, prop);\n }\n exports.enumlit = enumlit;\n var TEnumLiteral = (\n /** @class */\n (function(_super) {\n __extends(TEnumLiteral2, _super);\n function TEnumLiteral2(enumName, prop) {\n var _this = _super.call(this) || this;\n _this.enumName = enumName;\n _this.prop = prop;\n _this._failMsg = \"is not \" + enumName + \".\" + prop;\n return _this;\n }\n TEnumLiteral2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var ttype = getNamedType(suite, this.enumName);\n if (!(ttype instanceof TEnumType)) {\n throw new Error(\"Type \" + this.enumName + \" used in enumlit is not an enum type\");\n }\n var val = ttype.members[this.prop];\n if (!ttype.members.hasOwnProperty(this.prop)) {\n throw new Error(\"Unknown value \" + this.enumName + \".\" + this.prop + \" used in enumlit\");\n }\n return function(value, ctx) {\n return value === val ? true : ctx.fail(null, _this._failMsg, -1);\n };\n };\n return TEnumLiteral2;\n })(TType)\n );\n exports.TEnumLiteral = TEnumLiteral;\n function makeIfaceProps(props) {\n return Object.keys(props).map(function(name2) {\n return makeIfaceProp(name2, props[name2]);\n });\n }\n function makeIfaceProp(name2, prop) {\n return prop instanceof TOptional ? new TProp(name2, prop.ttype, true) : new TProp(name2, parseSpec(prop), false);\n }\n function iface2(bases, props) {\n return new TIface(bases, makeIfaceProps(props));\n }\n exports.iface = iface2;\n var TIface = (\n /** @class */\n (function(_super) {\n __extends(TIface2, _super);\n function TIface2(bases, props) {\n var _this = _super.call(this) || this;\n _this.bases = bases;\n _this.props = props;\n _this.propSet = new Set(props.map(function(p) {\n return p.name;\n }));\n return _this;\n }\n TIface2.prototype.getChecker = function(suite, strict, allowedProps) {\n var _this = this;\n var baseCheckers = this.bases.map(function(b) {\n return getNamedType(suite, b).getChecker(suite, strict);\n });\n var propCheckers = this.props.map(function(prop) {\n return prop.ttype.getChecker(suite, strict);\n });\n var testCtx = new util_1.NoopContext();\n var isPropRequired = this.props.map(function(prop, i) {\n return !prop.isOpt && !propCheckers[i](void 0, testCtx);\n });\n var checker = function(value, ctx) {\n if (typeof value !== \"object\" || value === null) {\n return ctx.fail(null, \"is not an object\", 0);\n }\n for (var i = 0; i < baseCheckers.length; i++) {\n if (!baseCheckers[i](value, ctx)) {\n return false;\n }\n }\n for (var i = 0; i < propCheckers.length; i++) {\n var name_1 = _this.props[i].name;\n var v = value[name_1];\n if (v === void 0) {\n if (isPropRequired[i]) {\n return ctx.fail(name_1, \"is missing\", 1);\n }\n } else {\n var ok = propCheckers[i](v, ctx);\n if (!ok) {\n return ctx.fail(name_1, null, 1);\n }\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n var propSet = this.propSet;\n if (allowedProps) {\n this.propSet.forEach(function(prop) {\n return allowedProps.add(prop);\n });\n propSet = allowedProps;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n for (var prop in value) {\n if (!propSet.has(prop)) {\n return ctx.fail(prop, \"is extraneous\", 2);\n }\n }\n return true;\n };\n };\n return TIface2;\n })(TType)\n );\n exports.TIface = TIface;\n function opt2(typeSpec) {\n return new TOptional(parseSpec(typeSpec));\n }\n exports.opt = opt2;\n var TOptional = (\n /** @class */\n (function(_super) {\n __extends(TOptional2, _super);\n function TOptional2(ttype) {\n var _this = _super.call(this) || this;\n _this.ttype = ttype;\n return _this;\n }\n TOptional2.prototype.getChecker = function(suite, strict) {\n var itemChecker = this.ttype.getChecker(suite, strict);\n return function(value, ctx) {\n return value === void 0 || itemChecker(value, ctx);\n };\n };\n return TOptional2;\n })(TType)\n );\n exports.TOptional = TOptional;\n var TProp = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TProp2(name2, ttype, isOpt) {\n this.name = name2;\n this.ttype = ttype;\n this.isOpt = isOpt;\n }\n return TProp2;\n })()\n );\n exports.TProp = TProp;\n function func(resultSpec) {\n var params = [];\n for (var _i2 = 1; _i2 < arguments.length; _i2++) {\n params[_i2 - 1] = arguments[_i2];\n }\n return new TFunc(new TParamList(params), parseSpec(resultSpec));\n }\n exports.func = func;\n var TFunc = (\n /** @class */\n (function(_super) {\n __extends(TFunc2, _super);\n function TFunc2(paramList, result) {\n var _this = _super.call(this) || this;\n _this.paramList = paramList;\n _this.result = result;\n return _this;\n }\n TFunc2.prototype.getChecker = function(suite, strict) {\n return function(value, ctx) {\n return typeof value === \"function\" ? true : ctx.fail(null, \"is not a function\", 0);\n };\n };\n return TFunc2;\n })(TType)\n );\n exports.TFunc = TFunc;\n function param(name2, typeSpec, isOpt) {\n return new TParam(name2, parseSpec(typeSpec), Boolean(isOpt));\n }\n exports.param = param;\n var TParam = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TParam2(name2, ttype, isOpt) {\n this.name = name2;\n this.ttype = ttype;\n this.isOpt = isOpt;\n }\n return TParam2;\n })()\n );\n exports.TParam = TParam;\n var TParamList = (\n /** @class */\n (function(_super) {\n __extends(TParamList2, _super);\n function TParamList2(params) {\n var _this = _super.call(this) || this;\n _this.params = params;\n return _this;\n }\n TParamList2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var itemCheckers = this.params.map(function(t2) {\n return t2.ttype.getChecker(suite, strict);\n });\n var testCtx = new util_1.NoopContext();\n var isParamRequired = this.params.map(function(param2, i) {\n return !param2.isOpt && !itemCheckers[i](void 0, testCtx);\n });\n var checker = function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < itemCheckers.length; i++) {\n var p = _this.params[i];\n if (value[i] === void 0) {\n if (isParamRequired[i]) {\n return ctx.fail(p.name, \"is missing\", 1);\n }\n } else {\n var ok = itemCheckers[i](value[i], ctx);\n if (!ok) {\n return ctx.fail(p.name, null, 1);\n }\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n return value.length <= itemCheckers.length ? true : ctx.fail(itemCheckers.length, \"is extraneous\", 2);\n };\n };\n return TParamList2;\n })(TType)\n );\n exports.TParamList = TParamList;\n var BasicType = (\n /** @class */\n (function(_super) {\n __extends(BasicType2, _super);\n function BasicType2(validator, message) {\n var _this = _super.call(this) || this;\n _this.validator = validator;\n _this.message = message;\n return _this;\n }\n BasicType2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return _this.validator(value) ? true : ctx.fail(null, _this.message, 0);\n };\n };\n return BasicType2;\n })(TType)\n );\n exports.BasicType = BasicType;\n exports.basicTypes = {\n any: new BasicType(function(v) {\n return true;\n }, \"is invalid\"),\n number: new BasicType(function(v) {\n return typeof v === \"number\";\n }, \"is not a number\"),\n object: new BasicType(function(v) {\n return typeof v === \"object\" && v;\n }, \"is not an object\"),\n boolean: new BasicType(function(v) {\n return typeof v === \"boolean\";\n }, \"is not a boolean\"),\n string: new BasicType(function(v) {\n return typeof v === \"string\";\n }, \"is not a string\"),\n symbol: new BasicType(function(v) {\n return typeof v === \"symbol\";\n }, \"is not a symbol\"),\n void: new BasicType(function(v) {\n return v == null;\n }, \"is not void\"),\n undefined: new BasicType(function(v) {\n return v === void 0;\n }, \"is not undefined\"),\n null: new BasicType(function(v) {\n return v === null;\n }, \"is not null\"),\n never: new BasicType(function(v) {\n return false;\n }, \"is unexpected\"),\n Date: new BasicType(getIsNativeChecker(\"[object Date]\"), \"is not a Date\"),\n RegExp: new BasicType(getIsNativeChecker(\"[object RegExp]\"), \"is not a RegExp\")\n };\n var nativeToString = Object.prototype.toString;\n function getIsNativeChecker(tag) {\n return function(v) {\n return typeof v === \"object\" && v && nativeToString.call(v) === tag;\n };\n }\n if (typeof Buffer !== \"undefined\") {\n exports.basicTypes.Buffer = new BasicType(function(v) {\n return Buffer.isBuffer(v);\n }, \"is not a Buffer\");\n }\n var _loop_1 = function(array_12) {\n exports.basicTypes[array_12.name] = new BasicType(function(v) {\n return v instanceof array_12;\n }, \"is not a \" + array_12.name);\n };\n for (_i = 0, _a = [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ArrayBuffer\n ]; _i < _a.length; _i++) {\n array_1 = _a[_i];\n _loop_1(array_1);\n }\n var array_1;\n var _i;\n var _a;\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/index.js\n var require_dist = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/index.js\"(exports) {\n \"use strict\";\n var __spreadArrays = exports && exports.__spreadArrays || function() {\n for (var s2 = 0, i = 0, il = arguments.length; i < il; i++) s2 += arguments[i].length;\n for (var r2 = Array(s2), k2 = 0, i = 0; i < il; i++)\n for (var a2 = arguments[i], j = 0, jl = a2.length; j < jl; j++, k2++)\n r2[k2] = a2[j];\n return r2;\n };\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.Checker = exports.createCheckers = void 0;\n var types_1 = require_types();\n var util_1 = require_util();\n var types_2 = require_types();\n Object.defineProperty(exports, \"TArray\", { enumerable: true, get: function() {\n return types_2.TArray;\n } });\n Object.defineProperty(exports, \"TEnumType\", { enumerable: true, get: function() {\n return types_2.TEnumType;\n } });\n Object.defineProperty(exports, \"TEnumLiteral\", { enumerable: true, get: function() {\n return types_2.TEnumLiteral;\n } });\n Object.defineProperty(exports, \"TFunc\", { enumerable: true, get: function() {\n return types_2.TFunc;\n } });\n Object.defineProperty(exports, \"TIface\", { enumerable: true, get: function() {\n return types_2.TIface;\n } });\n Object.defineProperty(exports, \"TLiteral\", { enumerable: true, get: function() {\n return types_2.TLiteral;\n } });\n Object.defineProperty(exports, \"TName\", { enumerable: true, get: function() {\n return types_2.TName;\n } });\n Object.defineProperty(exports, \"TOptional\", { enumerable: true, get: function() {\n return types_2.TOptional;\n } });\n Object.defineProperty(exports, \"TParam\", { enumerable: true, get: function() {\n return types_2.TParam;\n } });\n Object.defineProperty(exports, \"TParamList\", { enumerable: true, get: function() {\n return types_2.TParamList;\n } });\n Object.defineProperty(exports, \"TProp\", { enumerable: true, get: function() {\n return types_2.TProp;\n } });\n Object.defineProperty(exports, \"TTuple\", { enumerable: true, get: function() {\n return types_2.TTuple;\n } });\n Object.defineProperty(exports, \"TType\", { enumerable: true, get: function() {\n return types_2.TType;\n } });\n Object.defineProperty(exports, \"TUnion\", { enumerable: true, get: function() {\n return types_2.TUnion;\n } });\n Object.defineProperty(exports, \"TIntersection\", { enumerable: true, get: function() {\n return types_2.TIntersection;\n } });\n Object.defineProperty(exports, \"array\", { enumerable: true, get: function() {\n return types_2.array;\n } });\n Object.defineProperty(exports, \"enumlit\", { enumerable: true, get: function() {\n return types_2.enumlit;\n } });\n Object.defineProperty(exports, \"enumtype\", { enumerable: true, get: function() {\n return types_2.enumtype;\n } });\n Object.defineProperty(exports, \"func\", { enumerable: true, get: function() {\n return types_2.func;\n } });\n Object.defineProperty(exports, \"iface\", { enumerable: true, get: function() {\n return types_2.iface;\n } });\n Object.defineProperty(exports, \"lit\", { enumerable: true, get: function() {\n return types_2.lit;\n } });\n Object.defineProperty(exports, \"name\", { enumerable: true, get: function() {\n return types_2.name;\n } });\n Object.defineProperty(exports, \"opt\", { enumerable: true, get: function() {\n return types_2.opt;\n } });\n Object.defineProperty(exports, \"param\", { enumerable: true, get: function() {\n return types_2.param;\n } });\n Object.defineProperty(exports, \"tuple\", { enumerable: true, get: function() {\n return types_2.tuple;\n } });\n Object.defineProperty(exports, \"union\", { enumerable: true, get: function() {\n return types_2.union;\n } });\n Object.defineProperty(exports, \"intersection\", { enumerable: true, get: function() {\n return types_2.intersection;\n } });\n Object.defineProperty(exports, \"BasicType\", { enumerable: true, get: function() {\n return types_2.BasicType;\n } });\n var util_2 = require_util();\n Object.defineProperty(exports, \"VError\", { enumerable: true, get: function() {\n return util_2.VError;\n } });\n function createCheckers2() {\n var typeSuite = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n typeSuite[_i] = arguments[_i];\n }\n var fullSuite = Object.assign.apply(Object, __spreadArrays([{}, types_1.basicTypes], typeSuite));\n var checkers = {};\n for (var _a = 0, typeSuite_1 = typeSuite; _a < typeSuite_1.length; _a++) {\n var suite_1 = typeSuite_1[_a];\n for (var _b = 0, _c = Object.keys(suite_1); _b < _c.length; _b++) {\n var name = _c[_b];\n checkers[name] = new Checker(fullSuite, suite_1[name]);\n }\n }\n return checkers;\n }\n exports.createCheckers = createCheckers2;\n var Checker = (\n /** @class */\n (function() {\n function Checker2(suite, ttype, _path) {\n if (_path === void 0) {\n _path = \"value\";\n }\n this.suite = suite;\n this.ttype = ttype;\n this._path = _path;\n this.props = /* @__PURE__ */ new Map();\n if (ttype instanceof types_1.TIface) {\n for (var _i = 0, _a = ttype.props; _i < _a.length; _i++) {\n var p = _a[_i];\n this.props.set(p.name, p.ttype);\n }\n }\n this.checkerPlain = this.ttype.getChecker(suite, false);\n this.checkerStrict = this.ttype.getChecker(suite, true);\n }\n Checker2.prototype.setReportedPath = function(path2) {\n this._path = path2;\n };\n Checker2.prototype.check = function(value) {\n return this._doCheck(this.checkerPlain, value);\n };\n Checker2.prototype.test = function(value) {\n return this.checkerPlain(value, new util_1.NoopContext());\n };\n Checker2.prototype.validate = function(value) {\n return this._doValidate(this.checkerPlain, value);\n };\n Checker2.prototype.strictCheck = function(value) {\n return this._doCheck(this.checkerStrict, value);\n };\n Checker2.prototype.strictTest = function(value) {\n return this.checkerStrict(value, new util_1.NoopContext());\n };\n Checker2.prototype.strictValidate = function(value) {\n return this._doValidate(this.checkerStrict, value);\n };\n Checker2.prototype.getProp = function(prop) {\n var ttype = this.props.get(prop);\n if (!ttype) {\n throw new Error(\"Type has no property \" + prop);\n }\n return new Checker2(this.suite, ttype, this._path + \".\" + prop);\n };\n Checker2.prototype.methodArgs = function(methodName) {\n var tfunc = this._getMethod(methodName);\n return new Checker2(this.suite, tfunc.paramList);\n };\n Checker2.prototype.methodResult = function(methodName) {\n var tfunc = this._getMethod(methodName);\n return new Checker2(this.suite, tfunc.result);\n };\n Checker2.prototype.getArgs = function() {\n if (!(this.ttype instanceof types_1.TFunc)) {\n throw new Error(\"getArgs() applied to non-function\");\n }\n return new Checker2(this.suite, this.ttype.paramList);\n };\n Checker2.prototype.getResult = function() {\n if (!(this.ttype instanceof types_1.TFunc)) {\n throw new Error(\"getResult() applied to non-function\");\n }\n return new Checker2(this.suite, this.ttype.result);\n };\n Checker2.prototype.getType = function() {\n return this.ttype;\n };\n Checker2.prototype._doCheck = function(checkerFunc, value) {\n var noopCtx = new util_1.NoopContext();\n if (!checkerFunc(value, noopCtx)) {\n var detailCtx = new util_1.DetailContext();\n checkerFunc(value, detailCtx);\n throw detailCtx.getError(this._path);\n }\n };\n Checker2.prototype._doValidate = function(checkerFunc, value) {\n var noopCtx = new util_1.NoopContext();\n if (checkerFunc(value, noopCtx)) {\n return null;\n }\n var detailCtx = new util_1.DetailContext();\n checkerFunc(value, detailCtx);\n return detailCtx.getErrorDetail(this._path);\n };\n Checker2.prototype._getMethod = function(methodName) {\n var ttype = this.props.get(methodName);\n if (!ttype) {\n throw new Error(\"Type has no property \" + methodName);\n }\n if (!(ttype instanceof types_1.TFunc)) {\n throw new Error(\"Property \" + methodName + \" is not a method\");\n }\n return ttype;\n };\n return Checker2;\n })()\n );\n exports.Checker = Checker;\n }\n });\n\n // ../../../node_modules/.bun/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js\n var require_build = __commonJS({\n \"../../../node_modules/.bun/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js\"(exports) {\n \"use strict\";\n exports.__esModule = true;\n exports.LinesAndColumns = void 0;\n var LF = \"\\n\";\n var CR = \"\\r\";\n var LinesAndColumns2 = (\n /** @class */\n (function() {\n function LinesAndColumns3(string) {\n this.string = string;\n var offsets = [0];\n for (var offset4 = 0; offset4 < string.length; ) {\n switch (string[offset4]) {\n case LF:\n offset4 += LF.length;\n offsets.push(offset4);\n break;\n case CR:\n offset4 += CR.length;\n if (string[offset4] === LF) {\n offset4 += LF.length;\n }\n offsets.push(offset4);\n break;\n default:\n offset4++;\n break;\n }\n }\n this.offsets = offsets;\n }\n LinesAndColumns3.prototype.locationForIndex = function(index2) {\n if (index2 < 0 || index2 > this.string.length) {\n return null;\n }\n var line = 0;\n var offsets = this.offsets;\n while (offsets[line + 1] <= index2) {\n line++;\n }\n var column = index2 - offsets[line];\n return { line, column };\n };\n LinesAndColumns3.prototype.indexForLocation = function(location) {\n var line = location.line, column = location.column;\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n return this.offsets[line] + column;\n };\n LinesAndColumns3.prototype.lengthOfLine = function(line) {\n var offset4 = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];\n return nextOffset - offset4;\n };\n return LinesAndColumns3;\n })()\n );\n exports.LinesAndColumns = LinesAndColumns2;\n exports[\"default\"] = LinesAndColumns2;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js\n var require_use_sync_external_store_shim_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useState51 = React134.useState;\n var useEffect61 = React134.useEffect;\n var useLayoutEffect13 = React134.useLayoutEffect;\n var useDebugValue2 = React134.useDebugValue;\n function useSyncExternalStore$2(subscribe2, getSnapshot) {\n var value = getSnapshot(), _useState = useState51({ inst: { value, getSnapshot } }), inst = _useState[0].inst, forceUpdate = _useState[1];\n useLayoutEffect13(\n function() {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n },\n [subscribe2, value, getSnapshot]\n );\n useEffect61(\n function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n return subscribe2(function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n });\n },\n [subscribe2]\n );\n useDebugValue2(value);\n return value;\n }\n function 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 true;\n }\n }\n function useSyncExternalStore$1(subscribe2, getSnapshot) {\n return getSnapshot();\n }\n var shim = \"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;\n exports.useSyncExternalStore = void 0 !== React134.useSyncExternalStore ? React134.useSyncExternalStore : shim;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/index.js\n var require_shim = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_use_sync_external_store_shim_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js\n var require_isUnsafeProperty = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isUnsafeProperty(key) {\n return key === \"__proto__\";\n }\n exports.isUnsafeProperty = isUnsafeProperty;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js\n var require_isDeepKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isDeepKey(key) {\n switch (typeof key) {\n case \"number\":\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return key.includes(\".\") || key.includes(\"[\") || key.includes(\"]\");\n }\n }\n }\n exports.isDeepKey = isDeepKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toKey.js\n var require_toKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toKey(value) {\n if (typeof value === \"string\" || typeof value === \"symbol\") {\n return value;\n }\n if (Object.is(value?.valueOf?.(), -0)) {\n return \"-0\";\n }\n return String(value);\n }\n exports.toKey = toKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toString.js\n var require_toString = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toString.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toString(value) {\n if (value == null) {\n return \"\";\n }\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(toString).join(\",\");\n }\n const result = String(value);\n if (result === \"0\" && Object.is(Number(value), -0)) {\n return \"-0\";\n }\n return result;\n }\n exports.toString = toString;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toPath.js\n var require_toPath = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toPath.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toString = require_toString();\n var toKey = require_toKey();\n function toPath(deepKey) {\n if (Array.isArray(deepKey)) {\n return deepKey.map(toKey.toKey);\n }\n if (typeof deepKey === \"symbol\") {\n return [deepKey];\n }\n deepKey = toString.toString(deepKey);\n const result = [];\n const length = deepKey.length;\n if (length === 0) {\n return result;\n }\n let index2 = 0;\n let key = \"\";\n let quoteChar = \"\";\n let bracket = false;\n if (deepKey.charCodeAt(0) === 46) {\n result.push(\"\");\n index2++;\n }\n while (index2 < length) {\n const char = deepKey[index2];\n if (quoteChar) {\n if (char === \"\\\\\" && index2 + 1 < length) {\n index2++;\n key += deepKey[index2];\n } else if (char === quoteChar) {\n quoteChar = \"\";\n } else {\n key += char;\n }\n } else if (bracket) {\n if (char === '\"' || char === \"'\") {\n quoteChar = char;\n } else if (char === \"]\") {\n bracket = false;\n result.push(key);\n key = \"\";\n } else {\n key += char;\n }\n } else {\n if (char === \"[\") {\n bracket = true;\n if (key) {\n result.push(key);\n key = \"\";\n }\n } else if (char === \".\") {\n if (key) {\n result.push(key);\n key = \"\";\n }\n } else {\n key += char;\n }\n }\n index2++;\n }\n if (key) {\n result.push(key);\n }\n return result;\n }\n exports.toPath = toPath;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/get.js\n var require_get = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/get.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isUnsafeProperty = require_isUnsafeProperty();\n var isDeepKey = require_isDeepKey();\n var toKey = require_toKey();\n var toPath = require_toPath();\n function get9(object, path2, defaultValue) {\n if (object == null) {\n return defaultValue;\n }\n switch (typeof path2) {\n case \"string\": {\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return defaultValue;\n }\n const result = object[path2];\n if (result === void 0) {\n if (isDeepKey.isDeepKey(path2)) {\n return get9(object, toPath.toPath(path2), defaultValue);\n } else {\n return defaultValue;\n }\n }\n return result;\n }\n case \"number\":\n case \"symbol\": {\n if (typeof path2 === \"number\") {\n path2 = toKey.toKey(path2);\n }\n const result = object[path2];\n if (result === void 0) {\n return defaultValue;\n }\n return result;\n }\n default: {\n if (Array.isArray(path2)) {\n return getWithPath(object, path2, defaultValue);\n }\n if (Object.is(path2?.valueOf(), -0)) {\n path2 = \"-0\";\n } else {\n path2 = String(path2);\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return defaultValue;\n }\n const result = object[path2];\n if (result === void 0) {\n return defaultValue;\n }\n return result;\n }\n }\n }\n function getWithPath(object, path2, defaultValue) {\n if (path2.length === 0) {\n return defaultValue;\n }\n let current3 = object;\n for (let index2 = 0; index2 < path2.length; index2++) {\n if (current3 == null) {\n return defaultValue;\n }\n if (isUnsafeProperty.isUnsafeProperty(path2[index2])) {\n return defaultValue;\n }\n current3 = current3[path2[index2]];\n }\n if (current3 === void 0) {\n return defaultValue;\n }\n return current3;\n }\n exports.get = get9;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/get.js\n var require_get2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/get.js\"(exports, module) {\n module.exports = require_get().get;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/uniqBy.js\n var require_uniqBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/uniqBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function uniqBy2(arr, mapper) {\n const map2 = /* @__PURE__ */ new Map();\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const key = mapper(item, i, arr);\n if (!map2.has(key)) {\n map2.set(key, item);\n }\n }\n return Array.from(map2.values());\n }\n exports.uniqBy = uniqBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/ary.js\n var require_ary = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/ary.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function ary(func, n) {\n return function(...args) {\n return func.apply(this, args.slice(0, n));\n };\n }\n exports.ary = ary;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/identity.js\n var require_identity = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/identity.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function identity3(x2) {\n return x2;\n }\n exports.identity = identity3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.js\n var require_isLength = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n }\n exports.isLength = isLength;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js\n var require_isArrayLike = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isLength = require_isLength();\n function isArrayLike(value) {\n return value != null && typeof value !== \"function\" && isLength.isLength(value.length);\n }\n exports.isArrayLike = isArrayLike;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js\n var require_isObjectLike = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isObjectLike(value) {\n return typeof value === \"object\" && value !== null;\n }\n exports.isObjectLike = isObjectLike;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js\n var require_isArrayLikeObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isArrayLike = require_isArrayLike();\n var isObjectLike = require_isObjectLike();\n function isArrayLikeObject(value) {\n return isObjectLike.isObjectLike(value) && isArrayLike.isArrayLike(value);\n }\n exports.isArrayLikeObject = isArrayLikeObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/property.js\n var require_property = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/property.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var get9 = require_get();\n function property(path2) {\n return function(object) {\n return get9.get(object, path2);\n };\n }\n exports.property = property;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObject.js\n var require_isObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isObject(value) {\n return value !== null && (typeof value === \"object\" || typeof value === \"function\");\n }\n exports.isObject = isObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isPrimitive.js\n var require_isPrimitive = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isPrimitive.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPrimitive(value) {\n return value == null || typeof value !== \"object\" && typeof value !== \"function\";\n }\n exports.isPrimitive = isPrimitive;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js\n var require_isEqualsSameValueZero = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isEqualsSameValueZero(value, other) {\n return value === other || Number.isNaN(value) && Number.isNaN(other);\n }\n exports.isEqualsSameValueZero = isEqualsSameValueZero;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js\n var require_isMatchWith = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isObject = require_isObject();\n var isPrimitive = require_isPrimitive();\n var isEqualsSameValueZero = require_isEqualsSameValueZero();\n function isMatchWith(target, source, compare) {\n if (typeof compare !== \"function\") {\n return isMatchWith(target, source, () => void 0);\n }\n return isMatchWithInternal(target, source, function doesMatch(objValue, srcValue, key, object, source2, stack) {\n const isEqual = compare(objValue, srcValue, key, object, source2, stack);\n if (isEqual !== void 0) {\n return Boolean(isEqual);\n }\n return isMatchWithInternal(objValue, srcValue, doesMatch, stack);\n }, /* @__PURE__ */ new Map());\n }\n function isMatchWithInternal(target, source, compare, stack) {\n if (source === target) {\n return true;\n }\n switch (typeof source) {\n case \"object\": {\n return isObjectMatch(target, source, compare, stack);\n }\n case \"function\": {\n const sourceKeys = Object.keys(source);\n if (sourceKeys.length > 0) {\n return isMatchWithInternal(target, { ...source }, compare, stack);\n }\n return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n }\n default: {\n if (!isObject.isObject(target)) {\n return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n }\n if (typeof source === \"string\") {\n return source === \"\";\n }\n return true;\n }\n }\n }\n function isObjectMatch(target, source, compare, stack) {\n if (source == null) {\n return true;\n }\n if (Array.isArray(source)) {\n return isArrayMatch(target, source, compare, stack);\n }\n if (source instanceof Map) {\n return isMapMatch(target, source, compare, stack);\n }\n if (source instanceof Set) {\n return isSetMatch(target, source, compare, stack);\n }\n const keys = Object.keys(source);\n if (target == null || isPrimitive.isPrimitive(target)) {\n return keys.length === 0;\n }\n if (keys.length === 0) {\n return true;\n }\n if (stack?.has(source)) {\n return stack.get(source) === target;\n }\n stack?.set(source, target);\n try {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!isPrimitive.isPrimitive(target) && !(key in target)) {\n return false;\n }\n if (source[key] === void 0 && target[key] !== void 0) {\n return false;\n }\n if (source[key] === null && target[key] !== null) {\n return false;\n }\n const isEqual = compare(target[key], source[key], key, target, source, stack);\n if (!isEqual) {\n return false;\n }\n }\n return true;\n } finally {\n stack?.delete(source);\n }\n }\n function isMapMatch(target, source, compare, stack) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Map)) {\n return false;\n }\n for (const [key, sourceValue] of source.entries()) {\n const targetValue = target.get(key);\n const isEqual = compare(targetValue, sourceValue, key, target, source, stack);\n if (isEqual === false) {\n return false;\n }\n }\n return true;\n }\n function isArrayMatch(target, source, compare, stack) {\n if (source.length === 0) {\n return true;\n }\n if (!Array.isArray(target)) {\n return false;\n }\n const countedIndex = /* @__PURE__ */ new Set();\n for (let i = 0; i < source.length; i++) {\n const sourceItem = source[i];\n let found = false;\n for (let j = 0; j < target.length; j++) {\n if (countedIndex.has(j)) {\n continue;\n }\n const targetItem = target[j];\n let matches2 = false;\n const isEqual = compare(targetItem, sourceItem, i, target, source, stack);\n if (isEqual) {\n matches2 = true;\n }\n if (matches2) {\n countedIndex.add(j);\n found = true;\n break;\n }\n }\n if (!found) {\n return false;\n }\n }\n return true;\n }\n function isSetMatch(target, source, compare, stack) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Set)) {\n return false;\n }\n return isArrayMatch([...target], [...source], compare, stack);\n }\n exports.isMatchWith = isMatchWith;\n exports.isSetMatch = isSetMatch;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatch.js\n var require_isMatch = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatch.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatchWith = require_isMatchWith();\n function isMatch(target, source) {\n return isMatchWith.isMatchWith(target, source, () => void 0);\n }\n exports.isMatch = isMatch;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js\n var require_getSymbols = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));\n }\n exports.getSymbols = getSymbols;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.js\n var require_getTag = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getTag(value) {\n if (value == null) {\n return value === void 0 ? \"[object Undefined]\" : \"[object Null]\";\n }\n return Object.prototype.toString.call(value);\n }\n exports.getTag = getTag;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/tags.js\n var require_tags = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/tags.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var regexpTag = \"[object RegExp]\";\n var stringTag = \"[object String]\";\n var numberTag = \"[object Number]\";\n var booleanTag = \"[object Boolean]\";\n var argumentsTag = \"[object Arguments]\";\n var symbolTag = \"[object Symbol]\";\n var dateTag = \"[object Date]\";\n var mapTag = \"[object Map]\";\n var setTag = \"[object Set]\";\n var arrayTag = \"[object Array]\";\n var functionTag = \"[object Function]\";\n var arrayBufferTag = \"[object ArrayBuffer]\";\n var objectTag = \"[object Object]\";\n var errorTag = \"[object Error]\";\n var dataViewTag = \"[object DataView]\";\n var uint8ArrayTag = \"[object Uint8Array]\";\n var uint8ClampedArrayTag = \"[object Uint8ClampedArray]\";\n var uint16ArrayTag = \"[object Uint16Array]\";\n var uint32ArrayTag = \"[object Uint32Array]\";\n var bigUint64ArrayTag = \"[object BigUint64Array]\";\n var int8ArrayTag = \"[object Int8Array]\";\n var int16ArrayTag = \"[object Int16Array]\";\n var int32ArrayTag = \"[object Int32Array]\";\n var bigInt64ArrayTag = \"[object BigInt64Array]\";\n var float32ArrayTag = \"[object Float32Array]\";\n var float64ArrayTag = \"[object Float64Array]\";\n exports.argumentsTag = argumentsTag;\n exports.arrayBufferTag = arrayBufferTag;\n exports.arrayTag = arrayTag;\n exports.bigInt64ArrayTag = bigInt64ArrayTag;\n exports.bigUint64ArrayTag = bigUint64ArrayTag;\n exports.booleanTag = booleanTag;\n exports.dataViewTag = dataViewTag;\n exports.dateTag = dateTag;\n exports.errorTag = errorTag;\n exports.float32ArrayTag = float32ArrayTag;\n exports.float64ArrayTag = float64ArrayTag;\n exports.functionTag = functionTag;\n exports.int16ArrayTag = int16ArrayTag;\n exports.int32ArrayTag = int32ArrayTag;\n exports.int8ArrayTag = int8ArrayTag;\n exports.mapTag = mapTag;\n exports.numberTag = numberTag;\n exports.objectTag = objectTag;\n exports.regexpTag = regexpTag;\n exports.setTag = setTag;\n exports.stringTag = stringTag;\n exports.symbolTag = symbolTag;\n exports.uint16ArrayTag = uint16ArrayTag;\n exports.uint32ArrayTag = uint32ArrayTag;\n exports.uint8ArrayTag = uint8ArrayTag;\n exports.uint8ClampedArrayTag = uint8ClampedArrayTag;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.js\n var require_isTypedArray = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isTypedArray(x2) {\n return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);\n }\n exports.isTypedArray = isTypedArray;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeepWith.js\n var require_cloneDeepWith = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeepWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getSymbols = require_getSymbols();\n var getTag = require_getTag();\n var tags = require_tags();\n var isPrimitive = require_isPrimitive();\n var isTypedArray = require_isTypedArray();\n function cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), cloneValue);\n }\n function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== void 0) {\n return cloned;\n }\n if (isPrimitive.isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, \"index\")) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, \"input\")) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = /* @__PURE__ */ new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = /* @__PURE__ */ new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== \"undefined\" && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray.isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== \"undefined\" && valueToClone instanceof SharedArrayBuffer) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== \"undefined\" && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof Blob !== \"undefined\" && valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = structuredClone(valueToClone);\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n result.constructor = valueToClone.constructor;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Boolean) {\n const result = new Boolean(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Number) {\n const result = new Number(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof String) {\n const result = new String(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === \"object\" && isCloneableObject(valueToClone)) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n }\n function copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols.getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n }\n function isCloneableObject(object) {\n switch (getTag.getTag(object)) {\n case tags.argumentsTag:\n case tags.arrayTag:\n case tags.arrayBufferTag:\n case tags.dataViewTag:\n case tags.booleanTag:\n case tags.dateTag:\n case tags.float32ArrayTag:\n case tags.float64ArrayTag:\n case tags.int8ArrayTag:\n case tags.int16ArrayTag:\n case tags.int32ArrayTag:\n case tags.mapTag:\n case tags.numberTag:\n case tags.objectTag:\n case tags.regexpTag:\n case tags.setTag:\n case tags.stringTag:\n case tags.symbolTag:\n case tags.uint8ArrayTag:\n case tags.uint8ClampedArrayTag:\n case tags.uint16ArrayTag:\n case tags.uint32ArrayTag: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n exports.cloneDeepWith = cloneDeepWith;\n exports.cloneDeepWithImpl = cloneDeepWithImpl;\n exports.copyProperties = copyProperties;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeep.js\n var require_cloneDeep = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeep.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith();\n function cloneDeep(obj) {\n return cloneDeepWith.cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);\n }\n exports.cloneDeep = cloneDeep;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matches.js\n var require_matches = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matches.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatch = require_isMatch();\n var cloneDeep = require_cloneDeep();\n function matches2(source) {\n source = cloneDeep.cloneDeep(source);\n return (target) => {\n return isMatch.isMatch(target, source);\n };\n }\n exports.matches = matches2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js\n var require_cloneDeepWith2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith$1 = require_cloneDeepWith();\n var getTag = require_getTag();\n var tags = require_tags();\n function cloneDeepWith(obj, customizer) {\n return cloneDeepWith$1.cloneDeepWith(obj, (value, key, object, stack) => {\n const cloned = customizer?.(value, key, object, stack);\n if (cloned !== void 0) {\n return cloned;\n }\n if (typeof obj !== \"object\") {\n return void 0;\n }\n if (getTag.getTag(obj) === tags.objectTag && typeof obj.constructor !== \"function\") {\n const result = {};\n stack.set(obj, result);\n cloneDeepWith$1.copyProperties(result, obj, object, stack);\n return result;\n }\n switch (Object.prototype.toString.call(obj)) {\n case tags.numberTag:\n case tags.stringTag:\n case tags.booleanTag: {\n const result = new obj.constructor(obj?.valueOf());\n cloneDeepWith$1.copyProperties(result, obj);\n return result;\n }\n case tags.argumentsTag: {\n const result = {};\n cloneDeepWith$1.copyProperties(result, obj);\n result.length = obj.length;\n result[Symbol.iterator] = obj[Symbol.iterator];\n return result;\n }\n default: {\n return void 0;\n }\n }\n });\n }\n exports.cloneDeepWith = cloneDeepWith;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.js\n var require_cloneDeep2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith2();\n function cloneDeep(obj) {\n return cloneDeepWith.cloneDeepWith(obj);\n }\n exports.cloneDeep = cloneDeep;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIndex.js\n var require_isIndex = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIndex.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\n function isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n switch (typeof value) {\n case \"number\": {\n return Number.isInteger(value) && value >= 0 && value < length;\n }\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return IS_UNSIGNED_INTEGER.test(value);\n }\n }\n }\n exports.isIndex = isIndex;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.js\n var require_isArguments = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getTag = require_getTag();\n function isArguments(value) {\n return value !== null && typeof value === \"object\" && getTag.getTag(value) === \"[object Arguments]\";\n }\n exports.isArguments = isArguments;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/has.js\n var require_has = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/has.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isDeepKey = require_isDeepKey();\n var isIndex = require_isIndex();\n var isArguments = require_isArguments();\n var toPath = require_toPath();\n function has3(object, path2) {\n let resolvedPath;\n if (Array.isArray(path2)) {\n resolvedPath = path2;\n } else if (typeof path2 === \"string\" && isDeepKey.isDeepKey(path2) && object?.[path2] == null) {\n resolvedPath = toPath.toPath(path2);\n } else {\n resolvedPath = [path2];\n }\n if (resolvedPath.length === 0) {\n return false;\n }\n let current3 = object;\n for (let i = 0; i < resolvedPath.length; i++) {\n const key = resolvedPath[i];\n if (current3 == null || !Object.hasOwn(current3, key)) {\n const isSparseIndex = (Array.isArray(current3) || isArguments.isArguments(current3)) && isIndex.isIndex(key) && key < current3.length;\n if (!isSparseIndex) {\n return false;\n }\n }\n current3 = current3[key];\n }\n return true;\n }\n exports.has = has3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js\n var require_matchesProperty = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatch = require_isMatch();\n var toKey = require_toKey();\n var cloneDeep = require_cloneDeep2();\n var get9 = require_get();\n var has3 = require_has();\n function matchesProperty(property, source) {\n switch (typeof property) {\n case \"object\": {\n if (Object.is(property?.valueOf(), -0)) {\n property = \"-0\";\n }\n break;\n }\n case \"number\": {\n property = toKey.toKey(property);\n break;\n }\n }\n source = cloneDeep.cloneDeep(source);\n return function(target) {\n const result = get9.get(target, property);\n if (result === void 0) {\n return has3.has(target, property);\n }\n if (source === void 0) {\n return result === void 0;\n }\n return isMatch.isMatch(result, source);\n };\n }\n exports.matchesProperty = matchesProperty;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/iteratee.js\n var require_iteratee = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/iteratee.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var identity3 = require_identity();\n var property = require_property();\n var matches2 = require_matches();\n var matchesProperty = require_matchesProperty();\n function iteratee(value) {\n if (value == null) {\n return identity3.identity;\n }\n switch (typeof value) {\n case \"function\": {\n return value;\n }\n case \"object\": {\n if (Array.isArray(value) && value.length === 2) {\n return matchesProperty.matchesProperty(value[0], value[1]);\n }\n return matches2.matches(value);\n }\n case \"string\":\n case \"symbol\":\n case \"number\": {\n return property.property(value);\n }\n }\n }\n exports.iteratee = iteratee;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/uniqBy.js\n var require_uniqBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/uniqBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var uniqBy$1 = require_uniqBy();\n var ary = require_ary();\n var identity3 = require_identity();\n var isArrayLikeObject = require_isArrayLikeObject();\n var iteratee = require_iteratee();\n function uniqBy2(array2, iteratee$1 = identity3.identity) {\n if (!isArrayLikeObject.isArrayLikeObject(array2)) {\n return [];\n }\n return uniqBy$1.uniqBy(Array.from(array2), ary.ary(iteratee.iteratee(iteratee$1), 1));\n }\n exports.uniqBy = uniqBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/uniqBy.js\n var require_uniqBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/uniqBy.js\"(exports, module) {\n module.exports = require_uniqBy2().uniqBy;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js\n var require_with_selector_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n var shim = require_shim();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useSyncExternalStore5 = shim.useSyncExternalStore;\n var useRef55 = React134.useRef;\n var useEffect61 = React134.useEffect;\n var useMemo32 = React134.useMemo;\n var useDebugValue2 = React134.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {\n var instRef = useRef55(null);\n if (null === instRef.current) {\n var inst = { hasValue: false, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo32(\n function() {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = true;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return memoizedSelection = currentSelection;\n }\n return memoizedSelection = nextSnapshot;\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return memoizedSnapshot = nextSnapshot, currentSelection;\n memoizedSnapshot = nextSnapshot;\n return memoizedSelection = nextSelection;\n }\n var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function() {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot ? void 0 : function() {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore5(subscribe2, instRef[0], instRef[1]);\n useEffect61(\n function() {\n inst.hasValue = true;\n inst.value = value;\n },\n [value]\n );\n useDebugValue2(value);\n return value;\n };\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/with-selector.js\n var require_with_selector = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/with-selector.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_with_selector_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/compareValues.js\n var require_compareValues = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/compareValues.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getPriority(a2) {\n if (typeof a2 === \"symbol\") {\n return 1;\n }\n if (a2 === null) {\n return 2;\n }\n if (a2 === void 0) {\n return 3;\n }\n if (a2 !== a2) {\n return 4;\n }\n return 0;\n }\n var compareValues = (a2, b, order) => {\n if (a2 !== b) {\n const aPriority = getPriority(a2);\n const bPriority = getPriority(b);\n if (aPriority === bPriority && aPriority === 0) {\n if (a2 < b) {\n return order === \"desc\" ? 1 : -1;\n }\n if (a2 > b) {\n return order === \"desc\" ? -1 : 1;\n }\n }\n return order === \"desc\" ? bPriority - aPriority : aPriority - bPriority;\n }\n return 0;\n };\n exports.compareValues = compareValues;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js\n var require_isSymbol = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isSymbol(value) {\n return typeof value === \"symbol\" || value instanceof Symbol;\n }\n exports.isSymbol = isSymbol;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isKey.js\n var require_isKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isSymbol = require_isSymbol();\n var regexIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/;\n var regexIsPlainProp = /^\\w*$/;\n function isKey(value, object) {\n if (Array.isArray(value)) {\n return false;\n }\n if (typeof value === \"number\" || typeof value === \"boolean\" || value == null || isSymbol.isSymbol(value)) {\n return true;\n }\n return typeof value === \"string\" && (regexIsPlainProp.test(value) || !regexIsDeepProp.test(value)) || object != null && Object.hasOwn(object, value);\n }\n exports.isKey = isKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/orderBy.js\n var require_orderBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/orderBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var compareValues = require_compareValues();\n var isKey = require_isKey();\n var toPath = require_toPath();\n function orderBy(collection, criteria, orders, guard) {\n if (collection == null) {\n return [];\n }\n orders = guard ? void 0 : orders;\n if (!Array.isArray(collection)) {\n collection = Object.values(collection);\n }\n if (!Array.isArray(criteria)) {\n criteria = criteria == null ? [null] : [criteria];\n }\n if (criteria.length === 0) {\n criteria = [null];\n }\n if (!Array.isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n orders = orders.map((order) => String(order));\n const getValueByNestedPath = (object, path2) => {\n let target = object;\n for (let i = 0; i < path2.length && target != null; ++i) {\n target = target[path2[i]];\n }\n return target;\n };\n const getValueByCriterion = (criterion, object) => {\n if (object == null || criterion == null) {\n return object;\n }\n if (typeof criterion === \"object\" && \"key\" in criterion) {\n if (Object.hasOwn(object, criterion.key)) {\n return object[criterion.key];\n }\n return getValueByNestedPath(object, criterion.path);\n }\n if (typeof criterion === \"function\") {\n return criterion(object);\n }\n if (Array.isArray(criterion)) {\n return getValueByNestedPath(object, criterion);\n }\n if (typeof object === \"object\") {\n return object[criterion];\n }\n return object;\n };\n const preparedCriteria = criteria.map((criterion) => {\n if (Array.isArray(criterion) && criterion.length === 1) {\n criterion = criterion[0];\n }\n if (criterion == null || typeof criterion === \"function\" || Array.isArray(criterion) || isKey.isKey(criterion)) {\n return criterion;\n }\n return { key: criterion, path: toPath.toPath(criterion) };\n });\n const preparedCollection = collection.map((item) => ({\n original: item,\n criteria: preparedCriteria.map((criterion) => getValueByCriterion(criterion, item))\n }));\n return preparedCollection.slice().sort((a2, b) => {\n for (let i = 0; i < preparedCriteria.length; i++) {\n const comparedResult = compareValues.compareValues(a2.criteria[i], b.criteria[i], orders[i]);\n if (comparedResult !== 0) {\n return comparedResult;\n }\n }\n return 0;\n }).map((item) => item.original);\n }\n exports.orderBy = orderBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/flatten.js\n var require_flatten = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/flatten.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function flatten(arr, depth = 1) {\n const result = [];\n const flooredDepth = Math.floor(depth);\n const recursive = (arr2, currentDepth) => {\n for (let i = 0; i < arr2.length; i++) {\n const item = arr2[i];\n if (Array.isArray(item) && currentDepth < flooredDepth) {\n recursive(item, currentDepth + 1);\n } else {\n result.push(item);\n }\n }\n };\n recursive(arr, 0);\n return result;\n }\n exports.flatten = flatten;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js\n var require_isIterateeCall = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isIndex = require_isIndex();\n var isArrayLike = require_isArrayLike();\n var isObject = require_isObject();\n var isEqualsSameValueZero = require_isEqualsSameValueZero();\n function isIterateeCall(value, index2, object) {\n if (!isObject.isObject(object)) {\n return false;\n }\n if (typeof index2 === \"number\" && isArrayLike.isArrayLike(object) && isIndex.isIndex(index2) && index2 < object.length || typeof index2 === \"string\" && index2 in object) {\n return isEqualsSameValueZero.isEqualsSameValueZero(object[index2], value);\n }\n return false;\n }\n exports.isIterateeCall = isIterateeCall;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/sortBy.js\n var require_sortBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/sortBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var orderBy = require_orderBy();\n var flatten = require_flatten();\n var isIterateeCall = require_isIterateeCall();\n function sortBy6(collection, ...criteria) {\n const length = criteria.length;\n if (length > 1 && isIterateeCall.isIterateeCall(collection, criteria[0], criteria[1])) {\n criteria = [];\n } else if (length > 2 && isIterateeCall.isIterateeCall(criteria[0], criteria[1], criteria[2])) {\n criteria = [criteria[0]];\n }\n return orderBy.orderBy(collection, flatten.flatten(criteria), [\"asc\"]);\n }\n exports.sortBy = sortBy6;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/sortBy.js\n var require_sortBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/sortBy.js\"(exports, module) {\n module.exports = require_sortBy().sortBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/debounce.js\n var require_debounce = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/debounce.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function debounce(func, debounceMs, { signal, edges } = {}) {\n let pendingThis = void 0;\n let pendingArgs = null;\n const leading = edges != null && edges.includes(\"leading\");\n const trailing = edges == null || edges.includes(\"trailing\");\n const invoke = () => {\n if (pendingArgs !== null) {\n func.apply(pendingThis, pendingArgs);\n pendingThis = void 0;\n pendingArgs = null;\n }\n };\n const onTimerEnd = () => {\n if (trailing) {\n invoke();\n }\n cancel();\n };\n let timeoutId4 = null;\n const schedule = () => {\n if (timeoutId4 != null) {\n clearTimeout(timeoutId4);\n }\n timeoutId4 = setTimeout(() => {\n timeoutId4 = null;\n onTimerEnd();\n }, debounceMs);\n };\n const cancelTimer = () => {\n if (timeoutId4 !== null) {\n clearTimeout(timeoutId4);\n timeoutId4 = null;\n }\n };\n const cancel = () => {\n cancelTimer();\n pendingThis = void 0;\n pendingArgs = null;\n };\n const flush = () => {\n invoke();\n };\n const debounced = function(...args) {\n if (signal?.aborted) {\n return;\n }\n pendingThis = this;\n pendingArgs = args;\n const isFirstCall = timeoutId4 == null;\n schedule();\n if (leading && isFirstCall) {\n invoke();\n }\n };\n debounced.schedule = schedule;\n debounced.cancel = cancel;\n debounced.flush = flush;\n signal?.addEventListener(\"abort\", cancel, { once: true });\n return debounced;\n }\n exports.debounce = debounce;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/debounce.js\n var require_debounce2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/debounce.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var debounce$1 = require_debounce();\n function debounce(func, debounceMs = 0, options2 = {}) {\n if (typeof options2 !== \"object\") {\n options2 = {};\n }\n const { leading = false, trailing = true, maxWait } = options2;\n const edges = Array(2);\n if (leading) {\n edges[0] = \"leading\";\n }\n if (trailing) {\n edges[1] = \"trailing\";\n }\n let result = void 0;\n let pendingAt = null;\n const _debounced = debounce$1.debounce(function(...args) {\n result = func.apply(this, args);\n pendingAt = null;\n }, debounceMs, { edges });\n const debounced = function(...args) {\n if (maxWait != null) {\n if (pendingAt === null) {\n pendingAt = Date.now();\n }\n if (Date.now() - pendingAt >= maxWait) {\n result = func.apply(this, args);\n pendingAt = Date.now();\n _debounced.cancel();\n _debounced.schedule();\n return result;\n }\n }\n _debounced.apply(this, args);\n return result;\n };\n const flush = () => {\n _debounced.flush();\n return result;\n };\n debounced.cancel = _debounced.cancel;\n debounced.flush = flush;\n return debounced;\n }\n exports.debounce = debounce;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/throttle.js\n var require_throttle = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/throttle.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var debounce = require_debounce2();\n function throttle2(func, throttleMs = 0, options2 = {}) {\n const { leading = true, trailing = true } = options2;\n return debounce.debounce(func, throttleMs, {\n leading,\n maxWait: throttleMs,\n trailing\n });\n }\n exports.throttle = throttle2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/throttle.js\n var require_throttle2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/throttle.js\"(exports, module) {\n module.exports = require_throttle().throttle;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js\n var require_use_sync_external_store_with_selector_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js\"(exports) {\n \"use strict\";\n var React134 = require_react();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useSyncExternalStore5 = React134.useSyncExternalStore;\n var useRef55 = React134.useRef;\n var useEffect61 = React134.useEffect;\n var useMemo32 = React134.useMemo;\n var useDebugValue2 = React134.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {\n var instRef = useRef55(null);\n if (null === instRef.current) {\n var inst = { hasValue: false, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo32(\n function() {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = true;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return memoizedSelection = currentSelection;\n }\n return memoizedSelection = nextSnapshot;\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return memoizedSnapshot = nextSnapshot, currentSelection;\n memoizedSnapshot = nextSnapshot;\n return memoizedSelection = nextSelection;\n }\n var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function() {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot ? void 0 : function() {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore5(subscribe2, instRef[0], instRef[1]);\n useEffect61(\n function() {\n inst.hasValue = true;\n inst.value = value;\n },\n [value]\n );\n useDebugValue2(value);\n return value;\n };\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/with-selector.js\n var require_with_selector2 = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/with-selector.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_use_sync_external_store_with_selector_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toNumber.js\n var require_toNumber = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toNumber.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isSymbol = require_isSymbol();\n function toNumber(value) {\n if (isSymbol.isSymbol(value)) {\n return NaN;\n }\n return Number(value);\n }\n exports.toNumber = toNumber;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toFinite.js\n var require_toFinite = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toFinite.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toNumber = require_toNumber();\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber.toNumber(value);\n if (value === Infinity || value === -Infinity) {\n const sign2 = value < 0 ? -1 : 1;\n return sign2 * Number.MAX_VALUE;\n }\n return value === value ? value : 0;\n }\n exports.toFinite = toFinite;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/range.js\n var require_range = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/range.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isIterateeCall = require_isIterateeCall();\n var toFinite = require_toFinite();\n function range4(start, end, step) {\n if (step && typeof step !== \"number\" && isIterateeCall.isIterateeCall(start, end, step)) {\n end = step = void 0;\n }\n start = toFinite.toFinite(start);\n if (end === void 0) {\n end = start;\n start = 0;\n } else {\n end = toFinite.toFinite(end);\n }\n step = step === void 0 ? start < end ? 1 : -1 : toFinite.toFinite(step);\n const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);\n const result = new Array(length);\n for (let index2 = 0; index2 < length; index2++) {\n result[index2] = start;\n start += step;\n }\n return result;\n }\n exports.range = range4;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/range.js\n var require_range2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/range.js\"(exports, module) {\n module.exports = require_range().range;\n }\n });\n\n // ../../../node_modules/.bun/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js\n var require_decimal = __commonJS({\n \"../../../node_modules/.bun/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js\"(exports, module) {\n (function(globalScope) {\n \"use strict\";\n var MAX_DIGITS = 1e9, Decimal3 = {\n // These values must be integers within the stated ranges (inclusive).\n // Most of these values can be changed during run-time using `Decimal.config`.\n // The maximum number of significant digits of the result of a calculation or base conversion.\n // E.g. `Decimal.config({ precision: 20 });`\n precision: 20,\n // 1 to MAX_DIGITS\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\n //\n // ROUND_UP 0 Away from zero.\n // ROUND_DOWN 1 Towards zero.\n // ROUND_CEIL 2 Towards +Infinity.\n // ROUND_FLOOR 3 Towards -Infinity.\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\n //\n // E.g.\n // `Decimal.rounding = 4;`\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\n rounding: 4,\n // 0 to 8\n // The exponent value at and beneath which `toString` returns exponential notation.\n // JavaScript numbers: -7\n toExpNeg: -7,\n // 0 to -MAX_E\n // The exponent value at and above which `toString` returns exponential notation.\n // JavaScript numbers: 21\n toExpPos: 21,\n // 0 to MAX_E\n // The natural logarithm of 10.\n // 115 digits\n LN10: \"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286\"\n }, external = true, decimalError = \"[DecimalError] \", invalidArgument = decimalError + \"Invalid argument: \", exponentOutOfRange = decimalError + \"Exponent out of range: \", mathfloor = Math.floor, mathpow = Math.pow, isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i, ONE, BASE = 1e7, LOG_BASE = 7, MAX_SAFE_INTEGER = 9007199254740991, MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), P = {};\n P.absoluteValue = P.abs = function() {\n var x2 = new this.constructor(this);\n if (x2.s) x2.s = 1;\n return x2;\n };\n P.comparedTo = P.cmp = function(y2) {\n var i, j, xdL, ydL, x2 = this;\n y2 = new x2.constructor(y2);\n if (x2.s !== y2.s) return x2.s || -y2.s;\n if (x2.e !== y2.e) return x2.e > y2.e ^ x2.s < 0 ? 1 : -1;\n xdL = x2.d.length;\n ydL = y2.d.length;\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\n if (x2.d[i] !== y2.d[i]) return x2.d[i] > y2.d[i] ^ x2.s < 0 ? 1 : -1;\n }\n return xdL === ydL ? 0 : xdL > ydL ^ x2.s < 0 ? 1 : -1;\n };\n P.decimalPlaces = P.dp = function() {\n var x2 = this, w = x2.d.length - 1, dp = (w - x2.e) * LOG_BASE;\n w = x2.d[w];\n if (w) for (; w % 10 == 0; w /= 10) dp--;\n return dp < 0 ? 0 : dp;\n };\n P.dividedBy = P.div = function(y2) {\n return divide(this, new this.constructor(y2));\n };\n P.dividedToIntegerBy = P.idiv = function(y2) {\n var x2 = this, Ctor = x2.constructor;\n return round3(divide(x2, new Ctor(y2), 0, 1), Ctor.precision);\n };\n P.equals = P.eq = function(y2) {\n return !this.cmp(y2);\n };\n P.exponent = function() {\n return getBase10Exponent(this);\n };\n P.greaterThan = P.gt = function(y2) {\n return this.cmp(y2) > 0;\n };\n P.greaterThanOrEqualTo = P.gte = function(y2) {\n return this.cmp(y2) >= 0;\n };\n P.isInteger = P.isint = function() {\n return this.e > this.d.length - 2;\n };\n P.isNegative = P.isneg = function() {\n return this.s < 0;\n };\n P.isPositive = P.ispos = function() {\n return this.s > 0;\n };\n P.isZero = function() {\n return this.s === 0;\n };\n P.lessThan = P.lt = function(y2) {\n return this.cmp(y2) < 0;\n };\n P.lessThanOrEqualTo = P.lte = function(y2) {\n return this.cmp(y2) < 1;\n };\n P.logarithm = P.log = function(base) {\n var r2, x2 = this, Ctor = x2.constructor, pr = Ctor.precision, wpr = pr + 5;\n if (base === void 0) {\n base = new Ctor(10);\n } else {\n base = new Ctor(base);\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + \"NaN\");\n }\n if (x2.s < 1) throw Error(decimalError + (x2.s ? \"NaN\" : \"-Infinity\"));\n if (x2.eq(ONE)) return new Ctor(0);\n external = false;\n r2 = divide(ln(x2, wpr), ln(base, wpr), wpr);\n external = true;\n return round3(r2, pr);\n };\n P.minus = P.sub = function(y2) {\n var x2 = this;\n y2 = new x2.constructor(y2);\n return x2.s == y2.s ? subtract(x2, y2) : add(x2, (y2.s = -y2.s, y2));\n };\n P.modulo = P.mod = function(y2) {\n var q, x2 = this, Ctor = x2.constructor, pr = Ctor.precision;\n y2 = new Ctor(y2);\n if (!y2.s) throw Error(decimalError + \"NaN\");\n if (!x2.s) return round3(new Ctor(x2), pr);\n external = false;\n q = divide(x2, y2, 0, 1).times(y2);\n external = true;\n return x2.minus(q);\n };\n P.naturalExponential = P.exp = function() {\n return exp(this);\n };\n P.naturalLogarithm = P.ln = function() {\n return ln(this);\n };\n P.negated = P.neg = function() {\n var x2 = new this.constructor(this);\n x2.s = -x2.s || 0;\n return x2;\n };\n P.plus = P.add = function(y2) {\n var x2 = this;\n y2 = new x2.constructor(y2);\n return x2.s == y2.s ? add(x2, y2) : subtract(x2, (y2.s = -y2.s, y2));\n };\n P.precision = P.sd = function(z) {\n var e, sd, w, x2 = this;\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\n e = getBase10Exponent(x2) + 1;\n w = x2.d.length - 1;\n sd = w * LOG_BASE + 1;\n w = x2.d[w];\n if (w) {\n for (; w % 10 == 0; w /= 10) sd--;\n for (w = x2.d[0]; w >= 10; w /= 10) sd++;\n }\n return z && e > sd ? e : sd;\n };\n P.squareRoot = P.sqrt = function() {\n var e, n, pr, r2, s2, t2, wpr, x2 = this, Ctor = x2.constructor;\n if (x2.s < 1) {\n if (!x2.s) return new Ctor(0);\n throw Error(decimalError + \"NaN\");\n }\n e = getBase10Exponent(x2);\n external = false;\n s2 = Math.sqrt(+x2);\n if (s2 == 0 || s2 == 1 / 0) {\n n = digitsToString(x2.d);\n if ((n.length + e) % 2 == 0) n += \"0\";\n s2 = Math.sqrt(n);\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\n if (s2 == 1 / 0) {\n n = \"5e\" + e;\n } else {\n n = s2.toExponential();\n n = n.slice(0, n.indexOf(\"e\") + 1) + e;\n }\n r2 = new Ctor(n);\n } else {\n r2 = new Ctor(s2.toString());\n }\n pr = Ctor.precision;\n s2 = wpr = pr + 3;\n for (; ; ) {\n t2 = r2;\n r2 = t2.plus(divide(x2, t2, wpr + 2)).times(0.5);\n if (digitsToString(t2.d).slice(0, wpr) === (n = digitsToString(r2.d)).slice(0, wpr)) {\n n = n.slice(wpr - 3, wpr + 1);\n if (s2 == wpr && n == \"4999\") {\n round3(t2, pr + 1, 0);\n if (t2.times(t2).eq(x2)) {\n r2 = t2;\n break;\n }\n } else if (n != \"9999\") {\n break;\n }\n wpr += 4;\n }\n }\n external = true;\n return round3(r2, pr);\n };\n P.times = P.mul = function(y2) {\n var carry, e, i, k2, r2, rL, t2, xdL, ydL, x2 = this, Ctor = x2.constructor, xd = x2.d, yd = (y2 = new Ctor(y2)).d;\n if (!x2.s || !y2.s) return new Ctor(0);\n y2.s *= x2.s;\n e = x2.e + y2.e;\n xdL = xd.length;\n ydL = yd.length;\n if (xdL < ydL) {\n r2 = xd;\n xd = yd;\n yd = r2;\n rL = xdL;\n xdL = ydL;\n ydL = rL;\n }\n r2 = [];\n rL = xdL + ydL;\n for (i = rL; i--; ) r2.push(0);\n for (i = ydL; --i >= 0; ) {\n carry = 0;\n for (k2 = xdL + i; k2 > i; ) {\n t2 = r2[k2] + yd[i] * xd[k2 - i - 1] + carry;\n r2[k2--] = t2 % BASE | 0;\n carry = t2 / BASE | 0;\n }\n r2[k2] = (r2[k2] + carry) % BASE | 0;\n }\n for (; !r2[--rL]; ) r2.pop();\n if (carry) ++e;\n else r2.shift();\n y2.d = r2;\n y2.e = e;\n return external ? round3(y2, Ctor.precision) : y2;\n };\n P.toDecimalPlaces = P.todp = function(dp, rm) {\n var x2 = this, Ctor = x2.constructor;\n x2 = new Ctor(x2);\n if (dp === void 0) return x2;\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n return round3(x2, dp + getBase10Exponent(x2) + 1, rm);\n };\n P.toExponential = function(dp, rm) {\n var str, x2 = this, Ctor = x2.constructor;\n if (dp === void 0) {\n str = toString(x2, true);\n } else {\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n x2 = round3(new Ctor(x2), dp + 1, rm);\n str = toString(x2, true, dp + 1);\n }\n return str;\n };\n P.toFixed = function(dp, rm) {\n var str, y2, x2 = this, Ctor = x2.constructor;\n if (dp === void 0) return toString(x2);\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n y2 = round3(new Ctor(x2), dp + getBase10Exponent(x2) + 1, rm);\n str = toString(y2.abs(), false, dp + getBase10Exponent(y2) + 1);\n return x2.isneg() && !x2.isZero() ? \"-\" + str : str;\n };\n P.toInteger = P.toint = function() {\n var x2 = this, Ctor = x2.constructor;\n return round3(new Ctor(x2), getBase10Exponent(x2) + 1, Ctor.rounding);\n };\n P.toNumber = function() {\n return +this;\n };\n P.toPower = P.pow = function(y2) {\n var e, k2, pr, r2, sign2, yIsInt, x2 = this, Ctor = x2.constructor, guard = 12, yn = +(y2 = new Ctor(y2));\n if (!y2.s) return new Ctor(ONE);\n x2 = new Ctor(x2);\n if (!x2.s) {\n if (y2.s < 1) throw Error(decimalError + \"Infinity\");\n return x2;\n }\n if (x2.eq(ONE)) return x2;\n pr = Ctor.precision;\n if (y2.eq(ONE)) return round3(x2, pr);\n e = y2.e;\n k2 = y2.d.length - 1;\n yIsInt = e >= k2;\n sign2 = x2.s;\n if (!yIsInt) {\n if (sign2 < 0) throw Error(decimalError + \"NaN\");\n } else if ((k2 = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\n r2 = new Ctor(ONE);\n e = Math.ceil(pr / LOG_BASE + 4);\n external = false;\n for (; ; ) {\n if (k2 % 2) {\n r2 = r2.times(x2);\n truncate(r2.d, e);\n }\n k2 = mathfloor(k2 / 2);\n if (k2 === 0) break;\n x2 = x2.times(x2);\n truncate(x2.d, e);\n }\n external = true;\n return y2.s < 0 ? new Ctor(ONE).div(r2) : round3(r2, pr);\n }\n sign2 = sign2 < 0 && y2.d[Math.max(e, k2)] & 1 ? -1 : 1;\n x2.s = 1;\n external = false;\n r2 = y2.times(ln(x2, pr + guard));\n external = true;\n r2 = exp(r2);\n r2.s = sign2;\n return r2;\n };\n P.toPrecision = function(sd, rm) {\n var e, str, x2 = this, Ctor = x2.constructor;\n if (sd === void 0) {\n e = getBase10Exponent(x2);\n str = toString(x2, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n x2 = round3(new Ctor(x2), sd, rm);\n e = getBase10Exponent(x2);\n str = toString(x2, sd <= e || e <= Ctor.toExpNeg, sd);\n }\n return str;\n };\n P.toSignificantDigits = P.tosd = function(sd, rm) {\n var x2 = this, Ctor = x2.constructor;\n if (sd === void 0) {\n sd = Ctor.precision;\n rm = Ctor.rounding;\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n }\n return round3(new Ctor(x2), sd, rm);\n };\n P.toString = P.valueOf = P.val = P.toJSON = function() {\n var x2 = this, e = getBase10Exponent(x2), Ctor = x2.constructor;\n return toString(x2, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n };\n function add(x2, y2) {\n var carry, d, e, i, k2, len, xd, yd, Ctor = x2.constructor, pr = Ctor.precision;\n if (!x2.s || !y2.s) {\n if (!y2.s) y2 = new Ctor(x2);\n return external ? round3(y2, pr) : y2;\n }\n xd = x2.d;\n yd = y2.d;\n k2 = x2.e;\n e = y2.e;\n xd = xd.slice();\n i = k2 - e;\n if (i) {\n if (i < 0) {\n d = xd;\n i = -i;\n len = yd.length;\n } else {\n d = yd;\n e = k2;\n len = xd.length;\n }\n k2 = Math.ceil(pr / LOG_BASE);\n len = k2 > len ? k2 + 1 : len + 1;\n if (i > len) {\n i = len;\n d.length = 1;\n }\n d.reverse();\n for (; i--; ) d.push(0);\n d.reverse();\n }\n len = xd.length;\n i = yd.length;\n if (len - i < 0) {\n i = len;\n d = yd;\n yd = xd;\n xd = d;\n }\n for (carry = 0; i; ) {\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\n xd[i] %= BASE;\n }\n if (carry) {\n xd.unshift(carry);\n ++e;\n }\n for (len = xd.length; xd[--len] == 0; ) xd.pop();\n y2.d = xd;\n y2.e = e;\n return external ? round3(y2, pr) : y2;\n }\n function checkInt32(i, min3, max3) {\n if (i !== ~~i || i < min3 || i > max3) {\n throw Error(invalidArgument + i);\n }\n }\n function digitsToString(d) {\n var i, k2, ws, indexOfLastWord = d.length - 1, str = \"\", w = d[0];\n if (indexOfLastWord > 0) {\n str += w;\n for (i = 1; i < indexOfLastWord; i++) {\n ws = d[i] + \"\";\n k2 = LOG_BASE - ws.length;\n if (k2) str += getZeroString(k2);\n str += ws;\n }\n w = d[i];\n ws = w + \"\";\n k2 = LOG_BASE - ws.length;\n if (k2) str += getZeroString(k2);\n } else if (w === 0) {\n return \"0\";\n }\n for (; w % 10 === 0; ) w /= 10;\n return str + w;\n }\n var divide = /* @__PURE__ */ (function() {\n function multiplyInteger(x2, k2) {\n var temp, carry = 0, i = x2.length;\n for (x2 = x2.slice(); i--; ) {\n temp = x2[i] * k2 + carry;\n x2[i] = temp % BASE | 0;\n carry = temp / BASE | 0;\n }\n if (carry) x2.unshift(carry);\n return x2;\n }\n function compare(a2, b, aL, bL) {\n var i, r2;\n if (aL != bL) {\n r2 = aL > bL ? 1 : -1;\n } else {\n for (i = r2 = 0; i < aL; i++) {\n if (a2[i] != b[i]) {\n r2 = a2[i] > b[i] ? 1 : -1;\n break;\n }\n }\n }\n return r2;\n }\n function subtract2(a2, b, aL) {\n var i = 0;\n for (; aL--; ) {\n a2[aL] -= i;\n i = a2[aL] < b[aL] ? 1 : 0;\n a2[aL] = i * BASE + a2[aL] - b[aL];\n }\n for (; !a2[0] && a2.length > 1; ) a2.shift();\n }\n return function(x2, y2, pr, dp) {\n var cmp, e, i, k2, prod, prodL, q, qd, rem, remL, rem0, sd, t2, xi, xL, yd0, yL, yz, Ctor = x2.constructor, sign2 = x2.s == y2.s ? 1 : -1, xd = x2.d, yd = y2.d;\n if (!x2.s) return new Ctor(x2);\n if (!y2.s) throw Error(decimalError + \"Division by zero\");\n e = x2.e - y2.e;\n yL = yd.length;\n xL = xd.length;\n q = new Ctor(sign2);\n qd = q.d = [];\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\n if (yd[i] > (xd[i] || 0)) --e;\n if (pr == null) {\n sd = pr = Ctor.precision;\n } else if (dp) {\n sd = pr + (getBase10Exponent(x2) - getBase10Exponent(y2)) + 1;\n } else {\n sd = pr;\n }\n if (sd < 0) return new Ctor(0);\n sd = sd / LOG_BASE + 2 | 0;\n i = 0;\n if (yL == 1) {\n k2 = 0;\n yd = yd[0];\n sd++;\n for (; (i < xL || k2) && sd--; i++) {\n t2 = k2 * BASE + (xd[i] || 0);\n qd[i] = t2 / yd | 0;\n k2 = t2 % yd | 0;\n }\n } else {\n k2 = BASE / (yd[0] + 1) | 0;\n if (k2 > 1) {\n yd = multiplyInteger(yd, k2);\n xd = multiplyInteger(xd, k2);\n yL = yd.length;\n xL = xd.length;\n }\n xi = yL;\n rem = xd.slice(0, yL);\n remL = rem.length;\n for (; remL < yL; ) rem[remL++] = 0;\n yz = yd.slice();\n yz.unshift(0);\n yd0 = yd[0];\n if (yd[1] >= BASE / 2) ++yd0;\n do {\n k2 = 0;\n cmp = compare(yd, rem, yL, remL);\n if (cmp < 0) {\n rem0 = rem[0];\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\n k2 = rem0 / yd0 | 0;\n if (k2 > 1) {\n if (k2 >= BASE) k2 = BASE - 1;\n prod = multiplyInteger(yd, k2);\n prodL = prod.length;\n remL = rem.length;\n cmp = compare(prod, rem, prodL, remL);\n if (cmp == 1) {\n k2--;\n subtract2(prod, yL < prodL ? yz : yd, prodL);\n }\n } else {\n if (k2 == 0) cmp = k2 = 1;\n prod = yd.slice();\n }\n prodL = prod.length;\n if (prodL < remL) prod.unshift(0);\n subtract2(rem, prod, remL);\n if (cmp == -1) {\n remL = rem.length;\n cmp = compare(yd, rem, yL, remL);\n if (cmp < 1) {\n k2++;\n subtract2(rem, yL < remL ? yz : yd, remL);\n }\n }\n remL = rem.length;\n } else if (cmp === 0) {\n k2++;\n rem = [0];\n }\n qd[i++] = k2;\n if (cmp && rem[0]) {\n rem[remL++] = xd[xi] || 0;\n } else {\n rem = [xd[xi]];\n remL = 1;\n }\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\n }\n if (!qd[0]) qd.shift();\n q.e = e;\n return round3(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\n };\n })();\n function exp(x2, sd) {\n var denominator, guard, pow2, sum, t2, wpr, i = 0, k2 = 0, Ctor = x2.constructor, pr = Ctor.precision;\n if (getBase10Exponent(x2) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x2));\n if (!x2.s) return new Ctor(ONE);\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n t2 = new Ctor(0.03125);\n while (x2.abs().gte(0.1)) {\n x2 = x2.times(t2);\n k2 += 5;\n }\n guard = Math.log(mathpow(2, k2)) / Math.LN10 * 2 + 5 | 0;\n wpr += guard;\n denominator = pow2 = sum = new Ctor(ONE);\n Ctor.precision = wpr;\n for (; ; ) {\n pow2 = round3(pow2.times(x2), wpr);\n denominator = denominator.times(++i);\n t2 = sum.plus(divide(pow2, denominator, wpr));\n if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n while (k2--) sum = round3(sum.times(sum), wpr);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(sum, pr)) : sum;\n }\n sum = t2;\n }\n }\n function getBase10Exponent(x2) {\n var e = x2.e * LOG_BASE, w = x2.d[0];\n for (; w >= 10; w /= 10) e++;\n return e;\n }\n function getLn10(Ctor, sd, pr) {\n if (sd > Ctor.LN10.sd()) {\n external = true;\n if (pr) Ctor.precision = pr;\n throw Error(decimalError + \"LN10 precision limit exceeded\");\n }\n return round3(new Ctor(Ctor.LN10), sd);\n }\n function getZeroString(k2) {\n var zs = \"\";\n for (; k2--; ) zs += \"0\";\n return zs;\n }\n function ln(y2, sd) {\n var c2, c0, denominator, e, numerator, sum, t2, wpr, x2, n = 1, guard = 10, x3 = y2, xd = x3.d, Ctor = x3.constructor, pr = Ctor.precision;\n if (x3.s < 1) throw Error(decimalError + (x3.s ? \"NaN\" : \"-Infinity\"));\n if (x3.eq(ONE)) return new Ctor(0);\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n if (x3.eq(10)) {\n if (sd == null) external = true;\n return getLn10(Ctor, wpr);\n }\n wpr += guard;\n Ctor.precision = wpr;\n c2 = digitsToString(xd);\n c0 = c2.charAt(0);\n e = getBase10Exponent(x3);\n if (Math.abs(e) < 15e14) {\n while (c0 < 7 && c0 != 1 || c0 == 1 && c2.charAt(1) > 3) {\n x3 = x3.times(y2);\n c2 = digitsToString(x3.d);\n c0 = c2.charAt(0);\n n++;\n }\n e = getBase10Exponent(x3);\n if (c0 > 1) {\n x3 = new Ctor(\"0.\" + c2);\n e++;\n } else {\n x3 = new Ctor(c0 + \".\" + c2.slice(1));\n }\n } else {\n t2 = getLn10(Ctor, wpr + 2, pr).times(e + \"\");\n x3 = ln(new Ctor(c0 + \".\" + c2.slice(1)), wpr - guard).plus(t2);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(x3, pr)) : x3;\n }\n sum = numerator = x3 = divide(x3.minus(ONE), x3.plus(ONE), wpr);\n x2 = round3(x3.times(x3), wpr);\n denominator = 3;\n for (; ; ) {\n numerator = round3(numerator.times(x2), wpr);\n t2 = sum.plus(divide(numerator, new Ctor(denominator), wpr));\n if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n sum = sum.times(2);\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + \"\"));\n sum = divide(sum, new Ctor(n), wpr);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(sum, pr)) : sum;\n }\n sum = t2;\n denominator += 2;\n }\n }\n function parseDecimal(x2, str) {\n var e, i, len;\n if ((e = str.indexOf(\".\")) > -1) str = str.replace(\".\", \"\");\n if ((i = str.search(/e/i)) > 0) {\n if (e < 0) e = i;\n e += +str.slice(i + 1);\n str = str.substring(0, i);\n } else if (e < 0) {\n e = str.length;\n }\n for (i = 0; str.charCodeAt(i) === 48; ) ++i;\n for (len = str.length; str.charCodeAt(len - 1) === 48; ) --len;\n str = str.slice(i, len);\n if (str) {\n len -= i;\n e = e - i - 1;\n x2.e = mathfloor(e / LOG_BASE);\n x2.d = [];\n i = (e + 1) % LOG_BASE;\n if (e < 0) i += LOG_BASE;\n if (i < len) {\n if (i) x2.d.push(+str.slice(0, i));\n for (len -= LOG_BASE; i < len; ) x2.d.push(+str.slice(i, i += LOG_BASE));\n str = str.slice(i);\n i = LOG_BASE - str.length;\n } else {\n i -= len;\n }\n for (; i--; ) str += \"0\";\n x2.d.push(+str);\n if (external && (x2.e > MAX_E || x2.e < -MAX_E)) throw Error(exponentOutOfRange + e);\n } else {\n x2.s = 0;\n x2.e = 0;\n x2.d = [0];\n }\n return x2;\n }\n function round3(x2, sd, rm) {\n var i, j, k2, n, rd, doRound, w, xdi, xd = x2.d;\n for (n = 1, k2 = xd[0]; k2 >= 10; k2 /= 10) n++;\n i = sd - n;\n if (i < 0) {\n i += LOG_BASE;\n j = sd;\n w = xd[xdi = 0];\n } else {\n xdi = Math.ceil((i + 1) / LOG_BASE);\n k2 = xd.length;\n if (xdi >= k2) return x2;\n w = k2 = xd[xdi];\n for (n = 1; k2 >= 10; k2 /= 10) n++;\n i %= LOG_BASE;\n j = i - LOG_BASE + n;\n }\n if (rm !== void 0) {\n k2 = mathpow(10, n - j - 1);\n rd = w / k2 % 10 | 0;\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k2;\n doRound = rm < 4 ? (rd || doRound) && (rm == 0 || rm == (x2.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.\n (i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x2.s < 0 ? 8 : 7));\n }\n if (sd < 1 || !xd[0]) {\n if (doRound) {\n k2 = getBase10Exponent(x2);\n xd.length = 1;\n sd = sd - k2 - 1;\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\n x2.e = mathfloor(-sd / LOG_BASE) || 0;\n } else {\n xd.length = 1;\n xd[0] = x2.e = x2.s = 0;\n }\n return x2;\n }\n if (i == 0) {\n xd.length = xdi;\n k2 = 1;\n xdi--;\n } else {\n xd.length = xdi + 1;\n k2 = mathpow(10, LOG_BASE - i);\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k2 : 0;\n }\n if (doRound) {\n for (; ; ) {\n if (xdi == 0) {\n if ((xd[0] += k2) == BASE) {\n xd[0] = 1;\n ++x2.e;\n }\n break;\n } else {\n xd[xdi] += k2;\n if (xd[xdi] != BASE) break;\n xd[xdi--] = 0;\n k2 = 1;\n }\n }\n }\n for (i = xd.length; xd[--i] === 0; ) xd.pop();\n if (external && (x2.e > MAX_E || x2.e < -MAX_E)) {\n throw Error(exponentOutOfRange + getBase10Exponent(x2));\n }\n return x2;\n }\n function subtract(x2, y2) {\n var d, e, i, j, k2, len, xd, xe, xLTy, yd, Ctor = x2.constructor, pr = Ctor.precision;\n if (!x2.s || !y2.s) {\n if (y2.s) y2.s = -y2.s;\n else y2 = new Ctor(x2);\n return external ? round3(y2, pr) : y2;\n }\n xd = x2.d;\n yd = y2.d;\n e = y2.e;\n xe = x2.e;\n xd = xd.slice();\n k2 = xe - e;\n if (k2) {\n xLTy = k2 < 0;\n if (xLTy) {\n d = xd;\n k2 = -k2;\n len = yd.length;\n } else {\n d = yd;\n e = xe;\n len = xd.length;\n }\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\n if (k2 > i) {\n k2 = i;\n d.length = 1;\n }\n d.reverse();\n for (i = k2; i--; ) d.push(0);\n d.reverse();\n } else {\n i = xd.length;\n len = yd.length;\n xLTy = i < len;\n if (xLTy) len = i;\n for (i = 0; i < len; i++) {\n if (xd[i] != yd[i]) {\n xLTy = xd[i] < yd[i];\n break;\n }\n }\n k2 = 0;\n }\n if (xLTy) {\n d = xd;\n xd = yd;\n yd = d;\n y2.s = -y2.s;\n }\n len = xd.length;\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\n for (i = yd.length; i > k2; ) {\n if (xd[--i] < yd[i]) {\n for (j = i; j && xd[--j] === 0; ) xd[j] = BASE - 1;\n --xd[j];\n xd[i] += BASE;\n }\n xd[i] -= yd[i];\n }\n for (; xd[--len] === 0; ) xd.pop();\n for (; xd[0] === 0; xd.shift()) --e;\n if (!xd[0]) return new Ctor(0);\n y2.d = xd;\n y2.e = e;\n return external ? round3(y2, pr) : y2;\n }\n function toString(x2, isExp, sd) {\n var k2, e = getBase10Exponent(x2), str = digitsToString(x2.d), len = str.length;\n if (isExp) {\n if (sd && (k2 = sd - len) > 0) {\n str = str.charAt(0) + \".\" + str.slice(1) + getZeroString(k2);\n } else if (len > 1) {\n str = str.charAt(0) + \".\" + str.slice(1);\n }\n str = str + (e < 0 ? \"e\" : \"e+\") + e;\n } else if (e < 0) {\n str = \"0.\" + getZeroString(-e - 1) + str;\n if (sd && (k2 = sd - len) > 0) str += getZeroString(k2);\n } else if (e >= len) {\n str += getZeroString(e + 1 - len);\n if (sd && (k2 = sd - e - 1) > 0) str = str + \".\" + getZeroString(k2);\n } else {\n if ((k2 = e + 1) < len) str = str.slice(0, k2) + \".\" + str.slice(k2);\n if (sd && (k2 = sd - len) > 0) {\n if (e + 1 === len) str += \".\";\n str += getZeroString(k2);\n }\n }\n return x2.s < 0 ? \"-\" + str : str;\n }\n function truncate(arr, len) {\n if (arr.length > len) {\n arr.length = len;\n return true;\n }\n }\n function clone(obj) {\n var i, p, ps;\n function Decimal4(value) {\n var x2 = this;\n if (!(x2 instanceof Decimal4)) return new Decimal4(value);\n x2.constructor = Decimal4;\n if (value instanceof Decimal4) {\n x2.s = value.s;\n x2.e = value.e;\n x2.d = (value = value.d) ? value.slice() : value;\n return;\n }\n if (typeof value === \"number\") {\n if (value * 0 !== 0) {\n throw Error(invalidArgument + value);\n }\n if (value > 0) {\n x2.s = 1;\n } else if (value < 0) {\n value = -value;\n x2.s = -1;\n } else {\n x2.s = 0;\n x2.e = 0;\n x2.d = [0];\n return;\n }\n if (value === ~~value && value < 1e7) {\n x2.e = 0;\n x2.d = [value];\n return;\n }\n return parseDecimal(x2, value.toString());\n } else if (typeof value !== \"string\") {\n throw Error(invalidArgument + value);\n }\n if (value.charCodeAt(0) === 45) {\n value = value.slice(1);\n x2.s = -1;\n } else {\n x2.s = 1;\n }\n if (isDecimal.test(value)) parseDecimal(x2, value);\n else throw Error(invalidArgument + value);\n }\n Decimal4.prototype = P;\n Decimal4.ROUND_UP = 0;\n Decimal4.ROUND_DOWN = 1;\n Decimal4.ROUND_CEIL = 2;\n Decimal4.ROUND_FLOOR = 3;\n Decimal4.ROUND_HALF_UP = 4;\n Decimal4.ROUND_HALF_DOWN = 5;\n Decimal4.ROUND_HALF_EVEN = 6;\n Decimal4.ROUND_HALF_CEIL = 7;\n Decimal4.ROUND_HALF_FLOOR = 8;\n Decimal4.clone = clone;\n Decimal4.config = Decimal4.set = config;\n if (obj === void 0) obj = {};\n if (obj) {\n ps = [\"precision\", \"rounding\", \"toExpNeg\", \"toExpPos\", \"LN10\"];\n for (i = 0; i < ps.length; ) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\n }\n Decimal4.config(obj);\n return Decimal4;\n }\n function config(obj) {\n if (!obj || typeof obj !== \"object\") {\n throw Error(decimalError + \"Object expected\");\n }\n var i, p, v, ps = [\n \"precision\",\n 1,\n MAX_DIGITS,\n \"rounding\",\n 0,\n 8,\n \"toExpNeg\",\n -1 / 0,\n 0,\n \"toExpPos\",\n 0,\n 1 / 0\n ];\n for (i = 0; i < ps.length; i += 3) {\n if ((v = obj[p = ps[i]]) !== void 0) {\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\n else throw Error(invalidArgument + p + \": \" + v);\n }\n }\n if ((v = obj[p = \"LN10\"]) !== void 0) {\n if (v == Math.LN10) this[p] = new this(v);\n else throw Error(invalidArgument + p + \": \" + v);\n }\n return this;\n }\n Decimal3 = clone(Decimal3);\n Decimal3[\"default\"] = Decimal3.Decimal = Decimal3;\n ONE = new Decimal3(1);\n if (typeof define == \"function\" && define.amd) {\n define(function() {\n return Decimal3;\n });\n } else if (typeof module != \"undefined\" && module.exports) {\n module.exports = Decimal3;\n } else {\n if (!globalScope) {\n globalScope = typeof self != \"undefined\" && self && self.self == self ? self : Function(\"return this\")();\n }\n globalScope.Decimal = Decimal3;\n }\n })(exports);\n }\n });\n\n // ../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.js\n var require_eventemitter3 = __commonJS({\n \"../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.js\"(exports, module) {\n \"use strict\";\n var has3 = Object.prototype.hasOwnProperty;\n var prefix2 = \"~\";\n function Events() {\n }\n if (Object.create) {\n Events.prototype = /* @__PURE__ */ Object.create(null);\n if (!new Events().__proto__) prefix2 = false;\n }\n function EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n }\n function addListener2(emitter, event, fn, context, once) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"The listener must be a function\");\n }\n var listener2 = new EE(fn, context || emitter, once), evt = prefix2 ? prefix2 + event : event;\n if (!emitter._events[evt]) emitter._events[evt] = listener2, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener2);\n else emitter._events[evt] = [emitter._events[evt], listener2];\n return emitter;\n }\n function clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n }\n function EventEmitter2() {\n this._events = new Events();\n this._eventsCount = 0;\n }\n EventEmitter2.prototype.eventNames = function eventNames() {\n var names = [], events, name;\n if (this._eventsCount === 0) return names;\n for (name in events = this._events) {\n if (has3.call(events, name)) names.push(prefix2 ? name.slice(1) : name);\n }\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n return names;\n };\n EventEmitter2.prototype.listeners = function listeners(event) {\n var evt = prefix2 ? prefix2 + event : event, handlers = this._events[evt];\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n return ee;\n };\n EventEmitter2.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix2 ? prefix2 + event : event, listeners = this._events[evt];\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n };\n EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix2 ? prefix2 + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt], len = arguments.length, args, i;\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, void 0, true);\n switch (len) {\n case 1:\n return listeners.fn.call(listeners.context), true;\n case 2:\n return listeners.fn.call(listeners.context, a1), true;\n case 3:\n return listeners.fn.call(listeners.context, a1, a2), true;\n case 4:\n return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length, j;\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, void 0, true);\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n default:\n if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n return true;\n };\n EventEmitter2.prototype.on = function on(event, fn, context) {\n return addListener2(this, event, fn, context, false);\n };\n EventEmitter2.prototype.once = function once(event, fn, context) {\n return addListener2(this, event, fn, context, true);\n };\n EventEmitter2.prototype.removeListener = function removeListener2(event, fn, context, once) {\n var evt = prefix2 ? prefix2 + event : event;\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n var listeners = this._events[evt];\n if (listeners.fn) {\n if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {\n events.push(listeners[i]);\n }\n }\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n return this;\n };\n EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n if (event) {\n evt = prefix2 ? prefix2 + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n return this;\n };\n EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;\n EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;\n EventEmitter2.prefixed = prefix2;\n EventEmitter2.EventEmitter = EventEmitter2;\n if (\"undefined\" !== typeof module) {\n module.exports = EventEmitter2;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/maxBy.js\n var require_maxBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/maxBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function maxBy2(items, getValue) {\n if (items.length === 0) {\n return void 0;\n }\n let maxElement = items[0];\n let max3 = getValue(maxElement, 0, items);\n for (let i = 1; i < items.length; i++) {\n const element = items[i];\n const value = getValue(element, i, items);\n if (value > max3) {\n max3 = value;\n maxElement = element;\n }\n }\n return maxElement;\n }\n exports.maxBy = maxBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/maxBy.js\n var require_maxBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/maxBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var maxBy$1 = require_maxBy();\n var identity3 = require_identity();\n var iteratee = require_iteratee();\n function maxBy2(items, iteratee$1) {\n if (items == null) {\n return void 0;\n }\n return maxBy$1.maxBy(Array.from(items), iteratee.iteratee(iteratee$1 ?? identity3.identity));\n }\n exports.maxBy = maxBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/maxBy.js\n var require_maxBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/maxBy.js\"(exports, module) {\n module.exports = require_maxBy2().maxBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/minBy.js\n var require_minBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/minBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function minBy2(items, getValue) {\n if (items.length === 0) {\n return void 0;\n }\n let minElement = items[0];\n let min3 = getValue(minElement, 0, items);\n for (let i = 1; i < items.length; i++) {\n const element = items[i];\n const value = getValue(element, i, items);\n if (value < min3) {\n min3 = value;\n minElement = element;\n }\n }\n return minElement;\n }\n exports.minBy = minBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/minBy.js\n var require_minBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/minBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var minBy$1 = require_minBy();\n var identity3 = require_identity();\n var iteratee = require_iteratee();\n function minBy2(items, iteratee$1) {\n if (items == null) {\n return void 0;\n }\n return minBy$1.minBy(Array.from(items), iteratee.iteratee(iteratee$1 ?? identity3.identity));\n }\n exports.minBy = minBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/minBy.js\n var require_minBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/minBy.js\"(exports, module) {\n module.exports = require_minBy2().minBy;\n }\n });\n\n // ../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/cjs/react-is.production.min.js\n var require_react_is_production_min = __commonJS({\n \"../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/cjs/react-is.production.min.js\"(exports) {\n \"use strict\";\n var b = /* @__PURE__ */ Symbol.for(\"react.element\");\n var c2 = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var d = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var e = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var f = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var g = /* @__PURE__ */ Symbol.for(\"react.provider\");\n var h = /* @__PURE__ */ Symbol.for(\"react.context\");\n var k2 = /* @__PURE__ */ Symbol.for(\"react.server_context\");\n var l = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var m = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var n = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var p = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var q = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var t2 = /* @__PURE__ */ Symbol.for(\"react.offscreen\");\n var u;\n u = /* @__PURE__ */ Symbol.for(\"react.module.reference\");\n function v(a2) {\n if (\"object\" === typeof a2 && null !== a2) {\n var r2 = a2.$$typeof;\n switch (r2) {\n case b:\n switch (a2 = a2.type, a2) {\n case d:\n case f:\n case e:\n case m:\n case n:\n return a2;\n default:\n switch (a2 = a2 && a2.$$typeof, a2) {\n case k2:\n case h:\n case l:\n case q:\n case p:\n case g:\n return a2;\n default:\n return r2;\n }\n }\n case c2:\n return r2;\n }\n }\n }\n exports.ContextConsumer = h;\n exports.ContextProvider = g;\n exports.Element = b;\n exports.ForwardRef = l;\n exports.Fragment = d;\n exports.Lazy = q;\n exports.Memo = p;\n exports.Portal = c2;\n exports.Profiler = f;\n exports.StrictMode = e;\n exports.Suspense = m;\n exports.SuspenseList = n;\n exports.isAsyncMode = function() {\n return false;\n };\n exports.isConcurrentMode = function() {\n return false;\n };\n exports.isContextConsumer = function(a2) {\n return v(a2) === h;\n };\n exports.isContextProvider = function(a2) {\n return v(a2) === g;\n };\n exports.isElement = function(a2) {\n return \"object\" === typeof a2 && null !== a2 && a2.$$typeof === b;\n };\n exports.isForwardRef = function(a2) {\n return v(a2) === l;\n };\n exports.isFragment = function(a2) {\n return v(a2) === d;\n };\n exports.isLazy = function(a2) {\n return v(a2) === q;\n };\n exports.isMemo = function(a2) {\n return v(a2) === p;\n };\n exports.isPortal = function(a2) {\n return v(a2) === c2;\n };\n exports.isProfiler = function(a2) {\n return v(a2) === f;\n };\n exports.isStrictMode = function(a2) {\n return v(a2) === e;\n };\n exports.isSuspense = function(a2) {\n return v(a2) === m;\n };\n exports.isSuspenseList = function(a2) {\n return v(a2) === n;\n };\n exports.isValidElementType = function(a2) {\n return \"string\" === typeof a2 || \"function\" === typeof a2 || a2 === d || a2 === f || a2 === e || a2 === m || a2 === n || a2 === t2 || \"object\" === typeof a2 && null !== a2 && (a2.$$typeof === q || a2.$$typeof === p || a2.$$typeof === g || a2.$$typeof === h || a2.$$typeof === l || a2.$$typeof === u || void 0 !== a2.getModuleId) ? true : false;\n };\n exports.typeOf = v;\n }\n });\n\n // ../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/index.js\n var require_react_is = __commonJS({\n \"../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_is_production_min();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js\n var require_isPlainObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPlainObject6(object) {\n if (typeof object !== \"object\") {\n return false;\n }\n if (object == null) {\n return false;\n }\n if (Object.getPrototypeOf(object) === null) {\n return true;\n }\n if (Object.prototype.toString.call(object) !== \"[object Object]\") {\n const tag = object[Symbol.toStringTag];\n if (tag == null) {\n return false;\n }\n const isTagReadonly = !Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable;\n if (isTagReadonly) {\n return false;\n }\n return object.toString() === `[object ${tag}]`;\n }\n let proto2 = object;\n while (Object.getPrototypeOf(proto2) !== null) {\n proto2 = Object.getPrototypeOf(proto2);\n }\n return Object.getPrototypeOf(object) === proto2;\n }\n exports.isPlainObject = isPlainObject6;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/isPlainObject.js\n var require_isPlainObject2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/isPlainObject.js\"(exports, module) {\n module.exports = require_isPlainObject().isPlainObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/last.js\n var require_last = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/last.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function last2(arr) {\n return arr[arr.length - 1];\n }\n exports.last = last2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toArray.js\n var require_toArray = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toArray2(value) {\n return Array.isArray(value) ? value : Array.from(value);\n }\n exports.toArray = toArray2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/last.js\n var require_last2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/last.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var last$1 = require_last();\n var toArray2 = require_toArray();\n var isArrayLike = require_isArrayLike();\n function last2(array2) {\n if (!isArrayLike.isArrayLike(array2)) {\n return void 0;\n }\n return last$1.last(toArray2.toArray(array2));\n }\n exports.last = last2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/last.js\n var require_last3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/last.js\"(exports, module) {\n module.exports = require_last2().last;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isBuffer.js\n var require_isBuffer = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isBuffer.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isBuffer(x2) {\n return typeof Buffer !== \"undefined\" && Buffer.isBuffer(x2);\n }\n exports.isBuffer = isBuffer;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js\n var require_isPrototype = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPrototype(value) {\n const constructor = value?.constructor;\n const prototype = typeof constructor === \"function\" ? constructor.prototype : Object.prototype;\n return value === prototype;\n }\n exports.isPrototype = isPrototype;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js\n var require_isTypedArray2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isTypedArray$1 = require_isTypedArray();\n function isTypedArray(x2) {\n return isTypedArray$1.isTypedArray(x2);\n }\n exports.isTypedArray = isTypedArray;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toInteger.js\n var require_toInteger = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toInteger.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toFinite = require_toFinite();\n function toInteger(value) {\n const finite = toFinite.toFinite(value);\n const remainder = finite % 1;\n return remainder ? finite - remainder : finite;\n }\n exports.toInteger = toInteger;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/times.js\n var require_times = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/times.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toInteger = require_toInteger();\n function times(n, getValue) {\n n = toInteger.toInteger(n);\n if (n < 1 || !Number.isSafeInteger(n)) {\n return [];\n }\n const result = new Array(n);\n for (let i = 0; i < n; i++) {\n result[i] = typeof getValue === \"function\" ? getValue(i) : i;\n }\n return result;\n }\n exports.times = times;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/keysIn.js\n var require_keysIn = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/keysIn.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isBuffer = require_isBuffer();\n var isPrototype = require_isPrototype();\n var isArrayLike = require_isArrayLike();\n var isTypedArray = require_isTypedArray2();\n var times = require_times();\n function keysIn(object) {\n if (object == null) {\n return [];\n }\n switch (typeof object) {\n case \"object\":\n case \"function\": {\n if (isArrayLike.isArrayLike(object)) {\n return arrayLikeKeysIn(object);\n }\n if (isPrototype.isPrototype(object)) {\n return prototypeKeysIn(object);\n }\n return keysInImpl(object);\n }\n default: {\n return keysInImpl(Object(object));\n }\n }\n }\n function keysInImpl(object) {\n const result = [];\n for (const key in object) {\n result.push(key);\n }\n return result;\n }\n function prototypeKeysIn(object) {\n const keys = keysInImpl(object);\n return keys.filter((key) => key !== \"constructor\");\n }\n function arrayLikeKeysIn(object) {\n const indices = times.times(object.length, (index2) => `${index2}`);\n const filteredKeys = new Set(indices);\n if (isBuffer.isBuffer(object)) {\n filteredKeys.add(\"offset\");\n filteredKeys.add(\"parent\");\n }\n if (isTypedArray.isTypedArray(object)) {\n filteredKeys.add(\"buffer\");\n filteredKeys.add(\"byteLength\");\n filteredKeys.add(\"byteOffset\");\n }\n const inheritedKeys = keysInImpl(object).filter((key) => !filteredKeys.has(key));\n if (Array.isArray(object)) {\n return [...indices, ...inheritedKeys];\n }\n return [...indices.filter((index2) => Object.hasOwn(object, index2)), ...inheritedKeys];\n }\n exports.keysIn = keysIn;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/unset.js\n var require_unset = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/unset.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var get9 = require_get();\n var isUnsafeProperty = require_isUnsafeProperty();\n var isDeepKey = require_isDeepKey();\n var toKey = require_toKey();\n var toPath = require_toPath();\n function unset(obj, path2) {\n if (obj == null) {\n return true;\n }\n switch (typeof path2) {\n case \"symbol\":\n case \"number\":\n case \"object\": {\n if (Array.isArray(path2)) {\n return unsetWithPath(obj, path2);\n }\n if (typeof path2 === \"number\") {\n path2 = toKey.toKey(path2);\n } else if (typeof path2 === \"object\") {\n if (Object.is(path2?.valueOf(), -0)) {\n path2 = \"-0\";\n } else {\n path2 = String(path2);\n }\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return false;\n }\n if (obj?.[path2] === void 0) {\n return true;\n }\n try {\n delete obj[path2];\n return true;\n } catch {\n return false;\n }\n }\n case \"string\": {\n if (obj?.[path2] === void 0 && isDeepKey.isDeepKey(path2)) {\n return unsetWithPath(obj, toPath.toPath(path2));\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return false;\n }\n try {\n delete obj[path2];\n return true;\n } catch {\n return false;\n }\n }\n }\n }\n function unsetWithPath(obj, path2) {\n const parent = path2.length === 1 ? obj : get9.get(obj, path2.slice(0, -1));\n const lastKey = path2[path2.length - 1];\n if (parent?.[lastKey] === void 0) {\n return true;\n }\n if (isUnsafeProperty.isUnsafeProperty(lastKey)) {\n return false;\n }\n try {\n delete parent[lastKey];\n return true;\n } catch {\n return false;\n }\n }\n exports.unset = unset;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js\n var require_getSymbolsIn = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getSymbols = require_getSymbols();\n function getSymbolsIn(object) {\n const result = [];\n while (object) {\n result.push(...getSymbols.getSymbols(object));\n object = Object.getPrototypeOf(object);\n }\n return result;\n }\n exports.getSymbolsIn = getSymbolsIn;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/flatten.js\n var require_flatten2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/flatten.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isArrayLike = require_isArrayLike();\n function flatten(value, depth = 1) {\n const result = [];\n const flooredDepth = Math.floor(depth);\n if (!isArrayLike.isArrayLike(value)) {\n return result;\n }\n const recursive = (arr, currentDepth) => {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n if (currentDepth < flooredDepth && (Array.isArray(item) || Boolean(item?.[Symbol.isConcatSpreadable]) || item !== null && typeof item === \"object\" && Object.prototype.toString.call(item) === \"[object Arguments]\")) {\n if (Array.isArray(item)) {\n recursive(item, currentDepth + 1);\n } else {\n recursive(Array.from(item), currentDepth + 1);\n }\n } else {\n result.push(item);\n }\n }\n };\n recursive(Array.from(value), 0);\n return result;\n }\n exports.flatten = flatten;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/omit.js\n var require_omit = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/omit.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith2();\n var keysIn = require_keysIn();\n var unset = require_unset();\n var getSymbolsIn = require_getSymbolsIn();\n var isDeepKey = require_isDeepKey();\n var flatten = require_flatten2();\n var isPlainObject6 = require_isPlainObject();\n function omit3(obj, ...keysArr) {\n if (obj == null) {\n return {};\n }\n keysArr = flatten.flatten(keysArr);\n const result = cloneInOmit(obj, keysArr);\n for (let i = 0; i < keysArr.length; i++) {\n let keys = keysArr[i];\n switch (typeof keys) {\n case \"object\": {\n if (!Array.isArray(keys)) {\n keys = Array.from(keys);\n }\n for (let j = 0; j < keys.length; j++) {\n const key = keys[j];\n unset.unset(result, key);\n }\n break;\n }\n case \"string\":\n case \"symbol\":\n case \"number\": {\n unset.unset(result, keys);\n break;\n }\n }\n }\n return result;\n }\n function cloneInOmit(obj, keys) {\n const hasDeepKey = keys.some((key) => Array.isArray(key) || isDeepKey.isDeepKey(key));\n if (hasDeepKey) {\n return deepCloneInOmit(obj);\n }\n return shallowCloneInOmit(obj);\n }\n function shallowCloneInOmit(obj) {\n const result = {};\n const keysToCopy = [...keysIn.keysIn(obj), ...getSymbolsIn.getSymbolsIn(obj)];\n for (let i = 0; i < keysToCopy.length; i++) {\n const key = keysToCopy[i];\n result[key] = obj[key];\n }\n return result;\n }\n function deepCloneInOmit(obj) {\n const result = {};\n const keysToCopy = [...keysIn.keysIn(obj), ...getSymbolsIn.getSymbolsIn(obj)];\n for (let i = 0; i < keysToCopy.length; i++) {\n const key = keysToCopy[i];\n result[key] = cloneDeepWith.cloneDeepWith(obj[key], (valueToClone) => {\n if (isPlainObject6.isPlainObject(valueToClone)) {\n return void 0;\n }\n return valueToClone;\n });\n }\n return result;\n }\n exports.omit = omit3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/omit.js\n var require_omit2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/omit.js\"(exports, module) {\n module.exports = require_omit().omit;\n }\n });\n\n // src/shell/smoke-harness-shims.ts\n var sandboxGlobal = globalThis;\n var asMicrotask = (callback) => {\n void Promise.resolve().then(() => {\n try {\n callback();\n } catch {\n }\n });\n };\n var installSchedulingShims = () => {\n if (typeof sandboxGlobal[\"setTimeout\"] === \"undefined\") {\n sandboxGlobal[\"setTimeout\"] = (callback) => {\n asMicrotask(callback);\n return 0;\n };\n sandboxGlobal[\"clearTimeout\"] = () => {\n };\n sandboxGlobal[\"setInterval\"] = () => 0;\n sandboxGlobal[\"clearInterval\"] = () => {\n };\n }\n if (typeof sandboxGlobal[\"setImmediate\"] === \"undefined\") {\n sandboxGlobal[\"setImmediate\"] = (callback) => {\n asMicrotask(callback);\n return 0;\n };\n }\n if (typeof sandboxGlobal[\"queueMicrotask\"] === \"undefined\") {\n sandboxGlobal[\"queueMicrotask\"] = asMicrotask;\n }\n if (typeof sandboxGlobal[\"MessageChannel\"] === \"undefined\") {\n sandboxGlobal[\"MessageChannel\"] = class {\n port1;\n port2;\n constructor() {\n let onmessage = null;\n this.port1 = {\n get onmessage() {\n return onmessage;\n },\n set onmessage(handler) {\n onmessage = handler;\n },\n close: () => {\n }\n };\n this.port2 = {\n postMessage: (data) => {\n asMicrotask(() => onmessage?.({ data }));\n },\n close: () => {\n }\n };\n }\n };\n }\n };\n var installTextCodecShims = () => {\n if (typeof sandboxGlobal[\"TextEncoder\"] === \"undefined\") {\n sandboxGlobal[\"TextEncoder\"] = class {\n encoding = \"utf-8\";\n encode(input2 = \"\") {\n const source = String(input2);\n const bytes = [];\n for (let index2 = 0; index2 < source.length; index2 += 1) {\n const code = source.charCodeAt(index2);\n if (code < 128) {\n bytes.push(code);\n } else if (code < 2048) {\n bytes.push(192 | code >> 6, 128 | code & 63);\n } else if (code >= 55296 && code < 56320 && index2 + 1 < source.length) {\n const low = source.charCodeAt(index2 + 1);\n index2 += 1;\n const point4 = (code - 55296 << 10) + (low - 56320) + 65536;\n bytes.push(\n 240 | point4 >> 18,\n 128 | point4 >> 12 & 63,\n 128 | point4 >> 6 & 63,\n 128 | point4 & 63\n );\n } else {\n bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);\n }\n }\n return new Uint8Array(bytes);\n }\n encodeInto(source, destination) {\n const encoded = this.encode(source);\n const written = Math.min(encoded.length, destination.length);\n destination.set(encoded.subarray(0, written));\n return { read: source.length, written };\n }\n };\n }\n if (typeof sandboxGlobal[\"TextDecoder\"] === \"undefined\") {\n sandboxGlobal[\"TextDecoder\"] = class {\n encoding = \"utf-8\";\n decode(input2) {\n if (!input2) return \"\";\n const bytes = input2 instanceof Uint8Array ? input2 : new Uint8Array(\n input2 instanceof ArrayBuffer ? input2 : input2.buffer\n );\n let out = \"\";\n let index2 = 0;\n while (index2 < bytes.length) {\n const byte = bytes[index2] ?? 0;\n index2 += 1;\n if (byte < 128) {\n out += String.fromCharCode(byte);\n } else if (byte < 224) {\n out += String.fromCharCode((byte & 31) << 6 | (bytes[index2] ?? 0) & 63);\n index2 += 1;\n } else if (byte < 240) {\n out += String.fromCharCode(\n (byte & 15) << 12 | ((bytes[index2] ?? 0) & 63) << 6 | (bytes[index2 + 1] ?? 0) & 63\n );\n index2 += 2;\n } else {\n const point4 = ((byte & 7) << 18 | ((bytes[index2] ?? 0) & 63) << 12 | ((bytes[index2 + 1] ?? 0) & 63) << 6 | (bytes[index2 + 2] ?? 0) & 63) - 65536;\n index2 += 3;\n out += String.fromCharCode(55296 + (point4 >> 10), 56320 + (point4 & 1023));\n }\n }\n return out;\n }\n };\n }\n };\n var installStreamShim = () => {\n if (typeof sandboxGlobal[\"ReadableStream\"] !== \"undefined\") return;\n sandboxGlobal[\"ReadableStream\"] = class {\n #chunks = [];\n #closed = false;\n #error;\n #source;\n #started;\n #controller;\n constructor(source = {}) {\n this.#source = source;\n const self2 = this;\n this.#controller = {\n get desiredSize() {\n return self2.#closed ? null : 1;\n },\n enqueue: (chunk) => {\n self2.#chunks.push(chunk);\n },\n close: () => {\n self2.#closed = true;\n },\n error: (reason) => {\n self2.#error = reason;\n self2.#closed = true;\n }\n };\n this.#started = Promise.resolve(source.start?.(this.#controller));\n }\n getReader() {\n const take = async () => {\n await this.#started;\n if (this.#error !== void 0) throw this.#error;\n if (this.#chunks.length > 0) return { done: false, value: this.#chunks.shift() };\n if (this.#closed) return { done: true, value: void 0 };\n await Promise.resolve(this.#source.pull?.(this.#controller));\n if (this.#error !== void 0) throw this.#error;\n if (this.#chunks.length > 0) return { done: false, value: this.#chunks.shift() };\n return { done: true, value: void 0 };\n };\n return {\n read: take,\n cancel: async (reason) => {\n this.#closed = true;\n await Promise.resolve(this.#source.cancel?.(reason));\n },\n releaseLock: () => {\n }\n };\n }\n cancel(reason) {\n return this.getReader().cancel(reason);\n }\n };\n };\n installSchedulingShims();\n installTextCodecShims();\n installStreamShim();\n\n // src/shell/smoke-harness.tsx\n var import_react90 = __toESM(require_react(), 1);\n var import_server2 = __toESM(require_server_browser(), 1);\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/subscribable.js\n var Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener2) {\n this.listeners.add(listener2);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener2);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/focusManager.js\n var FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener2 = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener2, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener2);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener2) => {\n listener2(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n };\n var focusManager = new FocusManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js\n var defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId4) => clearTimeout(timeoutId4),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n };\n var TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (false) {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (false) {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (false) {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId4) {\n this.#provider.clearTimeout(timeoutId4);\n }\n setInterval(callback, delay) {\n if (false) {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n };\n var timeoutManager = new TimeoutManager();\n function systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/utils.js\n var isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\n function noop() {\n }\n function functionalUpdate(updater, input2) {\n return typeof updater === \"function\" ? updater(input2) : updater;\n }\n function isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n }\n function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n }\n function resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n }\n function resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n }\n function matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n }\n function matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n }\n function hashQueryKeyByOptions(queryKey, options2) {\n const hashFn = options2?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n }\n function hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n }\n function partialMatchKey(a2, b) {\n if (a2 === b) {\n return true;\n }\n if (typeof a2 !== typeof b) {\n return false;\n }\n if (a2 && b && typeof a2 === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a2[key], b[key]));\n }\n return false;\n }\n var hasOwn = Object.prototype.hasOwnProperty;\n function replaceEqualDeep(a2, b, depth = 0) {\n if (a2 === b) {\n return a2;\n }\n if (depth > 500) return b;\n const array2 = isPlainArray(a2) && isPlainArray(b);\n if (!array2 && !(isPlainObject(a2) && isPlainObject(b))) return b;\n const aItems = array2 ? a2 : Object.keys(a2);\n const aSize = aItems.length;\n const bItems = array2 ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy3 = array2 ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array2 ? i : bItems[i];\n const aItem = a2[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy3[key] = aItem;\n if (array2 ? i < aSize : hasOwn.call(a2, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy3[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy3[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a2 : copy3;\n }\n function shallowEqualObjects(a2, b) {\n if (!b || Object.keys(a2).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a2) {\n if (a2[key] !== b[key]) {\n return false;\n }\n }\n return true;\n }\n function isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n }\n function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n }\n function hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n }\n function sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n }\n function replaceData(prevData, data, options2) {\n if (typeof options2.structuralSharing === \"function\") {\n return options2.structuralSharing(prevData, data);\n } else if (options2.structuralSharing !== false) {\n if (false) {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options2.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n }\n function addToEnd(items, item, max3 = 0) {\n const newItems = [...items, item];\n return max3 && newItems.length > max3 ? newItems.slice(1) : newItems;\n }\n function addToStart(items, item, max3 = 0) {\n const newItems = [item, ...items];\n return max3 && newItems.length > max3 ? newItems.slice(0, -1) : newItems;\n }\n var skipToken = /* @__PURE__ */ Symbol();\n function ensureQueryFn(options2, fetchOptions) {\n if (false) {\n if (options2.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options2.queryHash}'`\n );\n }\n }\n if (!options2.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options2.queryFn || options2.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options2.queryHash}'`));\n }\n return options2.queryFn;\n }\n function shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n }\n function addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/environmentManager.js\n var environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n })();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/thenable.js\n function pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize3(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize3({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize3({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js\n var defaultScheduler = systemSetTimeoutZero;\n function createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n }\n var notifyManager = createNotifyManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js\n var OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener2) => {\n listener2(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n };\n var onlineManager = new OnlineManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/retryer.js\n function defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n }\n function canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n }\n var CancelledError = class extends Error {\n constructor(options2) {\n super(\"CancelledError\");\n this.revert = options2?.revert;\n this.silent = options2?.silent;\n }\n };\n function createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/removable.js\n var Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout !== void 0) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/query.js\n var Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options2) {\n this.options = { ...this.#defaultOptions, ...options2 };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState2 = getDefaultState(this.options);\n if (defaultState2.data !== void 0) {\n this.setState(\n successState(defaultState2.data, defaultState2.dataUpdatedAt)\n );\n this.#initialState = defaultState2;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options2) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options2?.updatedAt,\n manual: options2?.manual\n });\n return data;\n }\n setState(state2, setStateOptions) {\n this.#dispatch({ type: \"setState\", state: state2, setStateOptions });\n }\n cancel(options2) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options2);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x2) => x2.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x2) => x2.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x2) => x2 !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options2, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options2) {\n this.setOptions(options2);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x2) => x2.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (false) {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (false) {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state2) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state2,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state2,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state2,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state2,\n ...fetchState(state2.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state2,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state2.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state2,\n error,\n errorUpdateCount: state2.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state2.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state2,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state2,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n };\n function fetchState(data, options2) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options2.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n }\n function successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n }\n function getDefaultState(options2) {\n const data = typeof options2.initialData === \"function\" ? options2.initialData() : options2.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options2.initialDataUpdatedAt === \"function\" ? options2.initialDataUpdatedAt() : options2.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js\n var QueryObserver = class extends Subscribable {\n constructor(client, options2) {\n super();\n this.options = options2;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options2);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options2) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options2);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options2) {\n const query = this.#client.getQueryCache().build(this.#client, options2);\n const result = this.createResult(query, options2);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options2 } = {}) {\n return this.fetch({\n ...options2\n });\n }\n fetchOptimistic(options2) {\n const defaultedOptions = this.#client.defaultQueryOptions(options2);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time2 = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time2 + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options2) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state: state2 } = query;\n let newState = { ...state2 };\n let isPlaceholderData = false;\n let data;\n if (options2._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options2);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options2, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state2.data, query.options)\n };\n }\n if (options2._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options2.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options2.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options2.placeholderData === \"function\" ? options2.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options2.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options2\n );\n isPlaceholderData = true;\n }\n }\n if (options2.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options2.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options2.select;\n data = options2.select(data);\n data = replaceData(prevResult?.data, data, options2);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options2),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options2.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener2) => {\n listener2(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n };\n function shouldLoadOnMount(query, options2) {\n return resolveEnabled(options2.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options2.retryOnMount === false);\n }\n function shouldFetchOnMount(query, options2) {\n return shouldLoadOnMount(query, options2) || query.state.data !== void 0 && shouldFetchOn(query, options2, options2.refetchOnMount);\n }\n function shouldFetchOn(query, options2, field) {\n if (resolveEnabled(options2.enabled, query) !== false && resolveStaleTime(options2.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options2);\n }\n return false;\n }\n function shouldFetchOptionally(query, prevQuery, options2, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options2.suspense || query.state.status !== \"error\") && isStale(query, options2);\n }\n function isStale(query, options2) {\n return resolveEnabled(options2.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options2.staleTime, query));\n }\n function shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js\n function infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options2 = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled2 = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled2 = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled2) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options2, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options2.initialPageParam : getNextPageParam(options2, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n }\n function getNextPageParam(options2, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options2.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n }\n function getPreviousPageParam(options2, { pages, pageParams }) {\n return pages.length > 0 ? options2.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n }\n function hasNextPage(options2, data) {\n if (!data) return false;\n return getNextPageParam(options2, data) != null;\n }\n function hasPreviousPage(options2, data) {\n if (!data || !options2.getPreviousPageParam) return false;\n return getPreviousPageParam(options2, data) != null;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js\n var InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options2) {\n super(client, options2);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options2) {\n super.setOptions({\n ...options2,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options2) {\n options2.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options2);\n }\n fetchNextPage(options2) {\n return this.fetch({\n ...options2,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options2) {\n return this.fetch({\n ...options2,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options2) {\n const { state: state2 } = query;\n const parentResult = super.createResult(query, options2);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state2.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options2, state2.data),\n hasPreviousPage: hasPreviousPage(options2, state2.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutation.js\n var Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState2();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options2) {\n this.options = options2;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x2) => x2 !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state2) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state2,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state2,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state2,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state2,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state2,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state2,\n data: void 0,\n error: action.error,\n failureCount: state2.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n };\n function getDefaultState2() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js\n var MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options2, state2) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options2),\n state: state2\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index2 = scopedMutations.indexOf(mutation);\n if (index2 !== -1) {\n scopedMutations.splice(index2, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener2) => {\n listener2(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x2) => x2.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n };\n function scopeFor(mutation) {\n return mutation.options.scope?.id;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutationObserver.js\n var MutationObserver2 = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options2) {\n super();\n this.#client = client;\n this.setOptions(options2);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options2) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options2);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options2) {\n this.#mutateOptions = options2;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state2 = this.#currentMutation?.state ?? getDefaultState2();\n this.#currentResult = {\n ...state2,\n isPending: state2.status === \"pending\",\n isSuccess: state2.status === \"success\",\n isError: state2.status === \"error\",\n isIdle: state2.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener2) => {\n listener2(this.#currentResult);\n });\n });\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryCache.js\n var QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options2, state2) {\n const queryKey = options2.queryKey;\n const queryHash = options2.queryHash ?? hashQueryKeyByOptions(queryKey, options2);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options2),\n state: state2,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener2) => {\n listener2(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryClient.js\n var QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options2 = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options2.queryHash)?.state.data;\n }\n ensureQueryData(options2) {\n const defaultedOptions = this.defaultQueryOptions(options2);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options2);\n }\n if (options2.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state: state2 }) => {\n const data = state2.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options2) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options2, manual: true });\n }\n setQueriesData(filters, updater, options2) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options2)\n ])\n );\n }\n getQueryState(queryKey) {\n const options2 = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options2.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options2) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options2\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options2 = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options2\n );\n });\n }\n refetchQueries(filters, options2 = {}) {\n const fetchOptions = {\n ...options2,\n cancelRefetch: options2.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options2) {\n const defaultedOptions = this.defaultQueryOptions(options2);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options2) {\n return this.fetchQuery(options2).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options2) {\n options2.behavior = infiniteQueryBehavior(options2.pages);\n return this.fetchQuery(options2);\n }\n prefetchInfiniteQuery(options2) {\n return this.fetchInfiniteQuery(options2).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options2) {\n options2.behavior = infiniteQueryBehavior(options2.pages);\n return this.ensureQueryData(options2);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options2) {\n this.#defaultOptions = options2;\n }\n setQueryDefaults(queryKey, options2) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options2\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options2) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options2\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options2) {\n if (options2._defaulted) {\n return options2;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options2.queryKey),\n ...options2,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options2) {\n if (options2?._defaulted) {\n return options2;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options2?.mutationKey && this.getMutationDefaults(options2.mutationKey),\n ...options2,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js\n var React = __toESM(require_react(), 1);\n var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);\n var QueryClientContext = React.createContext(\n void 0\n );\n var useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n };\n var QueryClientProvider = ({\n client,\n children\n }) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QueryClientContext.Provider, { value: client, children });\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js\n var React2 = __toESM(require_react(), 1);\n var IsRestoringContext = React2.createContext(false);\n var useIsRestoring = () => React2.useContext(IsRestoringContext);\n var IsRestoringProvider = IsRestoringContext.Provider;\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js\n var React3 = __toESM(require_react(), 1);\n var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);\n function createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n }\n var QueryErrorResetBoundaryContext = React3.createContext(createValue());\n var useQueryErrorResetBoundary = () => React3.useContext(QueryErrorResetBoundaryContext);\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js\n var React4 = __toESM(require_react(), 1);\n var ensurePreventErrorBoundaryRetry = (options2, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options2.throwOnError === \"function\" ? shouldThrowError(options2.throwOnError, [query.state.error, query]) : options2.throwOnError;\n if (options2.suspense || options2.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options2.retryOnMount = false;\n }\n }\n };\n var useClearResetErrorBoundary = (errorResetBoundary) => {\n React4.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n };\n var getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n }) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/suspense.js\n var ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp3 = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp3(originalStaleTime(...args)) : clamp3(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n };\n var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\n var shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\n var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n });\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js\n var React5 = __toESM(require_react(), 1);\n function useBaseQuery(options2, Observer, queryClient) {\n if (false) {\n if (typeof options2 !== \"object\" || Array.isArray(options2)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options2);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (false) {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React5.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options2.subscribed !== false;\n React5.useSyncExternalStore(\n React5.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React5.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useQuery.js\n function useQuery(options2, queryClient) {\n return useBaseQuery(options2, QueryObserver, queryClient);\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/queryOptions.js\n function queryOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.js\n function infiniteQueryOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useMutation.js\n var React6 = __toESM(require_react(), 1);\n function useMutation(options2, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React6.useState(\n () => new MutationObserver2(\n client,\n options2\n )\n );\n React6.useEffect(() => {\n observer.setOptions(options2);\n }, [observer, options2]);\n const result = React6.useSyncExternalStore(\n React6.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React6.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/mutationOptions.js\n function mutationOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js\n function useInfiniteQuery(options2, queryClient) {\n return useBaseQuery(\n options2,\n InfiniteQueryObserver,\n queryClient\n );\n }\n\n // src/shell/component-runtime.ts\n var import_react89 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/keywords.js\n var ContextualKeyword;\n (function(ContextualKeyword2) {\n const NONE = 0;\n ContextualKeyword2[ContextualKeyword2[\"NONE\"] = NONE] = \"NONE\";\n const _abstract = NONE + 1;\n ContextualKeyword2[ContextualKeyword2[\"_abstract\"] = _abstract] = \"_abstract\";\n const _accessor = _abstract + 1;\n ContextualKeyword2[ContextualKeyword2[\"_accessor\"] = _accessor] = \"_accessor\";\n const _as = _accessor + 1;\n ContextualKeyword2[ContextualKeyword2[\"_as\"] = _as] = \"_as\";\n const _assert = _as + 1;\n ContextualKeyword2[ContextualKeyword2[\"_assert\"] = _assert] = \"_assert\";\n const _asserts = _assert + 1;\n ContextualKeyword2[ContextualKeyword2[\"_asserts\"] = _asserts] = \"_asserts\";\n const _async = _asserts + 1;\n ContextualKeyword2[ContextualKeyword2[\"_async\"] = _async] = \"_async\";\n const _await = _async + 1;\n ContextualKeyword2[ContextualKeyword2[\"_await\"] = _await] = \"_await\";\n const _checks = _await + 1;\n ContextualKeyword2[ContextualKeyword2[\"_checks\"] = _checks] = \"_checks\";\n const _constructor = _checks + 1;\n ContextualKeyword2[ContextualKeyword2[\"_constructor\"] = _constructor] = \"_constructor\";\n const _declare = _constructor + 1;\n ContextualKeyword2[ContextualKeyword2[\"_declare\"] = _declare] = \"_declare\";\n const _enum = _declare + 1;\n ContextualKeyword2[ContextualKeyword2[\"_enum\"] = _enum] = \"_enum\";\n const _exports = _enum + 1;\n ContextualKeyword2[ContextualKeyword2[\"_exports\"] = _exports] = \"_exports\";\n const _from = _exports + 1;\n ContextualKeyword2[ContextualKeyword2[\"_from\"] = _from] = \"_from\";\n const _get = _from + 1;\n ContextualKeyword2[ContextualKeyword2[\"_get\"] = _get] = \"_get\";\n const _global = _get + 1;\n ContextualKeyword2[ContextualKeyword2[\"_global\"] = _global] = \"_global\";\n const _implements = _global + 1;\n ContextualKeyword2[ContextualKeyword2[\"_implements\"] = _implements] = \"_implements\";\n const _infer = _implements + 1;\n ContextualKeyword2[ContextualKeyword2[\"_infer\"] = _infer] = \"_infer\";\n const _interface = _infer + 1;\n ContextualKeyword2[ContextualKeyword2[\"_interface\"] = _interface] = \"_interface\";\n const _is = _interface + 1;\n ContextualKeyword2[ContextualKeyword2[\"_is\"] = _is] = \"_is\";\n const _keyof = _is + 1;\n ContextualKeyword2[ContextualKeyword2[\"_keyof\"] = _keyof] = \"_keyof\";\n const _mixins = _keyof + 1;\n ContextualKeyword2[ContextualKeyword2[\"_mixins\"] = _mixins] = \"_mixins\";\n const _module = _mixins + 1;\n ContextualKeyword2[ContextualKeyword2[\"_module\"] = _module] = \"_module\";\n const _namespace = _module + 1;\n ContextualKeyword2[ContextualKeyword2[\"_namespace\"] = _namespace] = \"_namespace\";\n const _of = _namespace + 1;\n ContextualKeyword2[ContextualKeyword2[\"_of\"] = _of] = \"_of\";\n const _opaque = _of + 1;\n ContextualKeyword2[ContextualKeyword2[\"_opaque\"] = _opaque] = \"_opaque\";\n const _out = _opaque + 1;\n ContextualKeyword2[ContextualKeyword2[\"_out\"] = _out] = \"_out\";\n const _override = _out + 1;\n ContextualKeyword2[ContextualKeyword2[\"_override\"] = _override] = \"_override\";\n const _private = _override + 1;\n ContextualKeyword2[ContextualKeyword2[\"_private\"] = _private] = \"_private\";\n const _protected = _private + 1;\n ContextualKeyword2[ContextualKeyword2[\"_protected\"] = _protected] = \"_protected\";\n const _proto = _protected + 1;\n ContextualKeyword2[ContextualKeyword2[\"_proto\"] = _proto] = \"_proto\";\n const _public = _proto + 1;\n ContextualKeyword2[ContextualKeyword2[\"_public\"] = _public] = \"_public\";\n const _readonly = _public + 1;\n ContextualKeyword2[ContextualKeyword2[\"_readonly\"] = _readonly] = \"_readonly\";\n const _require = _readonly + 1;\n ContextualKeyword2[ContextualKeyword2[\"_require\"] = _require] = \"_require\";\n const _satisfies = _require + 1;\n ContextualKeyword2[ContextualKeyword2[\"_satisfies\"] = _satisfies] = \"_satisfies\";\n const _set = _satisfies + 1;\n ContextualKeyword2[ContextualKeyword2[\"_set\"] = _set] = \"_set\";\n const _static = _set + 1;\n ContextualKeyword2[ContextualKeyword2[\"_static\"] = _static] = \"_static\";\n const _symbol = _static + 1;\n ContextualKeyword2[ContextualKeyword2[\"_symbol\"] = _symbol] = \"_symbol\";\n const _type = _symbol + 1;\n ContextualKeyword2[ContextualKeyword2[\"_type\"] = _type] = \"_type\";\n const _unique = _type + 1;\n ContextualKeyword2[ContextualKeyword2[\"_unique\"] = _unique] = \"_unique\";\n const _using = _unique + 1;\n ContextualKeyword2[ContextualKeyword2[\"_using\"] = _using] = \"_using\";\n })(ContextualKeyword || (ContextualKeyword = {}));\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/types.js\n var TokenType;\n (function(TokenType2) {\n const PRECEDENCE_MASK = 15;\n TokenType2[TokenType2[\"PRECEDENCE_MASK\"] = PRECEDENCE_MASK] = \"PRECEDENCE_MASK\";\n const IS_KEYWORD = 1 << 4;\n TokenType2[TokenType2[\"IS_KEYWORD\"] = IS_KEYWORD] = \"IS_KEYWORD\";\n const IS_ASSIGN = 1 << 5;\n TokenType2[TokenType2[\"IS_ASSIGN\"] = IS_ASSIGN] = \"IS_ASSIGN\";\n const IS_RIGHT_ASSOCIATIVE = 1 << 6;\n TokenType2[TokenType2[\"IS_RIGHT_ASSOCIATIVE\"] = IS_RIGHT_ASSOCIATIVE] = \"IS_RIGHT_ASSOCIATIVE\";\n const IS_PREFIX = 1 << 7;\n TokenType2[TokenType2[\"IS_PREFIX\"] = IS_PREFIX] = \"IS_PREFIX\";\n const IS_POSTFIX = 1 << 8;\n TokenType2[TokenType2[\"IS_POSTFIX\"] = IS_POSTFIX] = \"IS_POSTFIX\";\n const IS_EXPRESSION_START = 1 << 9;\n TokenType2[TokenType2[\"IS_EXPRESSION_START\"] = IS_EXPRESSION_START] = \"IS_EXPRESSION_START\";\n const num = 512;\n TokenType2[TokenType2[\"num\"] = num] = \"num\";\n const bigint = 1536;\n TokenType2[TokenType2[\"bigint\"] = bigint] = \"bigint\";\n const decimal = 2560;\n TokenType2[TokenType2[\"decimal\"] = decimal] = \"decimal\";\n const regexp = 3584;\n TokenType2[TokenType2[\"regexp\"] = regexp] = \"regexp\";\n const string = 4608;\n TokenType2[TokenType2[\"string\"] = string] = \"string\";\n const name = 5632;\n TokenType2[TokenType2[\"name\"] = name] = \"name\";\n const eof = 6144;\n TokenType2[TokenType2[\"eof\"] = eof] = \"eof\";\n const bracketL = 7680;\n TokenType2[TokenType2[\"bracketL\"] = bracketL] = \"bracketL\";\n const bracketR = 8192;\n TokenType2[TokenType2[\"bracketR\"] = bracketR] = \"bracketR\";\n const braceL = 9728;\n TokenType2[TokenType2[\"braceL\"] = braceL] = \"braceL\";\n const braceBarL = 10752;\n TokenType2[TokenType2[\"braceBarL\"] = braceBarL] = \"braceBarL\";\n const braceR = 11264;\n TokenType2[TokenType2[\"braceR\"] = braceR] = \"braceR\";\n const braceBarR = 12288;\n TokenType2[TokenType2[\"braceBarR\"] = braceBarR] = \"braceBarR\";\n const parenL = 13824;\n TokenType2[TokenType2[\"parenL\"] = parenL] = \"parenL\";\n const parenR = 14336;\n TokenType2[TokenType2[\"parenR\"] = parenR] = \"parenR\";\n const comma2 = 15360;\n TokenType2[TokenType2[\"comma\"] = comma2] = \"comma\";\n const semi = 16384;\n TokenType2[TokenType2[\"semi\"] = semi] = \"semi\";\n const colon = 17408;\n TokenType2[TokenType2[\"colon\"] = colon] = \"colon\";\n const doubleColon = 18432;\n TokenType2[TokenType2[\"doubleColon\"] = doubleColon] = \"doubleColon\";\n const dot = 19456;\n TokenType2[TokenType2[\"dot\"] = dot] = \"dot\";\n const question = 20480;\n TokenType2[TokenType2[\"question\"] = question] = \"question\";\n const questionDot = 21504;\n TokenType2[TokenType2[\"questionDot\"] = questionDot] = \"questionDot\";\n const arrow4 = 22528;\n TokenType2[TokenType2[\"arrow\"] = arrow4] = \"arrow\";\n const template = 23552;\n TokenType2[TokenType2[\"template\"] = template] = \"template\";\n const ellipsis = 24576;\n TokenType2[TokenType2[\"ellipsis\"] = ellipsis] = \"ellipsis\";\n const backQuote = 25600;\n TokenType2[TokenType2[\"backQuote\"] = backQuote] = \"backQuote\";\n const dollarBraceL = 27136;\n TokenType2[TokenType2[\"dollarBraceL\"] = dollarBraceL] = \"dollarBraceL\";\n const at = 27648;\n TokenType2[TokenType2[\"at\"] = at] = \"at\";\n const hash = 29184;\n TokenType2[TokenType2[\"hash\"] = hash] = \"hash\";\n const eq = 29728;\n TokenType2[TokenType2[\"eq\"] = eq] = \"eq\";\n const assign2 = 30752;\n TokenType2[TokenType2[\"assign\"] = assign2] = \"assign\";\n const preIncDec = 32640;\n TokenType2[TokenType2[\"preIncDec\"] = preIncDec] = \"preIncDec\";\n const postIncDec = 33664;\n TokenType2[TokenType2[\"postIncDec\"] = postIncDec] = \"postIncDec\";\n const bang = 34432;\n TokenType2[TokenType2[\"bang\"] = bang] = \"bang\";\n const tilde = 35456;\n TokenType2[TokenType2[\"tilde\"] = tilde] = \"tilde\";\n const pipeline = 35841;\n TokenType2[TokenType2[\"pipeline\"] = pipeline] = \"pipeline\";\n const nullishCoalescing = 36866;\n TokenType2[TokenType2[\"nullishCoalescing\"] = nullishCoalescing] = \"nullishCoalescing\";\n const logicalOR = 37890;\n TokenType2[TokenType2[\"logicalOR\"] = logicalOR] = \"logicalOR\";\n const logicalAND = 38915;\n TokenType2[TokenType2[\"logicalAND\"] = logicalAND] = \"logicalAND\";\n const bitwiseOR = 39940;\n TokenType2[TokenType2[\"bitwiseOR\"] = bitwiseOR] = \"bitwiseOR\";\n const bitwiseXOR = 40965;\n TokenType2[TokenType2[\"bitwiseXOR\"] = bitwiseXOR] = \"bitwiseXOR\";\n const bitwiseAND = 41990;\n TokenType2[TokenType2[\"bitwiseAND\"] = bitwiseAND] = \"bitwiseAND\";\n const equality = 43015;\n TokenType2[TokenType2[\"equality\"] = equality] = \"equality\";\n const lessThan = 44040;\n TokenType2[TokenType2[\"lessThan\"] = lessThan] = \"lessThan\";\n const greaterThan = 45064;\n TokenType2[TokenType2[\"greaterThan\"] = greaterThan] = \"greaterThan\";\n const relationalOrEqual = 46088;\n TokenType2[TokenType2[\"relationalOrEqual\"] = relationalOrEqual] = \"relationalOrEqual\";\n const bitShiftL = 47113;\n TokenType2[TokenType2[\"bitShiftL\"] = bitShiftL] = \"bitShiftL\";\n const bitShiftR = 48137;\n TokenType2[TokenType2[\"bitShiftR\"] = bitShiftR] = \"bitShiftR\";\n const plus = 49802;\n TokenType2[TokenType2[\"plus\"] = plus] = \"plus\";\n const minus = 50826;\n TokenType2[TokenType2[\"minus\"] = minus] = \"minus\";\n const modulo = 51723;\n TokenType2[TokenType2[\"modulo\"] = modulo] = \"modulo\";\n const star = 52235;\n TokenType2[TokenType2[\"star\"] = star] = \"star\";\n const slash = 53259;\n TokenType2[TokenType2[\"slash\"] = slash] = \"slash\";\n const exponent = 54348;\n TokenType2[TokenType2[\"exponent\"] = exponent] = \"exponent\";\n const jsxName = 55296;\n TokenType2[TokenType2[\"jsxName\"] = jsxName] = \"jsxName\";\n const jsxText = 56320;\n TokenType2[TokenType2[\"jsxText\"] = jsxText] = \"jsxText\";\n const jsxEmptyText = 57344;\n TokenType2[TokenType2[\"jsxEmptyText\"] = jsxEmptyText] = \"jsxEmptyText\";\n const jsxTagStart = 58880;\n TokenType2[TokenType2[\"jsxTagStart\"] = jsxTagStart] = \"jsxTagStart\";\n const jsxTagEnd = 59392;\n TokenType2[TokenType2[\"jsxTagEnd\"] = jsxTagEnd] = \"jsxTagEnd\";\n const typeParameterStart = 60928;\n TokenType2[TokenType2[\"typeParameterStart\"] = typeParameterStart] = \"typeParameterStart\";\n const nonNullAssertion = 61440;\n TokenType2[TokenType2[\"nonNullAssertion\"] = nonNullAssertion] = \"nonNullAssertion\";\n const _break = 62480;\n TokenType2[TokenType2[\"_break\"] = _break] = \"_break\";\n const _case = 63504;\n TokenType2[TokenType2[\"_case\"] = _case] = \"_case\";\n const _catch = 64528;\n TokenType2[TokenType2[\"_catch\"] = _catch] = \"_catch\";\n const _continue = 65552;\n TokenType2[TokenType2[\"_continue\"] = _continue] = \"_continue\";\n const _debugger = 66576;\n TokenType2[TokenType2[\"_debugger\"] = _debugger] = \"_debugger\";\n const _default = 67600;\n TokenType2[TokenType2[\"_default\"] = _default] = \"_default\";\n const _do = 68624;\n TokenType2[TokenType2[\"_do\"] = _do] = \"_do\";\n const _else = 69648;\n TokenType2[TokenType2[\"_else\"] = _else] = \"_else\";\n const _finally = 70672;\n TokenType2[TokenType2[\"_finally\"] = _finally] = \"_finally\";\n const _for = 71696;\n TokenType2[TokenType2[\"_for\"] = _for] = \"_for\";\n const _function = 73232;\n TokenType2[TokenType2[\"_function\"] = _function] = \"_function\";\n const _if = 73744;\n TokenType2[TokenType2[\"_if\"] = _if] = \"_if\";\n const _return = 74768;\n TokenType2[TokenType2[\"_return\"] = _return] = \"_return\";\n const _switch = 75792;\n TokenType2[TokenType2[\"_switch\"] = _switch] = \"_switch\";\n const _throw = 77456;\n TokenType2[TokenType2[\"_throw\"] = _throw] = \"_throw\";\n const _try = 77840;\n TokenType2[TokenType2[\"_try\"] = _try] = \"_try\";\n const _var = 78864;\n TokenType2[TokenType2[\"_var\"] = _var] = \"_var\";\n const _let = 79888;\n TokenType2[TokenType2[\"_let\"] = _let] = \"_let\";\n const _const = 80912;\n TokenType2[TokenType2[\"_const\"] = _const] = \"_const\";\n const _while = 81936;\n TokenType2[TokenType2[\"_while\"] = _while] = \"_while\";\n const _with = 82960;\n TokenType2[TokenType2[\"_with\"] = _with] = \"_with\";\n const _new = 84496;\n TokenType2[TokenType2[\"_new\"] = _new] = \"_new\";\n const _this = 85520;\n TokenType2[TokenType2[\"_this\"] = _this] = \"_this\";\n const _super = 86544;\n TokenType2[TokenType2[\"_super\"] = _super] = \"_super\";\n const _class = 87568;\n TokenType2[TokenType2[\"_class\"] = _class] = \"_class\";\n const _extends48 = 88080;\n TokenType2[TokenType2[\"_extends\"] = _extends48] = \"_extends\";\n const _export = 89104;\n TokenType2[TokenType2[\"_export\"] = _export] = \"_export\";\n const _import = 90640;\n TokenType2[TokenType2[\"_import\"] = _import] = \"_import\";\n const _yield = 91664;\n TokenType2[TokenType2[\"_yield\"] = _yield] = \"_yield\";\n const _null = 92688;\n TokenType2[TokenType2[\"_null\"] = _null] = \"_null\";\n const _true = 93712;\n TokenType2[TokenType2[\"_true\"] = _true] = \"_true\";\n const _false = 94736;\n TokenType2[TokenType2[\"_false\"] = _false] = \"_false\";\n const _in = 95256;\n TokenType2[TokenType2[\"_in\"] = _in] = \"_in\";\n const _instanceof = 96280;\n TokenType2[TokenType2[\"_instanceof\"] = _instanceof] = \"_instanceof\";\n const _typeof = 97936;\n TokenType2[TokenType2[\"_typeof\"] = _typeof] = \"_typeof\";\n const _void = 98960;\n TokenType2[TokenType2[\"_void\"] = _void] = \"_void\";\n const _delete = 99984;\n TokenType2[TokenType2[\"_delete\"] = _delete] = \"_delete\";\n const _async = 100880;\n TokenType2[TokenType2[\"_async\"] = _async] = \"_async\";\n const _get = 101904;\n TokenType2[TokenType2[\"_get\"] = _get] = \"_get\";\n const _set = 102928;\n TokenType2[TokenType2[\"_set\"] = _set] = \"_set\";\n const _declare = 103952;\n TokenType2[TokenType2[\"_declare\"] = _declare] = \"_declare\";\n const _readonly = 104976;\n TokenType2[TokenType2[\"_readonly\"] = _readonly] = \"_readonly\";\n const _abstract = 106e3;\n TokenType2[TokenType2[\"_abstract\"] = _abstract] = \"_abstract\";\n const _static = 107024;\n TokenType2[TokenType2[\"_static\"] = _static] = \"_static\";\n const _public = 107536;\n TokenType2[TokenType2[\"_public\"] = _public] = \"_public\";\n const _private = 108560;\n TokenType2[TokenType2[\"_private\"] = _private] = \"_private\";\n const _protected = 109584;\n TokenType2[TokenType2[\"_protected\"] = _protected] = \"_protected\";\n const _override = 110608;\n TokenType2[TokenType2[\"_override\"] = _override] = \"_override\";\n const _as = 112144;\n TokenType2[TokenType2[\"_as\"] = _as] = \"_as\";\n const _enum = 113168;\n TokenType2[TokenType2[\"_enum\"] = _enum] = \"_enum\";\n const _type = 114192;\n TokenType2[TokenType2[\"_type\"] = _type] = \"_type\";\n const _implements = 115216;\n TokenType2[TokenType2[\"_implements\"] = _implements] = \"_implements\";\n })(TokenType || (TokenType = {}));\n function formatTokenType(tokenType) {\n switch (tokenType) {\n case TokenType.num:\n return \"num\";\n case TokenType.bigint:\n return \"bigint\";\n case TokenType.decimal:\n return \"decimal\";\n case TokenType.regexp:\n return \"regexp\";\n case TokenType.string:\n return \"string\";\n case TokenType.name:\n return \"name\";\n case TokenType.eof:\n return \"eof\";\n case TokenType.bracketL:\n return \"[\";\n case TokenType.bracketR:\n return \"]\";\n case TokenType.braceL:\n return \"{\";\n case TokenType.braceBarL:\n return \"{|\";\n case TokenType.braceR:\n return \"}\";\n case TokenType.braceBarR:\n return \"|}\";\n case TokenType.parenL:\n return \"(\";\n case TokenType.parenR:\n return \")\";\n case TokenType.comma:\n return \",\";\n case TokenType.semi:\n return \";\";\n case TokenType.colon:\n return \":\";\n case TokenType.doubleColon:\n return \"::\";\n case TokenType.dot:\n return \".\";\n case TokenType.question:\n return \"?\";\n case TokenType.questionDot:\n return \"?.\";\n case TokenType.arrow:\n return \"=>\";\n case TokenType.template:\n return \"template\";\n case TokenType.ellipsis:\n return \"...\";\n case TokenType.backQuote:\n return \"`\";\n case TokenType.dollarBraceL:\n return \"${\";\n case TokenType.at:\n return \"@\";\n case TokenType.hash:\n return \"#\";\n case TokenType.eq:\n return \"=\";\n case TokenType.assign:\n return \"_=\";\n case TokenType.preIncDec:\n return \"++/--\";\n case TokenType.postIncDec:\n return \"++/--\";\n case TokenType.bang:\n return \"!\";\n case TokenType.tilde:\n return \"~\";\n case TokenType.pipeline:\n return \"|>\";\n case TokenType.nullishCoalescing:\n return \"??\";\n case TokenType.logicalOR:\n return \"||\";\n case TokenType.logicalAND:\n return \"&&\";\n case TokenType.bitwiseOR:\n return \"|\";\n case TokenType.bitwiseXOR:\n return \"^\";\n case TokenType.bitwiseAND:\n return \"&\";\n case TokenType.equality:\n return \"==/!=\";\n case TokenType.lessThan:\n return \"<\";\n case TokenType.greaterThan:\n return \">\";\n case TokenType.relationalOrEqual:\n return \"<=/>=\";\n case TokenType.bitShiftL:\n return \"<<\";\n case TokenType.bitShiftR:\n return \">>/>>>\";\n case TokenType.plus:\n return \"+\";\n case TokenType.minus:\n return \"-\";\n case TokenType.modulo:\n return \"%\";\n case TokenType.star:\n return \"*\";\n case TokenType.slash:\n return \"/\";\n case TokenType.exponent:\n return \"**\";\n case TokenType.jsxName:\n return \"jsxName\";\n case TokenType.jsxText:\n return \"jsxText\";\n case TokenType.jsxEmptyText:\n return \"jsxEmptyText\";\n case TokenType.jsxTagStart:\n return \"jsxTagStart\";\n case TokenType.jsxTagEnd:\n return \"jsxTagEnd\";\n case TokenType.typeParameterStart:\n return \"typeParameterStart\";\n case TokenType.nonNullAssertion:\n return \"nonNullAssertion\";\n case TokenType._break:\n return \"break\";\n case TokenType._case:\n return \"case\";\n case TokenType._catch:\n return \"catch\";\n case TokenType._continue:\n return \"continue\";\n case TokenType._debugger:\n return \"debugger\";\n case TokenType._default:\n return \"default\";\n case TokenType._do:\n return \"do\";\n case TokenType._else:\n return \"else\";\n case TokenType._finally:\n return \"finally\";\n case TokenType._for:\n return \"for\";\n case TokenType._function:\n return \"function\";\n case TokenType._if:\n return \"if\";\n case TokenType._return:\n return \"return\";\n case TokenType._switch:\n return \"switch\";\n case TokenType._throw:\n return \"throw\";\n case TokenType._try:\n return \"try\";\n case TokenType._var:\n return \"var\";\n case TokenType._let:\n return \"let\";\n case TokenType._const:\n return \"const\";\n case TokenType._while:\n return \"while\";\n case TokenType._with:\n return \"with\";\n case TokenType._new:\n return \"new\";\n case TokenType._this:\n return \"this\";\n case TokenType._super:\n return \"super\";\n case TokenType._class:\n return \"class\";\n case TokenType._extends:\n return \"extends\";\n case TokenType._export:\n return \"export\";\n case TokenType._import:\n return \"import\";\n case TokenType._yield:\n return \"yield\";\n case TokenType._null:\n return \"null\";\n case TokenType._true:\n return \"true\";\n case TokenType._false:\n return \"false\";\n case TokenType._in:\n return \"in\";\n case TokenType._instanceof:\n return \"instanceof\";\n case TokenType._typeof:\n return \"typeof\";\n case TokenType._void:\n return \"void\";\n case TokenType._delete:\n return \"delete\";\n case TokenType._async:\n return \"async\";\n case TokenType._get:\n return \"get\";\n case TokenType._set:\n return \"set\";\n case TokenType._declare:\n return \"declare\";\n case TokenType._readonly:\n return \"readonly\";\n case TokenType._abstract:\n return \"abstract\";\n case TokenType._static:\n return \"static\";\n case TokenType._public:\n return \"public\";\n case TokenType._private:\n return \"private\";\n case TokenType._protected:\n return \"protected\";\n case TokenType._override:\n return \"override\";\n case TokenType._as:\n return \"as\";\n case TokenType._enum:\n return \"enum\";\n case TokenType._type:\n return \"type\";\n case TokenType._implements:\n return \"implements\";\n default:\n return \"\";\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/state.js\n var Scope = class {\n constructor(startTokenIndex, endTokenIndex, isFunctionScope) {\n this.startTokenIndex = startTokenIndex;\n this.endTokenIndex = endTokenIndex;\n this.isFunctionScope = isFunctionScope;\n }\n };\n var StateSnapshot = class {\n constructor(potentialArrowAt, noAnonFunctionType, inDisallowConditionalTypesContext, tokensLength, scopesLength, pos, type, contextualKeyword, start, end, isType, scopeDepth, error) {\n ;\n this.potentialArrowAt = potentialArrowAt;\n this.noAnonFunctionType = noAnonFunctionType;\n this.inDisallowConditionalTypesContext = inDisallowConditionalTypesContext;\n this.tokensLength = tokensLength;\n this.scopesLength = scopesLength;\n this.pos = pos;\n this.type = type;\n this.contextualKeyword = contextualKeyword;\n this.start = start;\n this.end = end;\n this.isType = isType;\n this.scopeDepth = scopeDepth;\n this.error = error;\n }\n };\n var State = class _State {\n constructor() {\n _State.prototype.__init.call(this);\n _State.prototype.__init2.call(this);\n _State.prototype.__init3.call(this);\n _State.prototype.__init4.call(this);\n _State.prototype.__init5.call(this);\n _State.prototype.__init6.call(this);\n _State.prototype.__init7.call(this);\n _State.prototype.__init8.call(this);\n _State.prototype.__init9.call(this);\n _State.prototype.__init10.call(this);\n _State.prototype.__init11.call(this);\n _State.prototype.__init12.call(this);\n _State.prototype.__init13.call(this);\n }\n // Used to signify the start of a potential arrow function\n __init() {\n this.potentialArrowAt = -1;\n }\n // Used by Flow to handle an edge case involving function type parsing.\n __init2() {\n this.noAnonFunctionType = false;\n }\n // Used by TypeScript to handle ambiguities when parsing conditional types.\n __init3() {\n this.inDisallowConditionalTypesContext = false;\n }\n // Token store.\n __init4() {\n this.tokens = [];\n }\n // Array of all observed scopes, ordered by their ending position.\n __init5() {\n this.scopes = [];\n }\n // The current position of the tokenizer in the input.\n __init6() {\n this.pos = 0;\n }\n // Information about the current token.\n __init7() {\n this.type = TokenType.eof;\n }\n __init8() {\n this.contextualKeyword = ContextualKeyword.NONE;\n }\n __init9() {\n this.start = 0;\n }\n __init10() {\n this.end = 0;\n }\n __init11() {\n this.isType = false;\n }\n __init12() {\n this.scopeDepth = 0;\n }\n /**\n * If the parser is in an error state, then the token is always tt.eof and all functions can\n * keep executing but should be written so they don't get into an infinite loop in this situation.\n *\n * This approach, combined with the ability to snapshot and restore state, allows us to implement\n * backtracking without exceptions and without needing to explicitly propagate error states\n * everywhere.\n */\n __init13() {\n this.error = null;\n }\n snapshot() {\n return new StateSnapshot(\n this.potentialArrowAt,\n this.noAnonFunctionType,\n this.inDisallowConditionalTypesContext,\n this.tokens.length,\n this.scopes.length,\n this.pos,\n this.type,\n this.contextualKeyword,\n this.start,\n this.end,\n this.isType,\n this.scopeDepth,\n this.error\n );\n }\n restoreFromSnapshot(snapshot) {\n this.potentialArrowAt = snapshot.potentialArrowAt;\n this.noAnonFunctionType = snapshot.noAnonFunctionType;\n this.inDisallowConditionalTypesContext = snapshot.inDisallowConditionalTypesContext;\n this.tokens.length = snapshot.tokensLength;\n this.scopes.length = snapshot.scopesLength;\n this.pos = snapshot.pos;\n this.type = snapshot.type;\n this.contextualKeyword = snapshot.contextualKeyword;\n this.start = snapshot.start;\n this.end = snapshot.end;\n this.isType = snapshot.isType;\n this.scopeDepth = snapshot.scopeDepth;\n this.error = snapshot.error;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/charcodes.js\n var charCodes;\n (function(charCodes2) {\n const backSpace = 8;\n charCodes2[charCodes2[\"backSpace\"] = backSpace] = \"backSpace\";\n const lineFeed = 10;\n charCodes2[charCodes2[\"lineFeed\"] = lineFeed] = \"lineFeed\";\n const tab = 9;\n charCodes2[charCodes2[\"tab\"] = tab] = \"tab\";\n const carriageReturn = 13;\n charCodes2[charCodes2[\"carriageReturn\"] = carriageReturn] = \"carriageReturn\";\n const shiftOut = 14;\n charCodes2[charCodes2[\"shiftOut\"] = shiftOut] = \"shiftOut\";\n const space = 32;\n charCodes2[charCodes2[\"space\"] = space] = \"space\";\n const exclamationMark = 33;\n charCodes2[charCodes2[\"exclamationMark\"] = exclamationMark] = \"exclamationMark\";\n const quotationMark = 34;\n charCodes2[charCodes2[\"quotationMark\"] = quotationMark] = \"quotationMark\";\n const numberSign = 35;\n charCodes2[charCodes2[\"numberSign\"] = numberSign] = \"numberSign\";\n const dollarSign = 36;\n charCodes2[charCodes2[\"dollarSign\"] = dollarSign] = \"dollarSign\";\n const percentSign = 37;\n charCodes2[charCodes2[\"percentSign\"] = percentSign] = \"percentSign\";\n const ampersand = 38;\n charCodes2[charCodes2[\"ampersand\"] = ampersand] = \"ampersand\";\n const apostrophe = 39;\n charCodes2[charCodes2[\"apostrophe\"] = apostrophe] = \"apostrophe\";\n const leftParenthesis = 40;\n charCodes2[charCodes2[\"leftParenthesis\"] = leftParenthesis] = \"leftParenthesis\";\n const rightParenthesis = 41;\n charCodes2[charCodes2[\"rightParenthesis\"] = rightParenthesis] = \"rightParenthesis\";\n const asterisk = 42;\n charCodes2[charCodes2[\"asterisk\"] = asterisk] = \"asterisk\";\n const plusSign = 43;\n charCodes2[charCodes2[\"plusSign\"] = plusSign] = \"plusSign\";\n const comma2 = 44;\n charCodes2[charCodes2[\"comma\"] = comma2] = \"comma\";\n const dash = 45;\n charCodes2[charCodes2[\"dash\"] = dash] = \"dash\";\n const dot = 46;\n charCodes2[charCodes2[\"dot\"] = dot] = \"dot\";\n const slash = 47;\n charCodes2[charCodes2[\"slash\"] = slash] = \"slash\";\n const digit0 = 48;\n charCodes2[charCodes2[\"digit0\"] = digit0] = \"digit0\";\n const digit1 = 49;\n charCodes2[charCodes2[\"digit1\"] = digit1] = \"digit1\";\n const digit2 = 50;\n charCodes2[charCodes2[\"digit2\"] = digit2] = \"digit2\";\n const digit3 = 51;\n charCodes2[charCodes2[\"digit3\"] = digit3] = \"digit3\";\n const digit4 = 52;\n charCodes2[charCodes2[\"digit4\"] = digit4] = \"digit4\";\n const digit5 = 53;\n charCodes2[charCodes2[\"digit5\"] = digit5] = \"digit5\";\n const digit6 = 54;\n charCodes2[charCodes2[\"digit6\"] = digit6] = \"digit6\";\n const digit7 = 55;\n charCodes2[charCodes2[\"digit7\"] = digit7] = \"digit7\";\n const digit8 = 56;\n charCodes2[charCodes2[\"digit8\"] = digit8] = \"digit8\";\n const digit9 = 57;\n charCodes2[charCodes2[\"digit9\"] = digit9] = \"digit9\";\n const colon = 58;\n charCodes2[charCodes2[\"colon\"] = colon] = \"colon\";\n const semicolon3 = 59;\n charCodes2[charCodes2[\"semicolon\"] = semicolon3] = \"semicolon\";\n const lessThan = 60;\n charCodes2[charCodes2[\"lessThan\"] = lessThan] = \"lessThan\";\n const equalsTo = 61;\n charCodes2[charCodes2[\"equalsTo\"] = equalsTo] = \"equalsTo\";\n const greaterThan = 62;\n charCodes2[charCodes2[\"greaterThan\"] = greaterThan] = \"greaterThan\";\n const questionMark = 63;\n charCodes2[charCodes2[\"questionMark\"] = questionMark] = \"questionMark\";\n const atSign = 64;\n charCodes2[charCodes2[\"atSign\"] = atSign] = \"atSign\";\n const uppercaseA = 65;\n charCodes2[charCodes2[\"uppercaseA\"] = uppercaseA] = \"uppercaseA\";\n const uppercaseB = 66;\n charCodes2[charCodes2[\"uppercaseB\"] = uppercaseB] = \"uppercaseB\";\n const uppercaseC = 67;\n charCodes2[charCodes2[\"uppercaseC\"] = uppercaseC] = \"uppercaseC\";\n const uppercaseD = 68;\n charCodes2[charCodes2[\"uppercaseD\"] = uppercaseD] = \"uppercaseD\";\n const uppercaseE = 69;\n charCodes2[charCodes2[\"uppercaseE\"] = uppercaseE] = \"uppercaseE\";\n const uppercaseF = 70;\n charCodes2[charCodes2[\"uppercaseF\"] = uppercaseF] = \"uppercaseF\";\n const uppercaseG = 71;\n charCodes2[charCodes2[\"uppercaseG\"] = uppercaseG] = \"uppercaseG\";\n const uppercaseH = 72;\n charCodes2[charCodes2[\"uppercaseH\"] = uppercaseH] = \"uppercaseH\";\n const uppercaseI = 73;\n charCodes2[charCodes2[\"uppercaseI\"] = uppercaseI] = \"uppercaseI\";\n const uppercaseJ = 74;\n charCodes2[charCodes2[\"uppercaseJ\"] = uppercaseJ] = \"uppercaseJ\";\n const uppercaseK = 75;\n charCodes2[charCodes2[\"uppercaseK\"] = uppercaseK] = \"uppercaseK\";\n const uppercaseL = 76;\n charCodes2[charCodes2[\"uppercaseL\"] = uppercaseL] = \"uppercaseL\";\n const uppercaseM = 77;\n charCodes2[charCodes2[\"uppercaseM\"] = uppercaseM] = \"uppercaseM\";\n const uppercaseN = 78;\n charCodes2[charCodes2[\"uppercaseN\"] = uppercaseN] = \"uppercaseN\";\n const uppercaseO = 79;\n charCodes2[charCodes2[\"uppercaseO\"] = uppercaseO] = \"uppercaseO\";\n const uppercaseP = 80;\n charCodes2[charCodes2[\"uppercaseP\"] = uppercaseP] = \"uppercaseP\";\n const uppercaseQ = 81;\n charCodes2[charCodes2[\"uppercaseQ\"] = uppercaseQ] = \"uppercaseQ\";\n const uppercaseR = 82;\n charCodes2[charCodes2[\"uppercaseR\"] = uppercaseR] = \"uppercaseR\";\n const uppercaseS = 83;\n charCodes2[charCodes2[\"uppercaseS\"] = uppercaseS] = \"uppercaseS\";\n const uppercaseT = 84;\n charCodes2[charCodes2[\"uppercaseT\"] = uppercaseT] = \"uppercaseT\";\n const uppercaseU = 85;\n charCodes2[charCodes2[\"uppercaseU\"] = uppercaseU] = \"uppercaseU\";\n const uppercaseV = 86;\n charCodes2[charCodes2[\"uppercaseV\"] = uppercaseV] = \"uppercaseV\";\n const uppercaseW = 87;\n charCodes2[charCodes2[\"uppercaseW\"] = uppercaseW] = \"uppercaseW\";\n const uppercaseX = 88;\n charCodes2[charCodes2[\"uppercaseX\"] = uppercaseX] = \"uppercaseX\";\n const uppercaseY = 89;\n charCodes2[charCodes2[\"uppercaseY\"] = uppercaseY] = \"uppercaseY\";\n const uppercaseZ = 90;\n charCodes2[charCodes2[\"uppercaseZ\"] = uppercaseZ] = \"uppercaseZ\";\n const leftSquareBracket = 91;\n charCodes2[charCodes2[\"leftSquareBracket\"] = leftSquareBracket] = \"leftSquareBracket\";\n const backslash = 92;\n charCodes2[charCodes2[\"backslash\"] = backslash] = \"backslash\";\n const rightSquareBracket = 93;\n charCodes2[charCodes2[\"rightSquareBracket\"] = rightSquareBracket] = \"rightSquareBracket\";\n const caret = 94;\n charCodes2[charCodes2[\"caret\"] = caret] = \"caret\";\n const underscore = 95;\n charCodes2[charCodes2[\"underscore\"] = underscore] = \"underscore\";\n const graveAccent = 96;\n charCodes2[charCodes2[\"graveAccent\"] = graveAccent] = \"graveAccent\";\n const lowercaseA = 97;\n charCodes2[charCodes2[\"lowercaseA\"] = lowercaseA] = \"lowercaseA\";\n const lowercaseB = 98;\n charCodes2[charCodes2[\"lowercaseB\"] = lowercaseB] = \"lowercaseB\";\n const lowercaseC = 99;\n charCodes2[charCodes2[\"lowercaseC\"] = lowercaseC] = \"lowercaseC\";\n const lowercaseD = 100;\n charCodes2[charCodes2[\"lowercaseD\"] = lowercaseD] = \"lowercaseD\";\n const lowercaseE = 101;\n charCodes2[charCodes2[\"lowercaseE\"] = lowercaseE] = \"lowercaseE\";\n const lowercaseF = 102;\n charCodes2[charCodes2[\"lowercaseF\"] = lowercaseF] = \"lowercaseF\";\n const lowercaseG = 103;\n charCodes2[charCodes2[\"lowercaseG\"] = lowercaseG] = \"lowercaseG\";\n const lowercaseH = 104;\n charCodes2[charCodes2[\"lowercaseH\"] = lowercaseH] = \"lowercaseH\";\n const lowercaseI = 105;\n charCodes2[charCodes2[\"lowercaseI\"] = lowercaseI] = \"lowercaseI\";\n const lowercaseJ = 106;\n charCodes2[charCodes2[\"lowercaseJ\"] = lowercaseJ] = \"lowercaseJ\";\n const lowercaseK = 107;\n charCodes2[charCodes2[\"lowercaseK\"] = lowercaseK] = \"lowercaseK\";\n const lowercaseL = 108;\n charCodes2[charCodes2[\"lowercaseL\"] = lowercaseL] = \"lowercaseL\";\n const lowercaseM = 109;\n charCodes2[charCodes2[\"lowercaseM\"] = lowercaseM] = \"lowercaseM\";\n const lowercaseN = 110;\n charCodes2[charCodes2[\"lowercaseN\"] = lowercaseN] = \"lowercaseN\";\n const lowercaseO = 111;\n charCodes2[charCodes2[\"lowercaseO\"] = lowercaseO] = \"lowercaseO\";\n const lowercaseP = 112;\n charCodes2[charCodes2[\"lowercaseP\"] = lowercaseP] = \"lowercaseP\";\n const lowercaseQ = 113;\n charCodes2[charCodes2[\"lowercaseQ\"] = lowercaseQ] = \"lowercaseQ\";\n const lowercaseR = 114;\n charCodes2[charCodes2[\"lowercaseR\"] = lowercaseR] = \"lowercaseR\";\n const lowercaseS = 115;\n charCodes2[charCodes2[\"lowercaseS\"] = lowercaseS] = \"lowercaseS\";\n const lowercaseT = 116;\n charCodes2[charCodes2[\"lowercaseT\"] = lowercaseT] = \"lowercaseT\";\n const lowercaseU = 117;\n charCodes2[charCodes2[\"lowercaseU\"] = lowercaseU] = \"lowercaseU\";\n const lowercaseV = 118;\n charCodes2[charCodes2[\"lowercaseV\"] = lowercaseV] = \"lowercaseV\";\n const lowercaseW = 119;\n charCodes2[charCodes2[\"lowercaseW\"] = lowercaseW] = \"lowercaseW\";\n const lowercaseX = 120;\n charCodes2[charCodes2[\"lowercaseX\"] = lowercaseX] = \"lowercaseX\";\n const lowercaseY = 121;\n charCodes2[charCodes2[\"lowercaseY\"] = lowercaseY] = \"lowercaseY\";\n const lowercaseZ = 122;\n charCodes2[charCodes2[\"lowercaseZ\"] = lowercaseZ] = \"lowercaseZ\";\n const leftCurlyBrace = 123;\n charCodes2[charCodes2[\"leftCurlyBrace\"] = leftCurlyBrace] = \"leftCurlyBrace\";\n const verticalBar = 124;\n charCodes2[charCodes2[\"verticalBar\"] = verticalBar] = \"verticalBar\";\n const rightCurlyBrace = 125;\n charCodes2[charCodes2[\"rightCurlyBrace\"] = rightCurlyBrace] = \"rightCurlyBrace\";\n const tilde = 126;\n charCodes2[charCodes2[\"tilde\"] = tilde] = \"tilde\";\n const nonBreakingSpace = 160;\n charCodes2[charCodes2[\"nonBreakingSpace\"] = nonBreakingSpace] = \"nonBreakingSpace\";\n const oghamSpaceMark = 5760;\n charCodes2[charCodes2[\"oghamSpaceMark\"] = oghamSpaceMark] = \"oghamSpaceMark\";\n const lineSeparator = 8232;\n charCodes2[charCodes2[\"lineSeparator\"] = lineSeparator] = \"lineSeparator\";\n const paragraphSeparator = 8233;\n charCodes2[charCodes2[\"paragraphSeparator\"] = paragraphSeparator] = \"paragraphSeparator\";\n })(charCodes || (charCodes = {}));\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/base.js\n var isJSXEnabled;\n var isTypeScriptEnabled;\n var isFlowEnabled;\n var state;\n var input;\n var nextContextId;\n function getNextContextId() {\n return nextContextId++;\n }\n function augmentError(error) {\n if (\"pos\" in error) {\n const loc = locationForIndex(error.pos);\n error.message += ` (${loc.line}:${loc.column})`;\n error.loc = loc;\n }\n return error;\n }\n var Loc = class {\n constructor(line, column) {\n this.line = line;\n this.column = column;\n }\n };\n function locationForIndex(pos) {\n let line = 1;\n let column = 1;\n for (let i = 0; i < pos; i++) {\n if (input.charCodeAt(i) === charCodes.lineFeed) {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n return new Loc(line, column);\n }\n function initParser(inputCode, isJSXEnabledArg, isTypeScriptEnabledArg, isFlowEnabledArg) {\n input = inputCode;\n state = new State();\n nextContextId = 1;\n isJSXEnabled = isJSXEnabledArg;\n isTypeScriptEnabled = isTypeScriptEnabledArg;\n isFlowEnabled = isFlowEnabledArg;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/util.js\n function isContextual(contextualKeyword) {\n return state.contextualKeyword === contextualKeyword;\n }\n function isLookaheadContextual(contextualKeyword) {\n const l = lookaheadTypeAndKeyword();\n return l.type === TokenType.name && l.contextualKeyword === contextualKeyword;\n }\n function eatContextual(contextualKeyword) {\n return state.contextualKeyword === contextualKeyword && eat(TokenType.name);\n }\n function expectContextual(contextualKeyword) {\n if (!eatContextual(contextualKeyword)) {\n unexpected();\n }\n }\n function canInsertSemicolon() {\n return match(TokenType.eof) || match(TokenType.braceR) || hasPrecedingLineBreak();\n }\n function hasPrecedingLineBreak() {\n const prevToken = state.tokens[state.tokens.length - 1];\n const lastTokEnd = prevToken ? prevToken.end : 0;\n for (let i = lastTokEnd; i < state.start; i++) {\n const code = input.charCodeAt(i);\n if (code === charCodes.lineFeed || code === charCodes.carriageReturn || code === 8232 || code === 8233) {\n return true;\n }\n }\n return false;\n }\n function hasFollowingLineBreak() {\n const nextStart = nextTokenStart();\n for (let i = state.end; i < nextStart; i++) {\n const code = input.charCodeAt(i);\n if (code === charCodes.lineFeed || code === charCodes.carriageReturn || code === 8232 || code === 8233) {\n return true;\n }\n }\n return false;\n }\n function isLineTerminator() {\n return eat(TokenType.semi) || canInsertSemicolon();\n }\n function semicolon() {\n if (!isLineTerminator()) {\n unexpected('Unexpected token, expected \";\"');\n }\n }\n function expect(type) {\n const matched = eat(type);\n if (!matched) {\n unexpected(`Unexpected token, expected \"${formatTokenType(type)}\"`);\n }\n }\n function unexpected(message = \"Unexpected token\", pos = state.start) {\n if (state.error) {\n return;\n }\n const err = new SyntaxError(message);\n err.pos = pos;\n state.error = err;\n state.pos = input.length;\n finishToken(TokenType.eof);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/whitespace.js\n var WHITESPACE_CHARS = [\n 9,\n 11,\n 12,\n charCodes.space,\n charCodes.nonBreakingSpace,\n charCodes.oghamSpaceMark,\n 8192,\n // EN QUAD\n 8193,\n // EM QUAD\n 8194,\n // EN SPACE\n 8195,\n // EM SPACE\n 8196,\n // THREE-PER-EM SPACE\n 8197,\n // FOUR-PER-EM SPACE\n 8198,\n // SIX-PER-EM SPACE\n 8199,\n // FIGURE SPACE\n 8200,\n // PUNCTUATION SPACE\n 8201,\n // THIN SPACE\n 8202,\n // HAIR SPACE\n 8239,\n // NARROW NO-BREAK SPACE\n 8287,\n // MEDIUM MATHEMATICAL SPACE\n 12288,\n // IDEOGRAPHIC SPACE\n 65279\n // ZERO WIDTH NO-BREAK SPACE\n ];\n var skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n var IS_WHITESPACE = new Uint8Array(65536);\n for (const char of WHITESPACE_CHARS) {\n IS_WHITESPACE[char] = 1;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/identifier.js\n function computeIsIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code < 91) return true;\n if (code < 97) return code === 95;\n if (code < 123) return true;\n if (code < 128) return false;\n throw new Error(\"Should not be called with non-ASCII char code.\");\n }\n var IS_IDENTIFIER_CHAR = new Uint8Array(65536);\n for (let i = 0; i < 128; i++) {\n IS_IDENTIFIER_CHAR[i] = computeIsIdentifierChar(i) ? 1 : 0;\n }\n for (let i = 128; i < 65536; i++) {\n IS_IDENTIFIER_CHAR[i] = 1;\n }\n for (const whitespaceChar of WHITESPACE_CHARS) {\n IS_IDENTIFIER_CHAR[whitespaceChar] = 0;\n }\n IS_IDENTIFIER_CHAR[8232] = 0;\n IS_IDENTIFIER_CHAR[8233] = 0;\n var IS_IDENTIFIER_START = IS_IDENTIFIER_CHAR.slice();\n for (let numChar = charCodes.digit0; numChar <= charCodes.digit9; numChar++) {\n IS_IDENTIFIER_START[numChar] = 0;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/readWordTree.js\n var READ_WORD_TREE = new Int32Array([\n // \"\"\n -1,\n 27,\n 783,\n 918,\n 1755,\n 2376,\n 2862,\n 3483,\n -1,\n 3699,\n -1,\n 4617,\n 4752,\n 4833,\n 5130,\n 5508,\n 5940,\n -1,\n 6480,\n 6939,\n 7749,\n 8181,\n 8451,\n 8613,\n -1,\n 8829,\n -1,\n // \"a\"\n -1,\n -1,\n 54,\n 243,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 432,\n -1,\n -1,\n -1,\n 675,\n -1,\n -1,\n -1,\n // \"ab\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 81,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abs\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 108,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abst\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 135,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstr\"\n -1,\n 162,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstra\"\n -1,\n -1,\n -1,\n 189,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstrac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 216,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstract\"\n ContextualKeyword._abstract << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ac\"\n -1,\n -1,\n -1,\n 270,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 297,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acce\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 324,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acces\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 351,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"access\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 378,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"accesso\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 405,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"accessor\"\n ContextualKeyword._accessor << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"as\"\n ContextualKeyword._as << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 459,\n -1,\n -1,\n -1,\n -1,\n -1,\n 594,\n -1,\n // \"ass\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 486,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asse\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 513,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asser\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 540,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"assert\"\n ContextualKeyword._assert << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 567,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asserts\"\n ContextualKeyword._asserts << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asy\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 621,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asyn\"\n -1,\n -1,\n -1,\n 648,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"async\"\n ContextualKeyword._async << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"aw\"\n -1,\n 702,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"awa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 729,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"awai\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 756,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"await\"\n ContextualKeyword._await << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"b\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 810,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"br\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 837,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"bre\"\n -1,\n 864,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"brea\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 891,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"break\"\n (TokenType._break << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"c\"\n -1,\n 945,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1107,\n -1,\n -1,\n -1,\n 1242,\n -1,\n -1,\n 1350,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ca\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 972,\n 1026,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cas\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 999,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"case\"\n (TokenType._case << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cat\"\n -1,\n -1,\n -1,\n 1053,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"catc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1080,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"catch\"\n (TokenType._catch << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ch\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1134,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"che\"\n -1,\n -1,\n -1,\n 1161,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"chec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1188,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"check\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1215,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"checks\"\n ContextualKeyword._checks << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cl\"\n -1,\n 1269,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cla\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1296,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"clas\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1323,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"class\"\n (TokenType._class << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"co\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1377,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"con\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1404,\n 1620,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cons\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1431,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"const\"\n (TokenType._const << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1458,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1485,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constru\"\n -1,\n -1,\n -1,\n 1512,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"construc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1539,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"construct\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1566,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constructo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1593,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constructor\"\n ContextualKeyword._constructor << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cont\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1647,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"conti\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1674,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"contin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1701,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"continu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1728,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"continue\"\n (TokenType._continue << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"d\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1782,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2349,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"de\"\n -1,\n -1,\n 1809,\n 1971,\n -1,\n -1,\n 2106,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2241,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"deb\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1836,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1863,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debug\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1890,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugg\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1917,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugge\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1944,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugger\"\n (TokenType._debugger << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"dec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1998,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"decl\"\n -1,\n 2025,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"decla\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2052,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"declar\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2079,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"declare\"\n ContextualKeyword._declare << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"def\"\n -1,\n 2133,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2160,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defau\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2187,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defaul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2214,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"default\"\n (TokenType._default << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"del\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2268,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"dele\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2295,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"delet\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2322,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"delete\"\n (TokenType._delete << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"do\"\n (TokenType._do << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"e\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2403,\n -1,\n 2484,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2565,\n -1,\n -1,\n // \"el\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2430,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"els\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2457,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"else\"\n (TokenType._else << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"en\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2511,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"enu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2538,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"enum\"\n ContextualKeyword._enum << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ex\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2592,\n -1,\n -1,\n -1,\n 2727,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exp\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2619,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"expo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2646,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"expor\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2673,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"export\"\n (TokenType._export << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2700,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exports\"\n ContextualKeyword._exports << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ext\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2754,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exte\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2781,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exten\"\n -1,\n -1,\n -1,\n -1,\n 2808,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"extend\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2835,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"extends\"\n (TokenType._extends << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"f\"\n -1,\n 2889,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2997,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3159,\n -1,\n -1,\n 3213,\n -1,\n -1,\n 3294,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2916,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fal\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2943,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fals\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2970,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"false\"\n (TokenType._false << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3024,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fin\"\n -1,\n 3051,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fina\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3078,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"final\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3105,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"finall\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3132,\n -1,\n // \"finally\"\n (TokenType._finally << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3186,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"for\"\n (TokenType._for << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3240,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3267,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"from\"\n ContextualKeyword._from << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3321,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fun\"\n -1,\n -1,\n -1,\n 3348,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"func\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3375,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"funct\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3402,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"functi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3429,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"functio\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3456,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"function\"\n (TokenType._function << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"g\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3510,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3564,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ge\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3537,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"get\"\n ContextualKeyword._get << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"gl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3591,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"glo\"\n -1,\n -1,\n 3618,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"glob\"\n -1,\n 3645,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"globa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3672,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"global\"\n ContextualKeyword._global << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"i\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3726,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3753,\n 4077,\n -1,\n -1,\n -1,\n -1,\n 4590,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"if\"\n (TokenType._if << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"im\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3780,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"imp\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3807,\n -1,\n -1,\n 3996,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3834,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"imple\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3861,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implem\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3888,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impleme\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3915,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implemen\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3942,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implement\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3969,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implements\"\n ContextualKeyword._implements << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4023,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impor\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4050,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"import\"\n (TokenType._import << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"in\"\n (TokenType._in << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4104,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4185,\n 4401,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inf\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4131,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"infe\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4158,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"infer\"\n ContextualKeyword._infer << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ins\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4212,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inst\"\n -1,\n 4239,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"insta\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4266,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instan\"\n -1,\n -1,\n -1,\n 4293,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4320,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instance\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4347,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanceo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4374,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanceof\"\n (TokenType._instanceof << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"int\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4428,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inte\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4455,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inter\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4482,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interf\"\n -1,\n 4509,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interfa\"\n -1,\n -1,\n -1,\n 4536,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interfac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4563,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interface\"\n ContextualKeyword._interface << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"is\"\n ContextualKeyword._is << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"k\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4644,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ke\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4671,\n -1,\n // \"key\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4698,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"keyo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4725,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"keyof\"\n ContextualKeyword._keyof << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"l\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4779,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"le\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4806,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"let\"\n (TokenType._let << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"m\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4860,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4995,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4887,\n -1,\n -1,\n // \"mix\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4914,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4941,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4968,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixins\"\n ContextualKeyword._mixins << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mo\"\n -1,\n -1,\n -1,\n -1,\n 5022,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mod\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5049,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"modu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5076,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"modul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5103,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"module\"\n ContextualKeyword._module << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"n\"\n -1,\n 5157,\n -1,\n -1,\n -1,\n 5373,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5427,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"na\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5184,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nam\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5211,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"name\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5238,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"names\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5265,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namesp\"\n -1,\n 5292,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespa\"\n -1,\n -1,\n -1,\n 5319,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5346,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespace\"\n ContextualKeyword._namespace << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ne\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5400,\n -1,\n -1,\n -1,\n // \"new\"\n (TokenType._new << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5454,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5481,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"null\"\n (TokenType._null << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"o\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5535,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5562,\n -1,\n -1,\n -1,\n -1,\n 5697,\n 5751,\n -1,\n -1,\n -1,\n -1,\n // \"of\"\n ContextualKeyword._of << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"op\"\n -1,\n 5589,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5616,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaq\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5643,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaqu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5670,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaque\"\n ContextualKeyword._opaque << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ou\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5724,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"out\"\n ContextualKeyword._out << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ov\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5778,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ove\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5805,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"over\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5832,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5859,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overri\"\n -1,\n -1,\n -1,\n -1,\n 5886,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overrid\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5913,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"override\"\n ContextualKeyword._override << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"p\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5967,\n -1,\n -1,\n 6345,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5994,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6129,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pri\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6021,\n -1,\n -1,\n -1,\n -1,\n // \"priv\"\n -1,\n 6048,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"priva\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6075,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"privat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6102,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"private\"\n ContextualKeyword._private << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6156,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"prot\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6183,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6318,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"prote\"\n -1,\n -1,\n -1,\n 6210,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6237,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protect\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6264,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protecte\"\n -1,\n -1,\n -1,\n -1,\n 6291,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protected\"\n ContextualKeyword._protected << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"proto\"\n ContextualKeyword._proto << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pu\"\n -1,\n -1,\n 6372,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pub\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6399,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"publ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6426,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"publi\"\n -1,\n -1,\n -1,\n 6453,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"public\"\n ContextualKeyword._public << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"r\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6507,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"re\"\n -1,\n 6534,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6696,\n -1,\n -1,\n 6831,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"rea\"\n -1,\n -1,\n -1,\n -1,\n 6561,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"read\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6588,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"reado\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6615,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"readon\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6642,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"readonl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6669,\n -1,\n // \"readonly\"\n ContextualKeyword._readonly << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"req\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6723,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6750,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6777,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requir\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6804,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"require\"\n ContextualKeyword._require << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ret\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6858,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"retu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6885,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"retur\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6912,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"return\"\n (TokenType._return << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"s\"\n -1,\n 6966,\n -1,\n -1,\n -1,\n 7182,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7236,\n 7371,\n -1,\n 7479,\n -1,\n 7614,\n -1,\n // \"sa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6993,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7020,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sati\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7047,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satis\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7074,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisf\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7101,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7128,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfie\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7155,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfies\"\n ContextualKeyword._satisfies << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"se\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7209,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"set\"\n ContextualKeyword._set << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"st\"\n -1,\n 7263,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sta\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7290,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"stat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7317,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"stati\"\n -1,\n -1,\n -1,\n 7344,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"static\"\n ContextualKeyword._static << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"su\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7398,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sup\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7425,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"supe\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7452,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"super\"\n (TokenType._super << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sw\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7506,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"swi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7533,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"swit\"\n -1,\n -1,\n -1,\n 7560,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"switc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7587,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"switch\"\n (TokenType._switch << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sy\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7641,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sym\"\n -1,\n -1,\n 7668,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symb\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7695,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symbo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7722,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symbol\"\n ContextualKeyword._symbol << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"t\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7776,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7938,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8046,\n -1,\n // \"th\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7803,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7857,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7830,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"this\"\n (TokenType._this << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7884,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7911,\n -1,\n -1,\n -1,\n // \"throw\"\n (TokenType._throw << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"tr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7965,\n -1,\n -1,\n -1,\n 8019,\n -1,\n // \"tru\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7992,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"true\"\n (TokenType._true << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"try\"\n (TokenType._try << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ty\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8073,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8100,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"type\"\n ContextualKeyword._type << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8127,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typeo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8154,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typeof\"\n (TokenType._typeof << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"u\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8208,\n -1,\n -1,\n -1,\n -1,\n 8343,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"un\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8235,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uni\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8262,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uniq\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8289,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uniqu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8316,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"unique\"\n ContextualKeyword._unique << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"us\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8370,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"usi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8397,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"usin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8424,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"using\"\n ContextualKeyword._using << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"v\"\n -1,\n 8478,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8532,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"va\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8505,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"var\"\n (TokenType._var << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"vo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8559,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"voi\"\n -1,\n -1,\n -1,\n -1,\n 8586,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"void\"\n (TokenType._void << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"w\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8640,\n 8748,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wh\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8667,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"whi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8694,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"whil\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8721,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"while\"\n (TokenType._while << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8775,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wit\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8802,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"with\"\n (TokenType._with << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"y\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8856,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8883,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yie\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8910,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yiel\"\n -1,\n -1,\n -1,\n -1,\n 8937,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yield\"\n (TokenType._yield << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ]);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/readWord.js\n function readWord() {\n let treePos = 0;\n let code = 0;\n let pos = state.pos;\n while (pos < input.length) {\n code = input.charCodeAt(pos);\n if (code < charCodes.lowercaseA || code > charCodes.lowercaseZ) {\n break;\n }\n const next2 = READ_WORD_TREE[treePos + (code - charCodes.lowercaseA) + 1];\n if (next2 === -1) {\n break;\n } else {\n treePos = next2;\n pos++;\n }\n }\n const keywordValue = READ_WORD_TREE[treePos];\n if (keywordValue > -1 && !IS_IDENTIFIER_CHAR[code]) {\n state.pos = pos;\n if (keywordValue & 1) {\n finishToken(keywordValue >>> 1);\n } else {\n finishToken(TokenType.name, keywordValue >>> 1);\n }\n return;\n }\n while (pos < input.length) {\n const ch = input.charCodeAt(pos);\n if (IS_IDENTIFIER_CHAR[ch]) {\n pos++;\n } else if (ch === charCodes.backslash) {\n pos += 2;\n if (input.charCodeAt(pos) === charCodes.leftCurlyBrace) {\n while (pos < input.length && input.charCodeAt(pos) !== charCodes.rightCurlyBrace) {\n pos++;\n }\n pos++;\n }\n } else if (ch === charCodes.atSign && input.charCodeAt(pos + 1) === charCodes.atSign) {\n pos += 2;\n } else {\n break;\n }\n }\n state.pos = pos;\n finishToken(TokenType.name);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/index.js\n var IdentifierRole;\n (function(IdentifierRole2) {\n const Access = 0;\n IdentifierRole2[IdentifierRole2[\"Access\"] = Access] = \"Access\";\n const ExportAccess = Access + 1;\n IdentifierRole2[IdentifierRole2[\"ExportAccess\"] = ExportAccess] = \"ExportAccess\";\n const TopLevelDeclaration = ExportAccess + 1;\n IdentifierRole2[IdentifierRole2[\"TopLevelDeclaration\"] = TopLevelDeclaration] = \"TopLevelDeclaration\";\n const FunctionScopedDeclaration = TopLevelDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"FunctionScopedDeclaration\"] = FunctionScopedDeclaration] = \"FunctionScopedDeclaration\";\n const BlockScopedDeclaration = FunctionScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"BlockScopedDeclaration\"] = BlockScopedDeclaration] = \"BlockScopedDeclaration\";\n const ObjectShorthandTopLevelDeclaration = BlockScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandTopLevelDeclaration\"] = ObjectShorthandTopLevelDeclaration] = \"ObjectShorthandTopLevelDeclaration\";\n const ObjectShorthandFunctionScopedDeclaration = ObjectShorthandTopLevelDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandFunctionScopedDeclaration\"] = ObjectShorthandFunctionScopedDeclaration] = \"ObjectShorthandFunctionScopedDeclaration\";\n const ObjectShorthandBlockScopedDeclaration = ObjectShorthandFunctionScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandBlockScopedDeclaration\"] = ObjectShorthandBlockScopedDeclaration] = \"ObjectShorthandBlockScopedDeclaration\";\n const ObjectShorthand = ObjectShorthandBlockScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthand\"] = ObjectShorthand] = \"ObjectShorthand\";\n const ImportDeclaration = ObjectShorthand + 1;\n IdentifierRole2[IdentifierRole2[\"ImportDeclaration\"] = ImportDeclaration] = \"ImportDeclaration\";\n const ObjectKey = ImportDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectKey\"] = ObjectKey] = \"ObjectKey\";\n const ImportAccess = ObjectKey + 1;\n IdentifierRole2[IdentifierRole2[\"ImportAccess\"] = ImportAccess] = \"ImportAccess\";\n })(IdentifierRole || (IdentifierRole = {}));\n var JSXRole;\n (function(JSXRole2) {\n const NoChildren = 0;\n JSXRole2[JSXRole2[\"NoChildren\"] = NoChildren] = \"NoChildren\";\n const OneChild = NoChildren + 1;\n JSXRole2[JSXRole2[\"OneChild\"] = OneChild] = \"OneChild\";\n const StaticChildren = OneChild + 1;\n JSXRole2[JSXRole2[\"StaticChildren\"] = StaticChildren] = \"StaticChildren\";\n const KeyAfterPropSpread = StaticChildren + 1;\n JSXRole2[JSXRole2[\"KeyAfterPropSpread\"] = KeyAfterPropSpread] = \"KeyAfterPropSpread\";\n })(JSXRole || (JSXRole = {}));\n function isDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isNonTopLevelDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isTopLevelDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ImportDeclaration;\n }\n function isBlockScopedDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isFunctionScopedDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n function isObjectShorthandDeclaration(token) {\n return token.identifierRole === IdentifierRole.ObjectShorthandTopLevelDeclaration || token.identifierRole === IdentifierRole.ObjectShorthandBlockScopedDeclaration || token.identifierRole === IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n var Token = class {\n constructor() {\n this.type = state.type;\n this.contextualKeyword = state.contextualKeyword;\n this.start = state.start;\n this.end = state.end;\n this.scopeDepth = state.scopeDepth;\n this.isType = state.isType;\n this.identifierRole = null;\n this.jsxRole = null;\n this.shadowsGlobal = false;\n this.isAsyncOperation = false;\n this.contextId = null;\n this.rhsEndIndex = null;\n this.isExpression = false;\n this.numNullishCoalesceStarts = 0;\n this.numNullishCoalesceEnds = 0;\n this.isOptionalChainStart = false;\n this.isOptionalChainEnd = false;\n this.subscriptStartIndex = null;\n this.nullishStartIndex = null;\n }\n // Initially false for all tokens, then may be computed in a follow-up step that does scope\n // analysis.\n // Initially false for all tokens, but may be set during transform to mark it as containing an\n // await operation.\n // For assignments, the index of the RHS. For export tokens, the end of the export.\n // For class tokens, records if the class is a class expression or a class statement.\n // Number of times to insert a `nullishCoalesce(` snippet before this token.\n // Number of times to insert a `)` snippet after this token.\n // If true, insert an `optionalChain([` snippet before this token.\n // If true, insert a `])` snippet after this token.\n // Tag for `.`, `?.`, `[`, `?.[`, `(`, and `?.(` to denote the \"root\" token for this\n // subscript chain. This can be used to determine if this chain is an optional chain.\n // Tag for `??` operators to denote the root token for this nullish coalescing call.\n };\n function next() {\n state.tokens.push(new Token());\n nextToken();\n }\n function nextTemplateToken() {\n state.tokens.push(new Token());\n state.start = state.pos;\n readTmplToken();\n }\n function retokenizeSlashAsRegex() {\n if (state.type === TokenType.assign) {\n --state.pos;\n }\n readRegexp();\n }\n function pushTypeContext(existingTokensInType) {\n for (let i = state.tokens.length - existingTokensInType; i < state.tokens.length; i++) {\n state.tokens[i].isType = true;\n }\n const oldIsType = state.isType;\n state.isType = true;\n return oldIsType;\n }\n function popTypeContext(oldIsType) {\n state.isType = oldIsType;\n }\n function eat(type) {\n if (match(type)) {\n next();\n return true;\n } else {\n return false;\n }\n }\n function eatTypeToken(tokenType) {\n const oldIsType = state.isType;\n state.isType = true;\n eat(tokenType);\n state.isType = oldIsType;\n }\n function match(type) {\n return state.type === type;\n }\n function lookaheadType() {\n const snapshot = state.snapshot();\n next();\n const type = state.type;\n state.restoreFromSnapshot(snapshot);\n return type;\n }\n var TypeAndKeyword = class {\n constructor(type, contextualKeyword) {\n this.type = type;\n this.contextualKeyword = contextualKeyword;\n }\n };\n function lookaheadTypeAndKeyword() {\n const snapshot = state.snapshot();\n next();\n const type = state.type;\n const contextualKeyword = state.contextualKeyword;\n state.restoreFromSnapshot(snapshot);\n return new TypeAndKeyword(type, contextualKeyword);\n }\n function nextTokenStart() {\n return nextTokenStartSince(state.pos);\n }\n function nextTokenStartSince(pos) {\n skipWhiteSpace.lastIndex = pos;\n const skip = skipWhiteSpace.exec(input);\n return pos + skip[0].length;\n }\n function lookaheadCharCode() {\n return input.charCodeAt(nextTokenStart());\n }\n function nextToken() {\n skipSpace();\n state.start = state.pos;\n if (state.pos >= input.length) {\n const tokens = state.tokens;\n if (tokens.length >= 2 && tokens[tokens.length - 1].start >= input.length && tokens[tokens.length - 2].start >= input.length) {\n unexpected(\"Unexpectedly reached the end of input.\");\n }\n finishToken(TokenType.eof);\n return;\n }\n readToken(input.charCodeAt(state.pos));\n }\n function readToken(code) {\n if (IS_IDENTIFIER_START[code] || code === charCodes.backslash || code === charCodes.atSign && input.charCodeAt(state.pos + 1) === charCodes.atSign) {\n readWord();\n } else {\n getTokenFromCode(code);\n }\n }\n function skipBlockComment() {\n while (input.charCodeAt(state.pos) !== charCodes.asterisk || input.charCodeAt(state.pos + 1) !== charCodes.slash) {\n state.pos++;\n if (state.pos > input.length) {\n unexpected(\"Unterminated comment\", state.pos - 2);\n return;\n }\n }\n state.pos += 2;\n }\n function skipLineComment(startSkip) {\n let ch = input.charCodeAt(state.pos += startSkip);\n if (state.pos < input.length) {\n while (ch !== charCodes.lineFeed && ch !== charCodes.carriageReturn && ch !== charCodes.lineSeparator && ch !== charCodes.paragraphSeparator && ++state.pos < input.length) {\n ch = input.charCodeAt(state.pos);\n }\n }\n }\n function skipSpace() {\n while (state.pos < input.length) {\n const ch = input.charCodeAt(state.pos);\n switch (ch) {\n case charCodes.carriageReturn:\n if (input.charCodeAt(state.pos + 1) === charCodes.lineFeed) {\n ++state.pos;\n }\n case charCodes.lineFeed:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n ++state.pos;\n break;\n case charCodes.slash:\n switch (input.charCodeAt(state.pos + 1)) {\n case charCodes.asterisk:\n state.pos += 2;\n skipBlockComment();\n break;\n case charCodes.slash:\n skipLineComment(2);\n break;\n default:\n return;\n }\n break;\n default:\n if (IS_WHITESPACE[ch]) {\n ++state.pos;\n } else {\n return;\n }\n }\n }\n }\n function finishToken(type, contextualKeyword = ContextualKeyword.NONE) {\n state.end = state.pos;\n state.type = type;\n state.contextualKeyword = contextualKeyword;\n }\n function readToken_dot() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar >= charCodes.digit0 && nextChar <= charCodes.digit9) {\n readNumber(true);\n return;\n }\n if (nextChar === charCodes.dot && input.charCodeAt(state.pos + 2) === charCodes.dot) {\n state.pos += 3;\n finishToken(TokenType.ellipsis);\n } else {\n ++state.pos;\n finishToken(TokenType.dot);\n }\n }\n function readToken_slash() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else {\n finishOp(TokenType.slash, 1);\n }\n }\n function readToken_mult_modulo(code) {\n let tokenType = code === charCodes.asterisk ? TokenType.star : TokenType.modulo;\n let width = 1;\n let nextChar = input.charCodeAt(state.pos + 1);\n if (code === charCodes.asterisk && nextChar === charCodes.asterisk) {\n width++;\n nextChar = input.charCodeAt(state.pos + 2);\n tokenType = TokenType.exponent;\n }\n if (nextChar === charCodes.equalsTo && input.charCodeAt(state.pos + 2) !== charCodes.greaterThan) {\n width++;\n tokenType = TokenType.assign;\n }\n finishOp(tokenType, width);\n }\n function readToken_pipe_amp(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === code) {\n if (input.charCodeAt(state.pos + 2) === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n } else {\n finishOp(code === charCodes.verticalBar ? TokenType.logicalOR : TokenType.logicalAND, 2);\n }\n return;\n }\n if (code === charCodes.verticalBar) {\n if (nextChar === charCodes.greaterThan) {\n finishOp(TokenType.pipeline, 2);\n return;\n } else if (nextChar === charCodes.rightCurlyBrace && isFlowEnabled) {\n finishOp(TokenType.braceBarR, 2);\n return;\n }\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n return;\n }\n finishOp(code === charCodes.verticalBar ? TokenType.bitwiseOR : TokenType.bitwiseAND, 1);\n }\n function readToken_caret() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else {\n finishOp(TokenType.bitwiseXOR, 1);\n }\n }\n function readToken_plus_min(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === code) {\n finishOp(TokenType.preIncDec, 2);\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else if (code === charCodes.plusSign) {\n finishOp(TokenType.plus, 1);\n } else {\n finishOp(TokenType.minus, 1);\n }\n }\n function readToken_lt() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.lessThan) {\n if (input.charCodeAt(state.pos + 2) === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n return;\n }\n if (state.isType) {\n finishOp(TokenType.lessThan, 1);\n } else {\n finishOp(TokenType.bitShiftL, 2);\n }\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.relationalOrEqual, 2);\n } else {\n finishOp(TokenType.lessThan, 1);\n }\n }\n function readToken_gt() {\n if (state.isType) {\n finishOp(TokenType.greaterThan, 1);\n return;\n }\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.greaterThan) {\n const size4 = input.charCodeAt(state.pos + 2) === charCodes.greaterThan ? 3 : 2;\n if (input.charCodeAt(state.pos + size4) === charCodes.equalsTo) {\n finishOp(TokenType.assign, size4 + 1);\n return;\n }\n finishOp(TokenType.bitShiftR, size4);\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.relationalOrEqual, 2);\n } else {\n finishOp(TokenType.greaterThan, 1);\n }\n }\n function rescan_gt() {\n if (state.type === TokenType.greaterThan) {\n state.pos -= 1;\n readToken_gt();\n }\n }\n function readToken_eq_excl(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.equality, input.charCodeAt(state.pos + 2) === charCodes.equalsTo ? 3 : 2);\n return;\n }\n if (code === charCodes.equalsTo && nextChar === charCodes.greaterThan) {\n state.pos += 2;\n finishToken(TokenType.arrow);\n return;\n }\n finishOp(code === charCodes.equalsTo ? TokenType.eq : TokenType.bang, 1);\n }\n function readToken_question() {\n const nextChar = input.charCodeAt(state.pos + 1);\n const nextChar2 = input.charCodeAt(state.pos + 2);\n if (nextChar === charCodes.questionMark && // In Flow (but not TypeScript), ??string is a valid type that should be\n // tokenized as two individual ? tokens.\n !(isFlowEnabled && state.isType)) {\n if (nextChar2 === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n } else {\n finishOp(TokenType.nullishCoalescing, 2);\n }\n } else if (nextChar === charCodes.dot && !(nextChar2 >= charCodes.digit0 && nextChar2 <= charCodes.digit9)) {\n state.pos += 2;\n finishToken(TokenType.questionDot);\n } else {\n ++state.pos;\n finishToken(TokenType.question);\n }\n }\n function getTokenFromCode(code) {\n switch (code) {\n case charCodes.numberSign:\n ++state.pos;\n finishToken(TokenType.hash);\n return;\n // The interpretation of a dot depends on whether it is followed\n // by a digit or another two dots.\n case charCodes.dot:\n readToken_dot();\n return;\n // Punctuation tokens.\n case charCodes.leftParenthesis:\n ++state.pos;\n finishToken(TokenType.parenL);\n return;\n case charCodes.rightParenthesis:\n ++state.pos;\n finishToken(TokenType.parenR);\n return;\n case charCodes.semicolon:\n ++state.pos;\n finishToken(TokenType.semi);\n return;\n case charCodes.comma:\n ++state.pos;\n finishToken(TokenType.comma);\n return;\n case charCodes.leftSquareBracket:\n ++state.pos;\n finishToken(TokenType.bracketL);\n return;\n case charCodes.rightSquareBracket:\n ++state.pos;\n finishToken(TokenType.bracketR);\n return;\n case charCodes.leftCurlyBrace:\n if (isFlowEnabled && input.charCodeAt(state.pos + 1) === charCodes.verticalBar) {\n finishOp(TokenType.braceBarL, 2);\n } else {\n ++state.pos;\n finishToken(TokenType.braceL);\n }\n return;\n case charCodes.rightCurlyBrace:\n ++state.pos;\n finishToken(TokenType.braceR);\n return;\n case charCodes.colon:\n if (input.charCodeAt(state.pos + 1) === charCodes.colon) {\n finishOp(TokenType.doubleColon, 2);\n } else {\n ++state.pos;\n finishToken(TokenType.colon);\n }\n return;\n case charCodes.questionMark:\n readToken_question();\n return;\n case charCodes.atSign:\n ++state.pos;\n finishToken(TokenType.at);\n return;\n case charCodes.graveAccent:\n ++state.pos;\n finishToken(TokenType.backQuote);\n return;\n case charCodes.digit0: {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.lowercaseX || nextChar === charCodes.uppercaseX || nextChar === charCodes.lowercaseO || nextChar === charCodes.uppercaseO || nextChar === charCodes.lowercaseB || nextChar === charCodes.uppercaseB) {\n readRadixNumber();\n return;\n }\n }\n // Anything else beginning with a digit is an integer, octal\n // number, or float.\n case charCodes.digit1:\n case charCodes.digit2:\n case charCodes.digit3:\n case charCodes.digit4:\n case charCodes.digit5:\n case charCodes.digit6:\n case charCodes.digit7:\n case charCodes.digit8:\n case charCodes.digit9:\n readNumber(false);\n return;\n // Quotes produce strings.\n case charCodes.quotationMark:\n case charCodes.apostrophe:\n readString(code);\n return;\n // Operators are parsed inline in tiny state machines. '=' (charCodes.equalsTo) is\n // often referred to. `finishOp` simply skips the amount of\n // characters it is given as second argument, and returns a token\n // of the type given by its first argument.\n case charCodes.slash:\n readToken_slash();\n return;\n case charCodes.percentSign:\n case charCodes.asterisk:\n readToken_mult_modulo(code);\n return;\n case charCodes.verticalBar:\n case charCodes.ampersand:\n readToken_pipe_amp(code);\n return;\n case charCodes.caret:\n readToken_caret();\n return;\n case charCodes.plusSign:\n case charCodes.dash:\n readToken_plus_min(code);\n return;\n case charCodes.lessThan:\n readToken_lt();\n return;\n case charCodes.greaterThan:\n readToken_gt();\n return;\n case charCodes.equalsTo:\n case charCodes.exclamationMark:\n readToken_eq_excl(code);\n return;\n case charCodes.tilde:\n finishOp(TokenType.tilde, 1);\n return;\n default:\n break;\n }\n unexpected(`Unexpected character '${String.fromCharCode(code)}'`, state.pos);\n }\n function finishOp(type, size4) {\n state.pos += size4;\n finishToken(type);\n }\n function readRegexp() {\n const start = state.pos;\n let escaped = false;\n let inClass = false;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated regular expression\", start);\n return;\n }\n const code = input.charCodeAt(state.pos);\n if (escaped) {\n escaped = false;\n } else {\n if (code === charCodes.leftSquareBracket) {\n inClass = true;\n } else if (code === charCodes.rightSquareBracket && inClass) {\n inClass = false;\n } else if (code === charCodes.slash && !inClass) {\n break;\n }\n escaped = code === charCodes.backslash;\n }\n ++state.pos;\n }\n ++state.pos;\n skipWord();\n finishToken(TokenType.regexp);\n }\n function readInt() {\n while (true) {\n const code = input.charCodeAt(state.pos);\n if (code >= charCodes.digit0 && code <= charCodes.digit9 || code === charCodes.underscore) {\n state.pos++;\n } else {\n break;\n }\n }\n }\n function readRadixNumber() {\n state.pos += 2;\n while (true) {\n const code = input.charCodeAt(state.pos);\n if (code >= charCodes.digit0 && code <= charCodes.digit9 || code >= charCodes.lowercaseA && code <= charCodes.lowercaseF || code >= charCodes.uppercaseA && code <= charCodes.uppercaseF || code === charCodes.underscore) {\n state.pos++;\n } else {\n break;\n }\n }\n const nextChar = input.charCodeAt(state.pos);\n if (nextChar === charCodes.lowercaseN) {\n ++state.pos;\n finishToken(TokenType.bigint);\n } else {\n finishToken(TokenType.num);\n }\n }\n function readNumber(startsWithDot) {\n let isBigInt = false;\n let isDecimal = false;\n if (!startsWithDot) {\n readInt();\n }\n let nextChar = input.charCodeAt(state.pos);\n if (nextChar === charCodes.dot) {\n ++state.pos;\n readInt();\n nextChar = input.charCodeAt(state.pos);\n }\n if (nextChar === charCodes.uppercaseE || nextChar === charCodes.lowercaseE) {\n nextChar = input.charCodeAt(++state.pos);\n if (nextChar === charCodes.plusSign || nextChar === charCodes.dash) {\n ++state.pos;\n }\n readInt();\n nextChar = input.charCodeAt(state.pos);\n }\n if (nextChar === charCodes.lowercaseN) {\n ++state.pos;\n isBigInt = true;\n } else if (nextChar === charCodes.lowercaseM) {\n ++state.pos;\n isDecimal = true;\n }\n if (isBigInt) {\n finishToken(TokenType.bigint);\n return;\n }\n if (isDecimal) {\n finishToken(TokenType.decimal);\n return;\n }\n finishToken(TokenType.num);\n }\n function readString(quote) {\n state.pos++;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated string constant\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.backslash) {\n state.pos++;\n } else if (ch === quote) {\n break;\n }\n state.pos++;\n }\n state.pos++;\n finishToken(TokenType.string);\n }\n function readTmplToken() {\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated template\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.graveAccent || ch === charCodes.dollarSign && input.charCodeAt(state.pos + 1) === charCodes.leftCurlyBrace) {\n if (state.pos === state.start && match(TokenType.template)) {\n if (ch === charCodes.dollarSign) {\n state.pos += 2;\n finishToken(TokenType.dollarBraceL);\n return;\n } else {\n ++state.pos;\n finishToken(TokenType.backQuote);\n return;\n }\n }\n finishToken(TokenType.template);\n return;\n }\n if (ch === charCodes.backslash) {\n state.pos++;\n }\n state.pos++;\n }\n }\n function skipWord() {\n while (state.pos < input.length) {\n const ch = input.charCodeAt(state.pos);\n if (IS_IDENTIFIER_CHAR[ch]) {\n state.pos++;\n } else if (ch === charCodes.backslash) {\n state.pos += 2;\n if (input.charCodeAt(state.pos) === charCodes.leftCurlyBrace) {\n while (state.pos < input.length && input.charCodeAt(state.pos) !== charCodes.rightCurlyBrace) {\n state.pos++;\n }\n state.pos++;\n }\n } else {\n break;\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getImportExportSpecifierInfo.js\n function getImportExportSpecifierInfo(tokens, index2 = tokens.currentIndex()) {\n let endIndex = index2 + 1;\n if (isSpecifierEnd(tokens, endIndex)) {\n const name = tokens.identifierNameAtIndex(index2);\n return {\n isType: false,\n leftName: name,\n rightName: name,\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: true,\n leftName: null,\n rightName: null,\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: false,\n leftName: tokens.identifierNameAtIndex(index2),\n rightName: tokens.identifierNameAtIndex(index2 + 2),\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: true,\n leftName: null,\n rightName: null,\n endIndex\n };\n }\n throw new Error(`Unexpected import/export specifier at ${index2}`);\n }\n function isSpecifierEnd(tokens, index2) {\n const token = tokens.tokens[index2];\n return token.type === TokenType.braceR || token.type === TokenType.comma;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/jsx/xhtml.js\n var xhtml_default = /* @__PURE__ */ new Map([\n [\"quot\", '\"'],\n [\"amp\", \"&\"],\n [\"apos\", \"'\"],\n [\"lt\", \"<\"],\n [\"gt\", \">\"],\n [\"nbsp\", \"\\xA0\"],\n [\"iexcl\", \"\\xA1\"],\n [\"cent\", \"\\xA2\"],\n [\"pound\", \"\\xA3\"],\n [\"curren\", \"\\xA4\"],\n [\"yen\", \"\\xA5\"],\n [\"brvbar\", \"\\xA6\"],\n [\"sect\", \"\\xA7\"],\n [\"uml\", \"\\xA8\"],\n [\"copy\", \"\\xA9\"],\n [\"ordf\", \"\\xAA\"],\n [\"laquo\", \"\\xAB\"],\n [\"not\", \"\\xAC\"],\n [\"shy\", \"\\xAD\"],\n [\"reg\", \"\\xAE\"],\n [\"macr\", \"\\xAF\"],\n [\"deg\", \"\\xB0\"],\n [\"plusmn\", \"\\xB1\"],\n [\"sup2\", \"\\xB2\"],\n [\"sup3\", \"\\xB3\"],\n [\"acute\", \"\\xB4\"],\n [\"micro\", \"\\xB5\"],\n [\"para\", \"\\xB6\"],\n [\"middot\", \"\\xB7\"],\n [\"cedil\", \"\\xB8\"],\n [\"sup1\", \"\\xB9\"],\n [\"ordm\", \"\\xBA\"],\n [\"raquo\", \"\\xBB\"],\n [\"frac14\", \"\\xBC\"],\n [\"frac12\", \"\\xBD\"],\n [\"frac34\", \"\\xBE\"],\n [\"iquest\", \"\\xBF\"],\n [\"Agrave\", \"\\xC0\"],\n [\"Aacute\", \"\\xC1\"],\n [\"Acirc\", \"\\xC2\"],\n [\"Atilde\", \"\\xC3\"],\n [\"Auml\", \"\\xC4\"],\n [\"Aring\", \"\\xC5\"],\n [\"AElig\", \"\\xC6\"],\n [\"Ccedil\", \"\\xC7\"],\n [\"Egrave\", \"\\xC8\"],\n [\"Eacute\", \"\\xC9\"],\n [\"Ecirc\", \"\\xCA\"],\n [\"Euml\", \"\\xCB\"],\n [\"Igrave\", \"\\xCC\"],\n [\"Iacute\", \"\\xCD\"],\n [\"Icirc\", \"\\xCE\"],\n [\"Iuml\", \"\\xCF\"],\n [\"ETH\", \"\\xD0\"],\n [\"Ntilde\", \"\\xD1\"],\n [\"Ograve\", \"\\xD2\"],\n [\"Oacute\", \"\\xD3\"],\n [\"Ocirc\", \"\\xD4\"],\n [\"Otilde\", \"\\xD5\"],\n [\"Ouml\", \"\\xD6\"],\n [\"times\", \"\\xD7\"],\n [\"Oslash\", \"\\xD8\"],\n [\"Ugrave\", \"\\xD9\"],\n [\"Uacute\", \"\\xDA\"],\n [\"Ucirc\", \"\\xDB\"],\n [\"Uuml\", \"\\xDC\"],\n [\"Yacute\", \"\\xDD\"],\n [\"THORN\", \"\\xDE\"],\n [\"szlig\", \"\\xDF\"],\n [\"agrave\", \"\\xE0\"],\n [\"aacute\", \"\\xE1\"],\n [\"acirc\", \"\\xE2\"],\n [\"atilde\", \"\\xE3\"],\n [\"auml\", \"\\xE4\"],\n [\"aring\", \"\\xE5\"],\n [\"aelig\", \"\\xE6\"],\n [\"ccedil\", \"\\xE7\"],\n [\"egrave\", \"\\xE8\"],\n [\"eacute\", \"\\xE9\"],\n [\"ecirc\", \"\\xEA\"],\n [\"euml\", \"\\xEB\"],\n [\"igrave\", \"\\xEC\"],\n [\"iacute\", \"\\xED\"],\n [\"icirc\", \"\\xEE\"],\n [\"iuml\", \"\\xEF\"],\n [\"eth\", \"\\xF0\"],\n [\"ntilde\", \"\\xF1\"],\n [\"ograve\", \"\\xF2\"],\n [\"oacute\", \"\\xF3\"],\n [\"ocirc\", \"\\xF4\"],\n [\"otilde\", \"\\xF5\"],\n [\"ouml\", \"\\xF6\"],\n [\"divide\", \"\\xF7\"],\n [\"oslash\", \"\\xF8\"],\n [\"ugrave\", \"\\xF9\"],\n [\"uacute\", \"\\xFA\"],\n [\"ucirc\", \"\\xFB\"],\n [\"uuml\", \"\\xFC\"],\n [\"yacute\", \"\\xFD\"],\n [\"thorn\", \"\\xFE\"],\n [\"yuml\", \"\\xFF\"],\n [\"OElig\", \"\\u0152\"],\n [\"oelig\", \"\\u0153\"],\n [\"Scaron\", \"\\u0160\"],\n [\"scaron\", \"\\u0161\"],\n [\"Yuml\", \"\\u0178\"],\n [\"fnof\", \"\\u0192\"],\n [\"circ\", \"\\u02C6\"],\n [\"tilde\", \"\\u02DC\"],\n [\"Alpha\", \"\\u0391\"],\n [\"Beta\", \"\\u0392\"],\n [\"Gamma\", \"\\u0393\"],\n [\"Delta\", \"\\u0394\"],\n [\"Epsilon\", \"\\u0395\"],\n [\"Zeta\", \"\\u0396\"],\n [\"Eta\", \"\\u0397\"],\n [\"Theta\", \"\\u0398\"],\n [\"Iota\", \"\\u0399\"],\n [\"Kappa\", \"\\u039A\"],\n [\"Lambda\", \"\\u039B\"],\n [\"Mu\", \"\\u039C\"],\n [\"Nu\", \"\\u039D\"],\n [\"Xi\", \"\\u039E\"],\n [\"Omicron\", \"\\u039F\"],\n [\"Pi\", \"\\u03A0\"],\n [\"Rho\", \"\\u03A1\"],\n [\"Sigma\", \"\\u03A3\"],\n [\"Tau\", \"\\u03A4\"],\n [\"Upsilon\", \"\\u03A5\"],\n [\"Phi\", \"\\u03A6\"],\n [\"Chi\", \"\\u03A7\"],\n [\"Psi\", \"\\u03A8\"],\n [\"Omega\", \"\\u03A9\"],\n [\"alpha\", \"\\u03B1\"],\n [\"beta\", \"\\u03B2\"],\n [\"gamma\", \"\\u03B3\"],\n [\"delta\", \"\\u03B4\"],\n [\"epsilon\", \"\\u03B5\"],\n [\"zeta\", \"\\u03B6\"],\n [\"eta\", \"\\u03B7\"],\n [\"theta\", \"\\u03B8\"],\n [\"iota\", \"\\u03B9\"],\n [\"kappa\", \"\\u03BA\"],\n [\"lambda\", \"\\u03BB\"],\n [\"mu\", \"\\u03BC\"],\n [\"nu\", \"\\u03BD\"],\n [\"xi\", \"\\u03BE\"],\n [\"omicron\", \"\\u03BF\"],\n [\"pi\", \"\\u03C0\"],\n [\"rho\", \"\\u03C1\"],\n [\"sigmaf\", \"\\u03C2\"],\n [\"sigma\", \"\\u03C3\"],\n [\"tau\", \"\\u03C4\"],\n [\"upsilon\", \"\\u03C5\"],\n [\"phi\", \"\\u03C6\"],\n [\"chi\", \"\\u03C7\"],\n [\"psi\", \"\\u03C8\"],\n [\"omega\", \"\\u03C9\"],\n [\"thetasym\", \"\\u03D1\"],\n [\"upsih\", \"\\u03D2\"],\n [\"piv\", \"\\u03D6\"],\n [\"ensp\", \"\\u2002\"],\n [\"emsp\", \"\\u2003\"],\n [\"thinsp\", \"\\u2009\"],\n [\"zwnj\", \"\\u200C\"],\n [\"zwj\", \"\\u200D\"],\n [\"lrm\", \"\\u200E\"],\n [\"rlm\", \"\\u200F\"],\n [\"ndash\", \"\\u2013\"],\n [\"mdash\", \"\\u2014\"],\n [\"lsquo\", \"\\u2018\"],\n [\"rsquo\", \"\\u2019\"],\n [\"sbquo\", \"\\u201A\"],\n [\"ldquo\", \"\\u201C\"],\n [\"rdquo\", \"\\u201D\"],\n [\"bdquo\", \"\\u201E\"],\n [\"dagger\", \"\\u2020\"],\n [\"Dagger\", \"\\u2021\"],\n [\"bull\", \"\\u2022\"],\n [\"hellip\", \"\\u2026\"],\n [\"permil\", \"\\u2030\"],\n [\"prime\", \"\\u2032\"],\n [\"Prime\", \"\\u2033\"],\n [\"lsaquo\", \"\\u2039\"],\n [\"rsaquo\", \"\\u203A\"],\n [\"oline\", \"\\u203E\"],\n [\"frasl\", \"\\u2044\"],\n [\"euro\", \"\\u20AC\"],\n [\"image\", \"\\u2111\"],\n [\"weierp\", \"\\u2118\"],\n [\"real\", \"\\u211C\"],\n [\"trade\", \"\\u2122\"],\n [\"alefsym\", \"\\u2135\"],\n [\"larr\", \"\\u2190\"],\n [\"uarr\", \"\\u2191\"],\n [\"rarr\", \"\\u2192\"],\n [\"darr\", \"\\u2193\"],\n [\"harr\", \"\\u2194\"],\n [\"crarr\", \"\\u21B5\"],\n [\"lArr\", \"\\u21D0\"],\n [\"uArr\", \"\\u21D1\"],\n [\"rArr\", \"\\u21D2\"],\n [\"dArr\", \"\\u21D3\"],\n [\"hArr\", \"\\u21D4\"],\n [\"forall\", \"\\u2200\"],\n [\"part\", \"\\u2202\"],\n [\"exist\", \"\\u2203\"],\n [\"empty\", \"\\u2205\"],\n [\"nabla\", \"\\u2207\"],\n [\"isin\", \"\\u2208\"],\n [\"notin\", \"\\u2209\"],\n [\"ni\", \"\\u220B\"],\n [\"prod\", \"\\u220F\"],\n [\"sum\", \"\\u2211\"],\n [\"minus\", \"\\u2212\"],\n [\"lowast\", \"\\u2217\"],\n [\"radic\", \"\\u221A\"],\n [\"prop\", \"\\u221D\"],\n [\"infin\", \"\\u221E\"],\n [\"ang\", \"\\u2220\"],\n [\"and\", \"\\u2227\"],\n [\"or\", \"\\u2228\"],\n [\"cap\", \"\\u2229\"],\n [\"cup\", \"\\u222A\"],\n [\"int\", \"\\u222B\"],\n [\"there4\", \"\\u2234\"],\n [\"sim\", \"\\u223C\"],\n [\"cong\", \"\\u2245\"],\n [\"asymp\", \"\\u2248\"],\n [\"ne\", \"\\u2260\"],\n [\"equiv\", \"\\u2261\"],\n [\"le\", \"\\u2264\"],\n [\"ge\", \"\\u2265\"],\n [\"sub\", \"\\u2282\"],\n [\"sup\", \"\\u2283\"],\n [\"nsub\", \"\\u2284\"],\n [\"sube\", \"\\u2286\"],\n [\"supe\", \"\\u2287\"],\n [\"oplus\", \"\\u2295\"],\n [\"otimes\", \"\\u2297\"],\n [\"perp\", \"\\u22A5\"],\n [\"sdot\", \"\\u22C5\"],\n [\"lceil\", \"\\u2308\"],\n [\"rceil\", \"\\u2309\"],\n [\"lfloor\", \"\\u230A\"],\n [\"rfloor\", \"\\u230B\"],\n [\"lang\", \"\\u2329\"],\n [\"rang\", \"\\u232A\"],\n [\"loz\", \"\\u25CA\"],\n [\"spades\", \"\\u2660\"],\n [\"clubs\", \"\\u2663\"],\n [\"hearts\", \"\\u2665\"],\n [\"diams\", \"\\u2666\"]\n ]);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getJSXPragmaInfo.js\n function getJSXPragmaInfo(options2) {\n const [base, suffix2] = splitPragma(options2.jsxPragma || \"React.createElement\");\n const [fragmentBase, fragmentSuffix] = splitPragma(options2.jsxFragmentPragma || \"React.Fragment\");\n return { base, suffix: suffix2, fragmentBase, fragmentSuffix };\n }\n function splitPragma(pragma) {\n let dotIndex = pragma.indexOf(\".\");\n if (dotIndex === -1) {\n dotIndex = pragma.length;\n }\n return [pragma.slice(0, dotIndex), pragma.slice(dotIndex)];\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/Transformer.js\n var Transformer = class {\n // Return true if anything was processed, false otherwise.\n getPrefixCode() {\n return \"\";\n }\n getHoistedCode() {\n return \"\";\n }\n getSuffixCode() {\n return \"\";\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/JSXTransformer.js\n var JSXTransformer = class _JSXTransformer extends Transformer {\n // State for calculating the line number of each JSX tag in development.\n __init() {\n this.lastLineNumber = 1;\n }\n __init2() {\n this.lastIndex = 0;\n }\n // In development, variable name holding the name of the current file.\n __init3() {\n this.filenameVarName = null;\n }\n // Mapping of claimed names for imports in the automatic transform, e,g.\n // {jsx: \"_jsx\"}. This determines which imports to generate in the prefix.\n __init4() {\n this.esmAutomaticImportNameResolutions = {};\n }\n // When automatically adding imports in CJS mode, we store the variable name\n // holding the imported CJS module so we can require it in the prefix.\n __init5() {\n this.cjsAutomaticModuleNameResolutions = {};\n }\n constructor(rootTransformer, tokens, importProcessor, nameManager, options2) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.nameManager = nameManager;\n this.options = options2;\n _JSXTransformer.prototype.__init.call(this);\n _JSXTransformer.prototype.__init2.call(this);\n _JSXTransformer.prototype.__init3.call(this);\n _JSXTransformer.prototype.__init4.call(this);\n _JSXTransformer.prototype.__init5.call(this);\n ;\n this.jsxPragmaInfo = getJSXPragmaInfo(options2);\n this.isAutomaticRuntime = options2.jsxRuntime === \"automatic\";\n this.jsxImportSource = options2.jsxImportSource || \"react\";\n }\n process() {\n if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.processJSXTag();\n return true;\n }\n return false;\n }\n getPrefixCode() {\n let prefix2 = \"\";\n if (this.filenameVarName) {\n prefix2 += `const ${this.filenameVarName} = ${JSON.stringify(this.options.filePath || \"\")};`;\n }\n if (this.isAutomaticRuntime) {\n if (this.importProcessor) {\n for (const [path2, resolvedName] of Object.entries(this.cjsAutomaticModuleNameResolutions)) {\n prefix2 += `var ${resolvedName} = require(\"${path2}\");`;\n }\n } else {\n const { createElement: createElementResolution, ...otherResolutions } = this.esmAutomaticImportNameResolutions;\n if (createElementResolution) {\n prefix2 += `import {createElement as ${createElementResolution}} from \"${this.jsxImportSource}\";`;\n }\n const importSpecifiers = Object.entries(otherResolutions).map(([name, resolvedName]) => `${name} as ${resolvedName}`).join(\", \");\n if (importSpecifiers) {\n const importPath = this.jsxImportSource + (this.options.production ? \"/jsx-runtime\" : \"/jsx-dev-runtime\");\n prefix2 += `import {${importSpecifiers}} from \"${importPath}\";`;\n }\n }\n }\n return prefix2;\n }\n processJSXTag() {\n const { jsxRole, start } = this.tokens.currentToken();\n const elementLocationCode = this.options.production ? null : this.getElementLocationCode(start);\n if (this.isAutomaticRuntime && jsxRole !== JSXRole.KeyAfterPropSpread) {\n this.transformTagToJSXFunc(elementLocationCode, jsxRole);\n } else {\n this.transformTagToCreateElement(elementLocationCode);\n }\n }\n getElementLocationCode(firstTokenStart) {\n const lineNumber = this.getLineNumberForIndex(firstTokenStart);\n return `lineNumber: ${lineNumber}`;\n }\n /**\n * Get the line number for this source position. This is calculated lazily and\n * must be called in increasing order by index.\n */\n getLineNumberForIndex(index2) {\n const code = this.tokens.code;\n while (this.lastIndex < index2 && this.lastIndex < code.length) {\n if (code[this.lastIndex] === \"\\n\") {\n this.lastLineNumber++;\n }\n this.lastIndex++;\n }\n return this.lastLineNumber;\n }\n /**\n * Convert the current JSX element to a call to jsx, jsxs, or jsxDEV. This is\n * the primary transformation for the automatic transform.\n *\n * Example:\n * <div a={1} key={2}>Hello{x}</div>\n * becomes\n * jsxs('div', {a: 1, children: [\"Hello\", x]}, 2)\n */\n transformTagToJSXFunc(elementLocationCode, jsxRole) {\n const isStatic = jsxRole === JSXRole.StaticChildren;\n this.tokens.replaceToken(this.getJSXFuncInvocationCode(isStatic));\n let keyCode = null;\n if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.replaceToken(`${this.getFragmentCode()}, {`);\n this.processAutomaticChildrenAndEndProps(jsxRole);\n } else {\n this.processTagIntro();\n this.tokens.appendCode(\", {\");\n keyCode = this.processProps(true);\n if (this.tokens.matches2(TokenType.slash, TokenType.jsxTagEnd)) {\n this.tokens.appendCode(\"}\");\n } else if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n this.processAutomaticChildrenAndEndProps(jsxRole);\n } else {\n throw new Error(\"Expected either /> or > at the end of the tag.\");\n }\n if (keyCode) {\n this.tokens.appendCode(`, ${keyCode}`);\n }\n }\n if (!this.options.production) {\n if (keyCode === null) {\n this.tokens.appendCode(\", void 0\");\n }\n this.tokens.appendCode(`, ${isStatic}, ${this.getDevSource(elementLocationCode)}, this`);\n }\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n }\n this.tokens.replaceToken(\")\");\n }\n /**\n * Convert the current JSX element to a createElement call. In the classic\n * runtime, this is the only case. In the automatic runtime, this is called\n * as a fallback in some situations.\n *\n * Example:\n * <div a={1} key={2}>Hello{x}</div>\n * becomes\n * React.createElement('div', {a: 1, key: 2}, \"Hello\", x)\n */\n transformTagToCreateElement(elementLocationCode) {\n this.tokens.replaceToken(this.getCreateElementInvocationCode());\n if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.replaceToken(`${this.getFragmentCode()}, null`);\n this.processChildren(true);\n } else {\n this.processTagIntro();\n this.processPropsObjectWithDevInfo(elementLocationCode);\n if (this.tokens.matches2(TokenType.slash, TokenType.jsxTagEnd)) {\n } else if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n this.processChildren(true);\n } else {\n throw new Error(\"Expected either /> or > at the end of the tag.\");\n }\n }\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n }\n this.tokens.replaceToken(\")\");\n }\n /**\n * Get the code for the relevant function for this context: jsx, jsxs,\n * or jsxDEV. The following open-paren is included as well.\n *\n * These functions are only used for the automatic runtime, so they are always\n * auto-imported, but the auto-import will be either CJS or ESM based on the\n * target module format.\n */\n getJSXFuncInvocationCode(isStatic) {\n if (this.options.production) {\n if (isStatic) {\n return this.claimAutoImportedFuncInvocation(\"jsxs\", \"/jsx-runtime\");\n } else {\n return this.claimAutoImportedFuncInvocation(\"jsx\", \"/jsx-runtime\");\n }\n } else {\n return this.claimAutoImportedFuncInvocation(\"jsxDEV\", \"/jsx-dev-runtime\");\n }\n }\n /**\n * Return the code to use for the createElement function, e.g.\n * `React.createElement`, including the following open-paren.\n *\n * This is the main function to use for the classic runtime. For the\n * automatic runtime, this function is used as a fallback function to\n * preserve behavior when there is a prop spread followed by an explicit\n * key. In that automatic runtime case, the function should be automatically\n * imported.\n */\n getCreateElementInvocationCode() {\n if (this.isAutomaticRuntime) {\n return this.claimAutoImportedFuncInvocation(\"createElement\", \"\");\n } else {\n const { jsxPragmaInfo } = this;\n const resolvedPragmaBaseName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(jsxPragmaInfo.base) || jsxPragmaInfo.base : jsxPragmaInfo.base;\n return `${resolvedPragmaBaseName}${jsxPragmaInfo.suffix}(`;\n }\n }\n /**\n * Return the code to use as the component when compiling a shorthand\n * fragment, e.g. `React.Fragment`.\n *\n * This may be called from either the classic or automatic runtime, and\n * the value should be auto-imported for the automatic runtime.\n */\n getFragmentCode() {\n if (this.isAutomaticRuntime) {\n return this.claimAutoImportedName(\n \"Fragment\",\n this.options.production ? \"/jsx-runtime\" : \"/jsx-dev-runtime\"\n );\n } else {\n const { jsxPragmaInfo } = this;\n const resolvedFragmentPragmaBaseName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(jsxPragmaInfo.fragmentBase) || jsxPragmaInfo.fragmentBase : jsxPragmaInfo.fragmentBase;\n return resolvedFragmentPragmaBaseName + jsxPragmaInfo.fragmentSuffix;\n }\n }\n /**\n * Return code that invokes the given function.\n *\n * When the imports transform is enabled, use the CJSImportTransformer\n * strategy of using `.call(void 0, ...` to avoid passing a `this` value in a\n * situation that would otherwise look like a method call.\n */\n claimAutoImportedFuncInvocation(funcName, importPathSuffix) {\n const funcCode = this.claimAutoImportedName(funcName, importPathSuffix);\n if (this.importProcessor) {\n return `${funcCode}.call(void 0, `;\n } else {\n return `${funcCode}(`;\n }\n }\n claimAutoImportedName(funcName, importPathSuffix) {\n if (this.importProcessor) {\n const path2 = this.jsxImportSource + importPathSuffix;\n if (!this.cjsAutomaticModuleNameResolutions[path2]) {\n this.cjsAutomaticModuleNameResolutions[path2] = this.importProcessor.getFreeIdentifierForPath(path2);\n }\n return `${this.cjsAutomaticModuleNameResolutions[path2]}.${funcName}`;\n } else {\n if (!this.esmAutomaticImportNameResolutions[funcName]) {\n this.esmAutomaticImportNameResolutions[funcName] = this.nameManager.claimFreeName(\n `_${funcName}`\n );\n }\n return this.esmAutomaticImportNameResolutions[funcName];\n }\n }\n /**\n * Process the first part of a tag, before any props.\n */\n processTagIntro() {\n let introEnd = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[introEnd].isType || !this.tokens.matches2AtIndex(introEnd - 1, TokenType.jsxName, TokenType.jsxName) && !this.tokens.matches2AtIndex(introEnd - 1, TokenType.greaterThan, TokenType.jsxName) && !this.tokens.matches1AtIndex(introEnd, TokenType.braceL) && !this.tokens.matches1AtIndex(introEnd, TokenType.jsxTagEnd) && !this.tokens.matches2AtIndex(introEnd, TokenType.slash, TokenType.jsxTagEnd)) {\n introEnd++;\n }\n if (introEnd === this.tokens.currentIndex() + 1) {\n const tagName = this.tokens.identifierName();\n if (startsWithLowerCase(tagName)) {\n this.tokens.replaceToken(`'${tagName}'`);\n }\n }\n while (this.tokens.currentIndex() < introEnd) {\n this.rootTransformer.processToken();\n }\n }\n /**\n * Starting at the beginning of the props, add the props argument to\n * React.createElement, including the comma before it.\n */\n processPropsObjectWithDevInfo(elementLocationCode) {\n const devProps = this.options.production ? \"\" : `__self: this, __source: ${this.getDevSource(elementLocationCode)}`;\n if (!this.tokens.matches1(TokenType.jsxName) && !this.tokens.matches1(TokenType.braceL)) {\n if (devProps) {\n this.tokens.appendCode(`, {${devProps}}`);\n } else {\n this.tokens.appendCode(`, null`);\n }\n return;\n }\n this.tokens.appendCode(`, {`);\n this.processProps(false);\n if (devProps) {\n this.tokens.appendCode(` ${devProps}}`);\n } else {\n this.tokens.appendCode(\"}\");\n }\n }\n /**\n * Transform the core part of the props, assuming that a { has already been\n * inserted before us and that a } will be inserted after us.\n *\n * If extractKeyCode is true (i.e. when using any jsx... function), any prop\n * named \"key\" has its code captured and returned rather than being emitted to\n * the output code. This shifts line numbers, and emitting the code later will\n * correct line numbers again. If no key is found or if extractKeyCode is\n * false, this function returns null.\n */\n processProps(extractKeyCode) {\n let keyCode = null;\n while (true) {\n if (this.tokens.matches2(TokenType.jsxName, TokenType.eq)) {\n const propName = this.tokens.identifierName();\n if (extractKeyCode && propName === \"key\") {\n if (keyCode !== null) {\n this.tokens.appendCode(keyCode.replace(/[^\\n]/g, \"\"));\n }\n this.tokens.removeToken();\n this.tokens.removeToken();\n const snapshot = this.tokens.snapshot();\n this.processPropValue();\n keyCode = this.tokens.dangerouslyGetAndRemoveCodeSinceSnapshot(snapshot);\n continue;\n } else {\n this.processPropName(propName);\n this.tokens.replaceToken(\": \");\n this.processPropValue();\n }\n } else if (this.tokens.matches1(TokenType.jsxName)) {\n const propName = this.tokens.identifierName();\n this.processPropName(propName);\n this.tokens.appendCode(\": true\");\n } else if (this.tokens.matches1(TokenType.braceL)) {\n this.tokens.replaceToken(\"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n } else {\n break;\n }\n this.tokens.appendCode(\",\");\n }\n return keyCode;\n }\n processPropName(propName) {\n if (propName.includes(\"-\")) {\n this.tokens.replaceToken(`'${propName}'`);\n } else {\n this.tokens.copyToken();\n }\n }\n processPropValue() {\n if (this.tokens.matches1(TokenType.braceL)) {\n this.tokens.replaceToken(\"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n } else if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.processJSXTag();\n } else {\n this.processStringPropValue();\n }\n }\n processStringPropValue() {\n const token = this.tokens.currentToken();\n const valueCode = this.tokens.code.slice(token.start + 1, token.end - 1);\n const replacementCode = formatJSXTextReplacement(valueCode);\n const literalCode = formatJSXStringValueLiteral(valueCode);\n this.tokens.replaceToken(literalCode + replacementCode);\n }\n /**\n * Starting in the middle of the props object literal, produce an additional\n * prop for the children and close the object literal.\n */\n processAutomaticChildrenAndEndProps(jsxRole) {\n if (jsxRole === JSXRole.StaticChildren) {\n this.tokens.appendCode(\" children: [\");\n this.processChildren(false);\n this.tokens.appendCode(\"]}\");\n } else {\n if (jsxRole === JSXRole.OneChild) {\n this.tokens.appendCode(\" children: \");\n }\n this.processChildren(false);\n this.tokens.appendCode(\"}\");\n }\n }\n /**\n * Transform children into a comma-separated list, which will be either\n * arguments to createElement or array elements of a children prop.\n */\n processChildren(needsInitialComma) {\n let needsComma = needsInitialComma;\n while (true) {\n if (this.tokens.matches2(TokenType.jsxTagStart, TokenType.slash)) {\n return;\n }\n let didEmitElement = false;\n if (this.tokens.matches1(TokenType.braceL)) {\n if (this.tokens.matches2(TokenType.braceL, TokenType.braceR)) {\n this.tokens.replaceToken(\"\");\n this.tokens.replaceToken(\"\");\n } else {\n this.tokens.replaceToken(needsComma ? \", \" : \"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n didEmitElement = true;\n }\n } else if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.tokens.appendCode(needsComma ? \", \" : \"\");\n this.processJSXTag();\n didEmitElement = true;\n } else if (this.tokens.matches1(TokenType.jsxText) || this.tokens.matches1(TokenType.jsxEmptyText)) {\n didEmitElement = this.processChildTextElement(needsComma);\n } else {\n throw new Error(\"Unexpected token when processing JSX children.\");\n }\n if (didEmitElement) {\n needsComma = true;\n }\n }\n }\n /**\n * Turn a JSX text element into a string literal, or nothing at all if the JSX\n * text resolves to the empty string.\n *\n * Returns true if a string literal is emitted, false otherwise.\n */\n processChildTextElement(needsComma) {\n const token = this.tokens.currentToken();\n const valueCode = this.tokens.code.slice(token.start, token.end);\n const replacementCode = formatJSXTextReplacement(valueCode);\n const literalCode = formatJSXTextLiteral(valueCode);\n if (literalCode === '\"\"') {\n this.tokens.replaceToken(replacementCode);\n return false;\n } else {\n this.tokens.replaceToken(`${needsComma ? \", \" : \"\"}${literalCode}${replacementCode}`);\n return true;\n }\n }\n getDevSource(elementLocationCode) {\n return `{fileName: ${this.getFilenameVarName()}, ${elementLocationCode}}`;\n }\n getFilenameVarName() {\n if (!this.filenameVarName) {\n this.filenameVarName = this.nameManager.claimFreeName(\"_jsxFileName\");\n }\n return this.filenameVarName;\n }\n };\n function startsWithLowerCase(s2) {\n const firstChar = s2.charCodeAt(0);\n return firstChar >= charCodes.lowercaseA && firstChar <= charCodes.lowercaseZ;\n }\n function formatJSXTextLiteral(text) {\n let result = \"\";\n let whitespace = \"\";\n let isInInitialLineWhitespace = false;\n let seenNonWhitespace = false;\n for (let i = 0; i < text.length; i++) {\n const c2 = text[i];\n if (c2 === \" \" || c2 === \"\t\" || c2 === \"\\r\") {\n if (!isInInitialLineWhitespace) {\n whitespace += c2;\n }\n } else if (c2 === \"\\n\") {\n whitespace = \"\";\n isInInitialLineWhitespace = true;\n } else {\n if (seenNonWhitespace && isInInitialLineWhitespace) {\n result += \" \";\n }\n result += whitespace;\n whitespace = \"\";\n if (c2 === \"&\") {\n const { entity, newI } = processEntity(text, i + 1);\n i = newI - 1;\n result += entity;\n } else {\n result += c2;\n }\n seenNonWhitespace = true;\n isInInitialLineWhitespace = false;\n }\n }\n if (!isInInitialLineWhitespace) {\n result += whitespace;\n }\n return JSON.stringify(result);\n }\n function formatJSXTextReplacement(text) {\n let numNewlines = 0;\n let numSpaces = 0;\n for (const c2 of text) {\n if (c2 === \"\\n\") {\n numNewlines++;\n numSpaces = 0;\n } else if (c2 === \" \") {\n numSpaces++;\n }\n }\n return \"\\n\".repeat(numNewlines) + \" \".repeat(numSpaces);\n }\n function formatJSXStringValueLiteral(text) {\n let result = \"\";\n for (let i = 0; i < text.length; i++) {\n const c2 = text[i];\n if (c2 === \"\\n\") {\n if (/\\s/.test(text[i + 1])) {\n result += \" \";\n while (i < text.length && /\\s/.test(text[i + 1])) {\n i++;\n }\n } else {\n result += \"\\n\";\n }\n } else if (c2 === \"&\") {\n const { entity, newI } = processEntity(text, i + 1);\n result += entity;\n i = newI - 1;\n } else {\n result += c2;\n }\n }\n return JSON.stringify(result);\n }\n function processEntity(text, indexAfterAmpersand) {\n let str = \"\";\n let count3 = 0;\n let entity;\n let i = indexAfterAmpersand;\n if (text[i] === \"#\") {\n let radix = 10;\n i++;\n let numStart;\n if (text[i] === \"x\") {\n radix = 16;\n i++;\n numStart = i;\n while (i < text.length && isHexDigit(text.charCodeAt(i))) {\n i++;\n }\n } else {\n numStart = i;\n while (i < text.length && isDecimalDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (text[i] === \";\") {\n const numStr = text.slice(numStart, i);\n if (numStr) {\n i++;\n entity = String.fromCodePoint(parseInt(numStr, radix));\n }\n }\n } else {\n while (i < text.length && count3++ < 10) {\n const ch = text[i];\n i++;\n if (ch === \";\") {\n entity = xhtml_default.get(str);\n break;\n }\n str += ch;\n }\n }\n if (!entity) {\n return { entity: \"&\", newI: indexAfterAmpersand };\n }\n return { entity, newI: i };\n }\n function isDecimalDigit(code) {\n return code >= charCodes.digit0 && code <= charCodes.digit9;\n }\n function isHexDigit(code) {\n return code >= charCodes.digit0 && code <= charCodes.digit9 || code >= charCodes.lowercaseA && code <= charCodes.lowercaseF || code >= charCodes.uppercaseA && code <= charCodes.uppercaseF;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getNonTypeIdentifiers.js\n function getNonTypeIdentifiers(tokens, options2) {\n const jsxPragmaInfo = getJSXPragmaInfo(options2);\n const nonTypeIdentifiers = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n const token = tokens.tokens[i];\n if (token.type === TokenType.name && !token.isType && (token.identifierRole === IdentifierRole.Access || token.identifierRole === IdentifierRole.ObjectShorthand || token.identifierRole === IdentifierRole.ExportAccess) && !token.shadowsGlobal) {\n nonTypeIdentifiers.add(tokens.identifierNameForToken(token));\n }\n if (token.type === TokenType.jsxTagStart) {\n nonTypeIdentifiers.add(jsxPragmaInfo.base);\n }\n if (token.type === TokenType.jsxTagStart && i + 1 < tokens.tokens.length && tokens.tokens[i + 1].type === TokenType.jsxTagEnd) {\n nonTypeIdentifiers.add(jsxPragmaInfo.base);\n nonTypeIdentifiers.add(jsxPragmaInfo.fragmentBase);\n }\n if (token.type === TokenType.jsxName && token.identifierRole === IdentifierRole.Access) {\n const identifierName = tokens.identifierNameForToken(token);\n if (!startsWithLowerCase(identifierName) || tokens.tokens[i + 1].type === TokenType.dot) {\n nonTypeIdentifiers.add(tokens.identifierNameForToken(token));\n }\n }\n }\n return nonTypeIdentifiers;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/CJSImportProcessor.js\n var CJSImportProcessor = class _CJSImportProcessor {\n __init() {\n this.nonTypeIdentifiers = /* @__PURE__ */ new Set();\n }\n __init2() {\n this.importInfoByPath = /* @__PURE__ */ new Map();\n }\n __init3() {\n this.importsToReplace = /* @__PURE__ */ new Map();\n }\n __init4() {\n this.identifierReplacements = /* @__PURE__ */ new Map();\n }\n __init5() {\n this.exportBindingsByLocalName = /* @__PURE__ */ new Map();\n }\n constructor(nameManager, tokens, enableLegacyTypeScriptModuleInterop, options2, isTypeScriptTransformEnabled, keepUnusedImports, helperManager) {\n ;\n this.nameManager = nameManager;\n this.tokens = tokens;\n this.enableLegacyTypeScriptModuleInterop = enableLegacyTypeScriptModuleInterop;\n this.options = options2;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.keepUnusedImports = keepUnusedImports;\n this.helperManager = helperManager;\n _CJSImportProcessor.prototype.__init.call(this);\n _CJSImportProcessor.prototype.__init2.call(this);\n _CJSImportProcessor.prototype.__init3.call(this);\n _CJSImportProcessor.prototype.__init4.call(this);\n _CJSImportProcessor.prototype.__init5.call(this);\n }\n preprocessTokens() {\n for (let i = 0; i < this.tokens.tokens.length; i++) {\n if (this.tokens.matches1AtIndex(i, TokenType._import) && !this.tokens.matches3AtIndex(i, TokenType._import, TokenType.name, TokenType.eq)) {\n this.preprocessImportAtIndex(i);\n }\n if (this.tokens.matches1AtIndex(i, TokenType._export) && !this.tokens.matches2AtIndex(i, TokenType._export, TokenType.eq)) {\n this.preprocessExportAtIndex(i);\n }\n }\n this.generateImportReplacements();\n }\n /**\n * In TypeScript, import statements that only import types should be removed.\n * This includes `import {} from 'foo';`, but not `import 'foo';`.\n */\n pruneTypeOnlyImports() {\n this.nonTypeIdentifiers = getNonTypeIdentifiers(this.tokens, this.options);\n for (const [path2, importInfo] of this.importInfoByPath.entries()) {\n if (importInfo.hasBareImport || importInfo.hasStarExport || importInfo.exportStarNames.length > 0 || importInfo.namedExports.length > 0) {\n continue;\n }\n const names = [\n ...importInfo.defaultNames,\n ...importInfo.wildcardNames,\n ...importInfo.namedImports.map(({ localName }) => localName)\n ];\n if (names.every((name) => this.shouldAutomaticallyElideImportedName(name))) {\n this.importsToReplace.set(path2, \"\");\n }\n }\n }\n shouldAutomaticallyElideImportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.nonTypeIdentifiers.has(name);\n }\n generateImportReplacements() {\n for (const [path2, importInfo] of this.importInfoByPath.entries()) {\n const {\n defaultNames,\n wildcardNames,\n namedImports,\n namedExports,\n exportStarNames,\n hasStarExport\n } = importInfo;\n if (defaultNames.length === 0 && wildcardNames.length === 0 && namedImports.length === 0 && namedExports.length === 0 && exportStarNames.length === 0 && !hasStarExport) {\n this.importsToReplace.set(path2, `require('${path2}');`);\n continue;\n }\n const primaryImportName = this.getFreeIdentifierForPath(path2);\n let secondaryImportName;\n if (this.enableLegacyTypeScriptModuleInterop) {\n secondaryImportName = primaryImportName;\n } else {\n secondaryImportName = wildcardNames.length > 0 ? wildcardNames[0] : this.getFreeIdentifierForPath(path2);\n }\n let requireCode = `var ${primaryImportName} = require('${path2}');`;\n if (wildcardNames.length > 0) {\n for (const wildcardName of wildcardNames) {\n const moduleExpr = this.enableLegacyTypeScriptModuleInterop ? primaryImportName : `${this.helperManager.getHelperName(\"interopRequireWildcard\")}(${primaryImportName})`;\n requireCode += ` var ${wildcardName} = ${moduleExpr};`;\n }\n } else if (exportStarNames.length > 0 && secondaryImportName !== primaryImportName) {\n requireCode += ` var ${secondaryImportName} = ${this.helperManager.getHelperName(\n \"interopRequireWildcard\"\n )}(${primaryImportName});`;\n } else if (defaultNames.length > 0 && secondaryImportName !== primaryImportName) {\n requireCode += ` var ${secondaryImportName} = ${this.helperManager.getHelperName(\n \"interopRequireDefault\"\n )}(${primaryImportName});`;\n }\n for (const { importedName, localName } of namedExports) {\n requireCode += ` ${this.helperManager.getHelperName(\n \"createNamedExportFrom\"\n )}(${primaryImportName}, '${localName}', '${importedName}');`;\n }\n for (const exportStarName of exportStarNames) {\n requireCode += ` exports.${exportStarName} = ${secondaryImportName};`;\n }\n if (hasStarExport) {\n requireCode += ` ${this.helperManager.getHelperName(\n \"createStarExport\"\n )}(${primaryImportName});`;\n }\n this.importsToReplace.set(path2, requireCode);\n for (const defaultName of defaultNames) {\n this.identifierReplacements.set(defaultName, `${secondaryImportName}.default`);\n }\n for (const { importedName, localName } of namedImports) {\n this.identifierReplacements.set(localName, `${primaryImportName}.${importedName}`);\n }\n }\n }\n getFreeIdentifierForPath(path2) {\n const components = path2.split(\"/\");\n const lastComponent = components[components.length - 1];\n const baseName = lastComponent.replace(/\\W/g, \"\");\n return this.nameManager.claimFreeName(`_${baseName}`);\n }\n preprocessImportAtIndex(index2) {\n const defaultNames = [];\n const wildcardNames = [];\n const namedImports = [];\n index2++;\n if ((this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._type) || this.tokens.matches1AtIndex(index2, TokenType._typeof)) && !this.tokens.matches1AtIndex(index2 + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(index2 + 1, ContextualKeyword._from)) {\n return;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.parenL)) {\n return;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.name)) {\n defaultNames.push(this.tokens.identifierNameAtIndex(index2));\n index2++;\n if (this.tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n }\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.star)) {\n index2 += 2;\n wildcardNames.push(this.tokens.identifierNameAtIndex(index2));\n index2++;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.braceL)) {\n const result = this.getNamedImports(index2 + 1);\n index2 = result.newIndex;\n for (const namedImport of result.namedImports) {\n if (namedImport.importedName === \"default\") {\n defaultNames.push(namedImport.localName);\n } else {\n namedImports.push(namedImport);\n }\n }\n }\n if (this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._from)) {\n index2++;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of import statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n importInfo.defaultNames.push(...defaultNames);\n importInfo.wildcardNames.push(...wildcardNames);\n importInfo.namedImports.push(...namedImports);\n if (defaultNames.length === 0 && wildcardNames.length === 0 && namedImports.length === 0) {\n importInfo.hasBareImport = true;\n }\n }\n preprocessExportAtIndex(index2) {\n if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._var) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._let) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._const)) {\n this.preprocessVarExportAtIndex(index2);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._function) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._class)) {\n const exportName = this.tokens.identifierNameAtIndex(index2 + 2);\n this.addExportBinding(exportName, exportName);\n } else if (this.tokens.matches3AtIndex(index2, TokenType._export, TokenType.name, TokenType._function)) {\n const exportName = this.tokens.identifierNameAtIndex(index2 + 3);\n this.addExportBinding(exportName, exportName);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType.braceL)) {\n this.preprocessNamedExportAtIndex(index2);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType.star)) {\n this.preprocessExportStarAtIndex(index2);\n }\n }\n preprocessVarExportAtIndex(index2) {\n let depth = 0;\n for (let i = index2 + 2; ; i++) {\n if (this.tokens.matches1AtIndex(i, TokenType.braceL) || this.tokens.matches1AtIndex(i, TokenType.dollarBraceL) || this.tokens.matches1AtIndex(i, TokenType.bracketL)) {\n depth++;\n } else if (this.tokens.matches1AtIndex(i, TokenType.braceR) || this.tokens.matches1AtIndex(i, TokenType.bracketR)) {\n depth--;\n } else if (depth === 0 && !this.tokens.matches1AtIndex(i, TokenType.name)) {\n break;\n } else if (this.tokens.matches1AtIndex(1, TokenType.eq)) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n i = endIndex - 1;\n } else {\n const token = this.tokens.tokens[i];\n if (isDeclaration(token)) {\n const exportName = this.tokens.identifierNameAtIndex(i);\n this.identifierReplacements.set(exportName, `exports.${exportName}`);\n }\n }\n }\n }\n /**\n * Walk this export statement just in case it's an export...from statement.\n * If it is, combine it into the import info for that path. Otherwise, just\n * bail out; it'll be handled later.\n */\n preprocessNamedExportAtIndex(index2) {\n index2 += 2;\n const { newIndex, namedImports } = this.getNamedImports(index2);\n index2 = newIndex;\n if (this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._from)) {\n index2++;\n } else {\n for (const { importedName: localName, localName: exportedName } of namedImports) {\n this.addExportBinding(localName, exportedName);\n }\n return;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of import statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n importInfo.namedExports.push(...namedImports);\n }\n preprocessExportStarAtIndex(index2) {\n let exportedName = null;\n if (this.tokens.matches3AtIndex(index2, TokenType._export, TokenType.star, TokenType._as)) {\n index2 += 3;\n exportedName = this.tokens.identifierNameAtIndex(index2);\n index2 += 2;\n } else {\n index2 += 3;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of star export statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n if (exportedName !== null) {\n importInfo.exportStarNames.push(exportedName);\n } else {\n importInfo.hasStarExport = true;\n }\n }\n getNamedImports(index2) {\n const namedImports = [];\n while (true) {\n if (this.tokens.matches1AtIndex(index2, TokenType.braceR)) {\n index2++;\n break;\n }\n const specifierInfo = getImportExportSpecifierInfo(this.tokens, index2);\n index2 = specifierInfo.endIndex;\n if (!specifierInfo.isType) {\n namedImports.push({\n importedName: specifierInfo.leftName,\n localName: specifierInfo.rightName\n });\n }\n if (this.tokens.matches2AtIndex(index2, TokenType.comma, TokenType.braceR)) {\n index2 += 2;\n break;\n } else if (this.tokens.matches1AtIndex(index2, TokenType.braceR)) {\n index2++;\n break;\n } else if (this.tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.tokens[index2])}`);\n }\n }\n return { newIndex: index2, namedImports };\n }\n /**\n * Get a mutable import info object for this path, creating one if it doesn't\n * exist yet.\n */\n getImportInfo(path2) {\n const existingInfo = this.importInfoByPath.get(path2);\n if (existingInfo) {\n return existingInfo;\n }\n const newInfo = {\n defaultNames: [],\n wildcardNames: [],\n namedImports: [],\n namedExports: [],\n hasBareImport: false,\n exportStarNames: [],\n hasStarExport: false\n };\n this.importInfoByPath.set(path2, newInfo);\n return newInfo;\n }\n addExportBinding(localName, exportedName) {\n if (!this.exportBindingsByLocalName.has(localName)) {\n this.exportBindingsByLocalName.set(localName, []);\n }\n this.exportBindingsByLocalName.get(localName).push(exportedName);\n }\n /**\n * Return the code to use for the import for this path, or the empty string if\n * the code has already been \"claimed\" by a previous import.\n */\n claimImportCode(importPath) {\n const result = this.importsToReplace.get(importPath);\n this.importsToReplace.set(importPath, \"\");\n return result || \"\";\n }\n getIdentifierReplacement(identifierName) {\n return this.identifierReplacements.get(identifierName) || null;\n }\n /**\n * Return a string like `exports.foo = exports.bar`.\n */\n resolveExportBinding(assignedName) {\n const exportedNames = this.exportBindingsByLocalName.get(assignedName);\n if (!exportedNames || exportedNames.length === 0) {\n return null;\n }\n return exportedNames.map((exportedName) => `exports.${exportedName}`).join(\" = \");\n }\n /**\n * Return all imported/exported names where we might be interested in whether usages of those\n * names are shadowed.\n */\n getGlobalNames() {\n return /* @__PURE__ */ new Set([\n ...this.identifierReplacements.keys(),\n ...this.exportBindingsByLocalName.keys()\n ]);\n }\n };\n\n // ../../../node_modules/.bun/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs\n var comma = \",\".charCodeAt(0);\n var semicolon2 = \";\".charCodeAt(0);\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var intToChar = new Uint8Array(64);\n var charToInt = new Uint8Array(128);\n for (let i = 0; i < chars.length; i++) {\n const c2 = chars.charCodeAt(i);\n intToChar[i] = c2;\n charToInt[c2] = i;\n }\n function encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n }\n var bufLength = 1024 * 16;\n var td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n } : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n };\n var StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n };\n function encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon2);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n }\n\n // ../../../node_modules/.bun/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs\n var import_resolve_uri = __toESM(require_resolve_uri_umd(), 1);\n\n // ../../../node_modules/.bun/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs\n var SetArray = class {\n constructor() {\n this._indexes = { __proto__: null };\n this.array = [];\n }\n };\n function cast(set3) {\n return set3;\n }\n function get(setarr, key) {\n return cast(setarr)._indexes[key];\n }\n function put(setarr, key) {\n const index2 = get(setarr, key);\n if (index2 !== void 0) return index2;\n const { array: array2, _indexes: indexes } = cast(setarr);\n const length = array2.push(key);\n return indexes[key] = length - 1;\n }\n var COLUMN = 0;\n var SOURCES_INDEX = 1;\n var SOURCE_LINE = 2;\n var SOURCE_COLUMN = 3;\n var NAMES_INDEX = 4;\n var NO_NAME = -1;\n var GenMapping = class {\n constructor({ file, sourceRoot } = {}) {\n this._names = new SetArray();\n this._sources = new SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new SetArray();\n }\n };\n function cast2(map2) {\n return map2;\n }\n var maybeAddSegment = (map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {\n return addSegmentInternal(\n true,\n map2,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content\n );\n };\n function toDecodedMap(map2) {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n _ignoreList: ignoreList\n // _originalScopes: originalScopes,\n // _generatedRanges: generatedRanges,\n } = cast2(map2);\n removeEmptyFinalLines(mappings);\n return {\n version: 3,\n file: map2.file || void 0,\n names: names.array,\n sourceRoot: map2.sourceRoot || void 0,\n sources: sources.array,\n sourcesContent,\n mappings,\n // originalScopes,\n // generatedRanges,\n ignoreList: ignoreList.array\n };\n }\n function toEncodedMap(map2) {\n const decoded = toDecodedMap(map2);\n return Object.assign({}, decoded, {\n // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)),\n // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]),\n mappings: encode(decoded.mappings)\n });\n }\n function addSegmentInternal(skipable, map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names\n // _originalScopes: originalScopes,\n } = cast2(map2);\n const line = getIndex(mappings, genLine);\n const index2 = getColumnIndex(line, genColumn);\n if (!source) {\n if (skipable && skipSourceless(line, index2)) return;\n return insert(line, index2, [genColumn]);\n }\n assert(sourceLine);\n assert(sourceColumn);\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content != null ? content : null;\n if (skipable && skipSource(line, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n return insert(\n line,\n index2,\n name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]\n );\n }\n function assert(_val) {\n }\n function getIndex(arr, index2) {\n for (let i = arr.length; i <= index2; i++) {\n arr[i] = [];\n }\n return arr[index2];\n }\n function getColumnIndex(line, genColumn) {\n let index2 = line.length;\n for (let i = index2 - 1; i >= 0; index2 = i--) {\n const current3 = line[i];\n if (genColumn >= current3[COLUMN]) break;\n }\n return index2;\n }\n function insert(array2, index2, value) {\n for (let i = array2.length; i > index2; i--) {\n array2[i] = array2[i - 1];\n }\n array2[index2] = value;\n }\n function removeEmptyFinalLines(mappings) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n }\n function skipSourceless(line, index2) {\n if (index2 === 0) return true;\n const prev = line[index2 - 1];\n return prev.length === 1;\n }\n function skipSource(line, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex) {\n if (index2 === 0) return false;\n const prev = line[index2 - 1];\n if (prev.length === 1) return false;\n return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/computeSourceMap.js\n function computeSourceMap({ code: generatedCode, mappings: rawMappings }, filePath, options2, source, tokens) {\n const sourceColumns = computeSourceColumns(source, tokens);\n const map2 = new GenMapping({ file: options2.compiledFilename });\n let tokenIndex = 0;\n let currentMapping = rawMappings[0];\n while (currentMapping === void 0 && tokenIndex < rawMappings.length - 1) {\n tokenIndex++;\n currentMapping = rawMappings[tokenIndex];\n }\n let line = 0;\n let lineStart = 0;\n if (currentMapping !== lineStart) {\n maybeAddSegment(map2, line, 0, filePath, line, 0);\n }\n for (let i = 0; i < generatedCode.length; i++) {\n if (i === currentMapping) {\n const genColumn = currentMapping - lineStart;\n const sourceColumn = sourceColumns[tokenIndex];\n maybeAddSegment(map2, line, genColumn, filePath, line, sourceColumn);\n while ((currentMapping === i || currentMapping === void 0) && tokenIndex < rawMappings.length - 1) {\n tokenIndex++;\n currentMapping = rawMappings[tokenIndex];\n }\n }\n if (generatedCode.charCodeAt(i) === charCodes.lineFeed) {\n line++;\n lineStart = i + 1;\n if (currentMapping !== lineStart) {\n maybeAddSegment(map2, line, 0, filePath, line, 0);\n }\n }\n }\n const { sourceRoot, sourcesContent, ...sourceMap } = toEncodedMap(map2);\n return sourceMap;\n }\n function computeSourceColumns(code, tokens) {\n const sourceColumns = new Array(tokens.length);\n let tokenIndex = 0;\n let currentMapping = tokens[tokenIndex].start;\n let lineStart = 0;\n for (let i = 0; i < code.length; i++) {\n if (i === currentMapping) {\n sourceColumns[tokenIndex] = currentMapping - lineStart;\n tokenIndex++;\n currentMapping = tokens[tokenIndex].start;\n }\n if (code.charCodeAt(i) === charCodes.lineFeed) {\n lineStart = i + 1;\n }\n }\n return sourceColumns;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/HelperManager.js\n var HELPERS = {\n require: `\n import {createRequire as CREATE_REQUIRE_NAME} from \"module\";\n const require = CREATE_REQUIRE_NAME(import.meta.url);\n `,\n interopRequireWildcard: `\n function interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n }\n `,\n interopRequireDefault: `\n function interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n `,\n createNamedExportFrom: `\n function createNamedExportFrom(obj, localName, importedName) {\n Object.defineProperty(exports, localName, {enumerable: true, configurable: true, get: () => obj[importedName]});\n }\n `,\n // Note that TypeScript and Babel do this differently; TypeScript does a simple existence\n // check in the exports object and does a plain assignment, whereas Babel uses\n // defineProperty and builds an object of explicitly-exported names so that star exports can\n // always take lower precedence. For now, we do the easier TypeScript thing.\n createStarExport: `\n function createStarExport(obj) {\n Object.keys(obj)\n .filter((key) => key !== \"default\" && key !== \"__esModule\")\n .forEach((key) => {\n if (exports.hasOwnProperty(key)) {\n return;\n }\n Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]});\n });\n }\n `,\n nullishCoalesce: `\n function nullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return rhsFn();\n }\n }\n `,\n asyncNullishCoalesce: `\n async function asyncNullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return await rhsFn();\n }\n }\n `,\n optionalChain: `\n function optionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n `,\n asyncOptionalChain: `\n async function asyncOptionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = await fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = await fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n `,\n optionalChainDelete: `\n function optionalChainDelete(ops) {\n const result = OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n `,\n asyncOptionalChainDelete: `\n async function asyncOptionalChainDelete(ops) {\n const result = await ASYNC_OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n `\n };\n var HelperManager = class _HelperManager {\n __init() {\n this.helperNames = {};\n }\n __init2() {\n this.createRequireName = null;\n }\n constructor(nameManager) {\n ;\n this.nameManager = nameManager;\n _HelperManager.prototype.__init.call(this);\n _HelperManager.prototype.__init2.call(this);\n }\n getHelperName(baseName) {\n let helperName = this.helperNames[baseName];\n if (helperName) {\n return helperName;\n }\n helperName = this.nameManager.claimFreeName(`_${baseName}`);\n this.helperNames[baseName] = helperName;\n return helperName;\n }\n emitHelpers() {\n let resultCode = \"\";\n if (this.helperNames.optionalChainDelete) {\n this.getHelperName(\"optionalChain\");\n }\n if (this.helperNames.asyncOptionalChainDelete) {\n this.getHelperName(\"asyncOptionalChain\");\n }\n for (const [baseName, helperCodeTemplate] of Object.entries(HELPERS)) {\n const helperName = this.helperNames[baseName];\n let helperCode = helperCodeTemplate;\n if (baseName === \"optionalChainDelete\") {\n helperCode = helperCode.replace(\"OPTIONAL_CHAIN_NAME\", this.helperNames.optionalChain);\n } else if (baseName === \"asyncOptionalChainDelete\") {\n helperCode = helperCode.replace(\n \"ASYNC_OPTIONAL_CHAIN_NAME\",\n this.helperNames.asyncOptionalChain\n );\n } else if (baseName === \"require\") {\n if (this.createRequireName === null) {\n this.createRequireName = this.nameManager.claimFreeName(\"_createRequire\");\n }\n helperCode = helperCode.replace(/CREATE_REQUIRE_NAME/g, this.createRequireName);\n }\n if (helperName) {\n resultCode += \" \";\n resultCode += helperCode.replace(baseName, helperName).replace(/\\s+/g, \" \").trim();\n }\n }\n return resultCode;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/identifyShadowedGlobals.js\n function identifyShadowedGlobals(tokens, scopes, globalNames) {\n if (!hasShadowedGlobals(tokens, globalNames)) {\n return;\n }\n markShadowedGlobals(tokens, scopes, globalNames);\n }\n function hasShadowedGlobals(tokens, globalNames) {\n for (const token of tokens.tokens) {\n if (token.type === TokenType.name && !token.isType && isNonTopLevelDeclaration(token) && globalNames.has(tokens.identifierNameForToken(token))) {\n return true;\n }\n }\n return false;\n }\n function markShadowedGlobals(tokens, scopes, globalNames) {\n const scopeStack = [];\n let scopeIndex = scopes.length - 1;\n for (let i = tokens.tokens.length - 1; ; i--) {\n while (scopeStack.length > 0 && scopeStack[scopeStack.length - 1].startTokenIndex === i + 1) {\n scopeStack.pop();\n }\n while (scopeIndex >= 0 && scopes[scopeIndex].endTokenIndex === i + 1) {\n scopeStack.push(scopes[scopeIndex]);\n scopeIndex--;\n }\n if (i < 0) {\n break;\n }\n const token = tokens.tokens[i];\n const name = tokens.identifierNameForToken(token);\n if (scopeStack.length > 1 && !token.isType && token.type === TokenType.name && globalNames.has(name)) {\n if (isBlockScopedDeclaration(token)) {\n markShadowedForScope(scopeStack[scopeStack.length - 1], tokens, name);\n } else if (isFunctionScopedDeclaration(token)) {\n let stackIndex = scopeStack.length - 1;\n while (stackIndex > 0 && !scopeStack[stackIndex].isFunctionScope) {\n stackIndex--;\n }\n if (stackIndex < 0) {\n throw new Error(\"Did not find parent function scope.\");\n }\n markShadowedForScope(scopeStack[stackIndex], tokens, name);\n }\n }\n }\n if (scopeStack.length > 0) {\n throw new Error(\"Expected empty scope stack after processing file.\");\n }\n }\n function markShadowedForScope(scope, tokens, name) {\n for (let i = scope.startTokenIndex; i < scope.endTokenIndex; i++) {\n const token = tokens.tokens[i];\n if ((token.type === TokenType.name || token.type === TokenType.jsxName) && tokens.identifierNameForToken(token) === name) {\n token.shadowsGlobal = true;\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getIdentifierNames.js\n function getIdentifierNames(code, tokens) {\n const names = [];\n for (const token of tokens) {\n if (token.type === TokenType.name) {\n names.push(code.slice(token.start, token.end));\n }\n }\n return names;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/NameManager.js\n var NameManager = class _NameManager {\n __init() {\n this.usedNames = /* @__PURE__ */ new Set();\n }\n constructor(code, tokens) {\n ;\n _NameManager.prototype.__init.call(this);\n this.usedNames = new Set(getIdentifierNames(code, tokens));\n }\n claimFreeName(name) {\n const newName = this.findFreeName(name);\n this.usedNames.add(newName);\n return newName;\n }\n findFreeName(name) {\n if (!this.usedNames.has(name)) {\n return name;\n }\n let suffixNum = 2;\n while (this.usedNames.has(name + String(suffixNum))) {\n suffixNum++;\n }\n return name + String(suffixNum);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options.js\n var import_ts_interface_checker = __toESM(require_dist());\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options-gen-types.js\n var t = __toESM(require_dist());\n var Transform = t.union(\n t.lit(\"jsx\"),\n t.lit(\"typescript\"),\n t.lit(\"flow\"),\n t.lit(\"imports\"),\n t.lit(\"react-hot-loader\"),\n t.lit(\"jest\")\n );\n var SourceMapOptions = t.iface([], {\n compiledFilename: \"string\"\n });\n var Options = t.iface([], {\n transforms: t.array(\"Transform\"),\n disableESTransforms: t.opt(\"boolean\"),\n jsxRuntime: t.opt(t.union(t.lit(\"classic\"), t.lit(\"automatic\"), t.lit(\"preserve\"))),\n production: t.opt(\"boolean\"),\n jsxImportSource: t.opt(\"string\"),\n jsxPragma: t.opt(\"string\"),\n jsxFragmentPragma: t.opt(\"string\"),\n keepUnusedImports: t.opt(\"boolean\"),\n preserveDynamicImport: t.opt(\"boolean\"),\n injectCreateRequireForImportRequire: t.opt(\"boolean\"),\n enableLegacyTypeScriptModuleInterop: t.opt(\"boolean\"),\n enableLegacyBabel5ModuleInterop: t.opt(\"boolean\"),\n sourceMapOptions: t.opt(\"SourceMapOptions\"),\n filePath: t.opt(\"string\")\n });\n var exportedTypeSuite = {\n Transform,\n SourceMapOptions,\n Options\n };\n var Options_gen_types_default = exportedTypeSuite;\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options.js\n var { Options: OptionsChecker } = (0, import_ts_interface_checker.createCheckers)(Options_gen_types_default);\n function validateOptions(options2) {\n OptionsChecker.strictCheck(options2);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/lval.js\n function parseSpread() {\n next();\n parseMaybeAssign(false);\n }\n function parseRest(isBlockScope) {\n next();\n parseBindingAtom(isBlockScope);\n }\n function parseBindingIdentifier(isBlockScope) {\n parseIdentifier();\n markPriorBindingIdentifier(isBlockScope);\n }\n function parseImportedIdentifier() {\n parseIdentifier();\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n }\n function markPriorBindingIdentifier(isBlockScope) {\n let identifierRole;\n if (state.scopeDepth === 0) {\n identifierRole = IdentifierRole.TopLevelDeclaration;\n } else if (isBlockScope) {\n identifierRole = IdentifierRole.BlockScopedDeclaration;\n } else {\n identifierRole = IdentifierRole.FunctionScopedDeclaration;\n }\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n }\n function parseBindingAtom(isBlockScope) {\n switch (state.type) {\n case TokenType._this: {\n const oldIsType = pushTypeContext(0);\n next();\n popTypeContext(oldIsType);\n return;\n }\n case TokenType._yield:\n case TokenType.name: {\n state.type = TokenType.name;\n parseBindingIdentifier(isBlockScope);\n return;\n }\n case TokenType.bracketL: {\n next();\n parseBindingList(\n TokenType.bracketR,\n isBlockScope,\n true\n /* allowEmpty */\n );\n return;\n }\n case TokenType.braceL:\n parseObj(true, isBlockScope);\n return;\n default:\n unexpected();\n }\n }\n function parseBindingList(close, isBlockScope, allowEmpty = false, allowModifiers = false, contextId = 0) {\n let first = true;\n let hasRemovedComma = false;\n const firstItemTokenIndex = state.tokens.length;\n while (!eat(close) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n state.tokens[state.tokens.length - 1].contextId = contextId;\n if (!hasRemovedComma && state.tokens[firstItemTokenIndex].isType) {\n state.tokens[state.tokens.length - 1].isType = true;\n hasRemovedComma = true;\n }\n }\n if (allowEmpty && match(TokenType.comma)) {\n } else if (eat(close)) {\n break;\n } else if (match(TokenType.ellipsis)) {\n parseRest(isBlockScope);\n parseAssignableListItemTypes();\n eat(TokenType.comma);\n expect(close);\n break;\n } else {\n parseAssignableListItem(allowModifiers, isBlockScope);\n }\n }\n }\n function parseAssignableListItem(allowModifiers, isBlockScope) {\n if (allowModifiers) {\n tsParseModifiers([\n ContextualKeyword._public,\n ContextualKeyword._protected,\n ContextualKeyword._private,\n ContextualKeyword._readonly,\n ContextualKeyword._override\n ]);\n }\n parseMaybeDefault(isBlockScope);\n parseAssignableListItemTypes();\n parseMaybeDefault(\n isBlockScope,\n true\n /* leftAlreadyParsed */\n );\n }\n function parseAssignableListItemTypes() {\n if (isFlowEnabled) {\n flowParseAssignableListItemTypes();\n } else if (isTypeScriptEnabled) {\n tsParseAssignableListItemTypes();\n }\n }\n function parseMaybeDefault(isBlockScope, leftAlreadyParsed = false) {\n if (!leftAlreadyParsed) {\n parseBindingAtom(isBlockScope);\n }\n if (!eat(TokenType.eq)) {\n return;\n }\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign();\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/typescript.js\n function tsIsIdentifier() {\n return match(TokenType.name);\n }\n function isLiteralPropertyName() {\n return match(TokenType.name) || Boolean(state.type & TokenType.IS_KEYWORD) || match(TokenType.string) || match(TokenType.num) || match(TokenType.bigint) || match(TokenType.decimal);\n }\n function tsNextTokenCanFollowModifier() {\n const snapshot = state.snapshot();\n next();\n const canFollowModifier = (match(TokenType.bracketL) || match(TokenType.braceL) || match(TokenType.star) || match(TokenType.ellipsis) || match(TokenType.hash) || isLiteralPropertyName()) && !hasPrecedingLineBreak();\n if (canFollowModifier) {\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n }\n function tsParseModifiers(allowedModifiers) {\n while (true) {\n const modifier = tsParseModifier(allowedModifiers);\n if (modifier === null) {\n break;\n }\n }\n }\n function tsParseModifier(allowedModifiers) {\n if (!match(TokenType.name)) {\n return null;\n }\n const modifier = state.contextualKeyword;\n if (allowedModifiers.indexOf(modifier) !== -1 && tsNextTokenCanFollowModifier()) {\n switch (modifier) {\n case ContextualKeyword._readonly:\n state.tokens[state.tokens.length - 1].type = TokenType._readonly;\n break;\n case ContextualKeyword._abstract:\n state.tokens[state.tokens.length - 1].type = TokenType._abstract;\n break;\n case ContextualKeyword._static:\n state.tokens[state.tokens.length - 1].type = TokenType._static;\n break;\n case ContextualKeyword._public:\n state.tokens[state.tokens.length - 1].type = TokenType._public;\n break;\n case ContextualKeyword._private:\n state.tokens[state.tokens.length - 1].type = TokenType._private;\n break;\n case ContextualKeyword._protected:\n state.tokens[state.tokens.length - 1].type = TokenType._protected;\n break;\n case ContextualKeyword._override:\n state.tokens[state.tokens.length - 1].type = TokenType._override;\n break;\n case ContextualKeyword._declare:\n state.tokens[state.tokens.length - 1].type = TokenType._declare;\n break;\n default:\n break;\n }\n return modifier;\n }\n return null;\n }\n function tsParseEntityName() {\n parseIdentifier();\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n }\n function tsParseTypeReference() {\n tsParseEntityName();\n if (!hasPrecedingLineBreak() && match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseThisTypePredicate() {\n next();\n tsParseTypeAnnotation();\n }\n function tsParseThisTypeNode() {\n next();\n }\n function tsParseTypeQuery() {\n expect(TokenType._typeof);\n if (match(TokenType._import)) {\n tsParseImportType();\n } else {\n tsParseEntityName();\n }\n if (!hasPrecedingLineBreak() && match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseImportType() {\n expect(TokenType._import);\n expect(TokenType.parenL);\n expect(TokenType.string);\n expect(TokenType.parenR);\n if (eat(TokenType.dot)) {\n tsParseEntityName();\n }\n if (match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseTypeParameter() {\n eat(TokenType._const);\n const hadIn = eat(TokenType._in);\n const hadOut = eatContextual(ContextualKeyword._out);\n eat(TokenType._const);\n if ((hadIn || hadOut) && !match(TokenType.name)) {\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n } else {\n parseIdentifier();\n }\n if (eat(TokenType._extends)) {\n tsParseType();\n }\n if (eat(TokenType.eq)) {\n tsParseType();\n }\n }\n function tsTryParseTypeParameters() {\n if (match(TokenType.lessThan)) {\n tsParseTypeParameters();\n }\n }\n function tsParseTypeParameters() {\n const oldIsType = pushTypeContext(0);\n if (match(TokenType.lessThan) || match(TokenType.typeParameterStart)) {\n next();\n } else {\n unexpected();\n }\n while (!eat(TokenType.greaterThan) && !state.error) {\n tsParseTypeParameter();\n eat(TokenType.comma);\n }\n popTypeContext(oldIsType);\n }\n function tsFillSignature(returnToken) {\n const returnTokenRequired = returnToken === TokenType.arrow;\n tsTryParseTypeParameters();\n expect(TokenType.parenL);\n state.scopeDepth++;\n tsParseBindingListForSignature(\n false\n /* isBlockScope */\n );\n state.scopeDepth--;\n if (returnTokenRequired) {\n tsParseTypeOrTypePredicateAnnotation(returnToken);\n } else if (match(returnToken)) {\n tsParseTypeOrTypePredicateAnnotation(returnToken);\n }\n }\n function tsParseBindingListForSignature(isBlockScope) {\n parseBindingList(TokenType.parenR, isBlockScope);\n }\n function tsParseTypeMemberSemicolon() {\n if (!eat(TokenType.comma)) {\n semicolon();\n }\n }\n function tsParseSignatureMember() {\n tsFillSignature(TokenType.colon);\n tsParseTypeMemberSemicolon();\n }\n function tsIsUnambiguouslyIndexSignature() {\n const snapshot = state.snapshot();\n next();\n const isIndexSignature = eat(TokenType.name) && match(TokenType.colon);\n state.restoreFromSnapshot(snapshot);\n return isIndexSignature;\n }\n function tsTryParseIndexSignature() {\n if (!(match(TokenType.bracketL) && tsIsUnambiguouslyIndexSignature())) {\n return false;\n }\n const oldIsType = pushTypeContext(0);\n expect(TokenType.bracketL);\n parseIdentifier();\n tsParseTypeAnnotation();\n expect(TokenType.bracketR);\n tsTryParseTypeAnnotation();\n tsParseTypeMemberSemicolon();\n popTypeContext(oldIsType);\n return true;\n }\n function tsParsePropertyOrMethodSignature(isReadonly) {\n eat(TokenType.question);\n if (!isReadonly && (match(TokenType.parenL) || match(TokenType.lessThan))) {\n tsFillSignature(TokenType.colon);\n tsParseTypeMemberSemicolon();\n } else {\n tsTryParseTypeAnnotation();\n tsParseTypeMemberSemicolon();\n }\n }\n function tsParseTypeMember() {\n if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n tsParseSignatureMember();\n return;\n }\n if (match(TokenType._new)) {\n next();\n if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n tsParseSignatureMember();\n } else {\n tsParsePropertyOrMethodSignature(false);\n }\n return;\n }\n const readonly = !!tsParseModifier([ContextualKeyword._readonly]);\n const found = tsTryParseIndexSignature();\n if (found) {\n return;\n }\n if ((isContextual(ContextualKeyword._get) || isContextual(ContextualKeyword._set)) && tsNextTokenCanFollowModifier()) {\n }\n parsePropertyName(\n -1\n /* Types don't need context IDs. */\n );\n tsParsePropertyOrMethodSignature(readonly);\n }\n function tsParseTypeLiteral() {\n tsParseObjectTypeMembers();\n }\n function tsParseObjectTypeMembers() {\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n tsParseTypeMember();\n }\n }\n function tsLookaheadIsStartOfMappedType() {\n const snapshot = state.snapshot();\n const isStartOfMappedType = tsIsStartOfMappedType();\n state.restoreFromSnapshot(snapshot);\n return isStartOfMappedType;\n }\n function tsIsStartOfMappedType() {\n next();\n if (eat(TokenType.plus) || eat(TokenType.minus)) {\n return isContextual(ContextualKeyword._readonly);\n }\n if (isContextual(ContextualKeyword._readonly)) {\n next();\n }\n if (!match(TokenType.bracketL)) {\n return false;\n }\n next();\n if (!tsIsIdentifier()) {\n return false;\n }\n next();\n return match(TokenType._in);\n }\n function tsParseMappedTypeParameter() {\n parseIdentifier();\n expect(TokenType._in);\n tsParseType();\n }\n function tsParseMappedType() {\n expect(TokenType.braceL);\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n expectContextual(ContextualKeyword._readonly);\n } else {\n eatContextual(ContextualKeyword._readonly);\n }\n expect(TokenType.bracketL);\n tsParseMappedTypeParameter();\n if (eatContextual(ContextualKeyword._as)) {\n tsParseType();\n }\n expect(TokenType.bracketR);\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n expect(TokenType.question);\n } else {\n eat(TokenType.question);\n }\n tsTryParseType();\n semicolon();\n expect(TokenType.braceR);\n }\n function tsParseTupleType() {\n expect(TokenType.bracketL);\n while (!eat(TokenType.bracketR) && !state.error) {\n tsParseTupleElementType();\n eat(TokenType.comma);\n }\n }\n function tsParseTupleElementType() {\n if (eat(TokenType.ellipsis)) {\n tsParseType();\n } else {\n tsParseType();\n eat(TokenType.question);\n }\n if (eat(TokenType.colon)) {\n tsParseType();\n }\n }\n function tsParseParenthesizedType() {\n expect(TokenType.parenL);\n tsParseType();\n expect(TokenType.parenR);\n }\n function tsParseTemplateLiteralType() {\n nextTemplateToken();\n nextTemplateToken();\n while (!match(TokenType.backQuote) && !state.error) {\n expect(TokenType.dollarBraceL);\n tsParseType();\n nextTemplateToken();\n nextTemplateToken();\n }\n next();\n }\n var FunctionType;\n (function(FunctionType2) {\n const TSFunctionType = 0;\n FunctionType2[FunctionType2[\"TSFunctionType\"] = TSFunctionType] = \"TSFunctionType\";\n const TSConstructorType = TSFunctionType + 1;\n FunctionType2[FunctionType2[\"TSConstructorType\"] = TSConstructorType] = \"TSConstructorType\";\n const TSAbstractConstructorType = TSConstructorType + 1;\n FunctionType2[FunctionType2[\"TSAbstractConstructorType\"] = TSAbstractConstructorType] = \"TSAbstractConstructorType\";\n })(FunctionType || (FunctionType = {}));\n function tsParseFunctionOrConstructorType(type) {\n if (type === FunctionType.TSAbstractConstructorType) {\n expectContextual(ContextualKeyword._abstract);\n }\n if (type === FunctionType.TSConstructorType || type === FunctionType.TSAbstractConstructorType) {\n expect(TokenType._new);\n }\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = false;\n tsFillSignature(TokenType.arrow);\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n function tsParseNonArrayType() {\n switch (state.type) {\n case TokenType.name:\n tsParseTypeReference();\n return;\n case TokenType._void:\n case TokenType._null:\n next();\n return;\n case TokenType.string:\n case TokenType.num:\n case TokenType.bigint:\n case TokenType.decimal:\n case TokenType._true:\n case TokenType._false:\n parseLiteral();\n return;\n case TokenType.minus:\n next();\n parseLiteral();\n return;\n case TokenType._this: {\n tsParseThisTypeNode();\n if (isContextual(ContextualKeyword._is) && !hasPrecedingLineBreak()) {\n tsParseThisTypePredicate();\n }\n return;\n }\n case TokenType._typeof:\n tsParseTypeQuery();\n return;\n case TokenType._import:\n tsParseImportType();\n return;\n case TokenType.braceL:\n if (tsLookaheadIsStartOfMappedType()) {\n tsParseMappedType();\n } else {\n tsParseTypeLiteral();\n }\n return;\n case TokenType.bracketL:\n tsParseTupleType();\n return;\n case TokenType.parenL:\n tsParseParenthesizedType();\n return;\n case TokenType.backQuote:\n tsParseTemplateLiteralType();\n return;\n default:\n if (state.type & TokenType.IS_KEYWORD) {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n return;\n }\n break;\n }\n unexpected();\n }\n function tsParseArrayTypeOrHigher() {\n tsParseNonArrayType();\n while (!hasPrecedingLineBreak() && eat(TokenType.bracketL)) {\n if (!eat(TokenType.bracketR)) {\n tsParseType();\n expect(TokenType.bracketR);\n }\n }\n }\n function tsParseInferType() {\n expectContextual(ContextualKeyword._infer);\n parseIdentifier();\n if (match(TokenType._extends)) {\n const snapshot = state.snapshot();\n expect(TokenType._extends);\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = true;\n tsParseType();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n if (state.error || !state.inDisallowConditionalTypesContext && match(TokenType.question)) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n }\n function tsParseTypeOperatorOrHigher() {\n if (isContextual(ContextualKeyword._keyof) || isContextual(ContextualKeyword._unique) || isContextual(ContextualKeyword._readonly)) {\n next();\n tsParseTypeOperatorOrHigher();\n } else if (isContextual(ContextualKeyword._infer)) {\n tsParseInferType();\n } else {\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = false;\n tsParseArrayTypeOrHigher();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n }\n function tsParseIntersectionTypeOrHigher() {\n eat(TokenType.bitwiseAND);\n tsParseTypeOperatorOrHigher();\n if (match(TokenType.bitwiseAND)) {\n while (eat(TokenType.bitwiseAND)) {\n tsParseTypeOperatorOrHigher();\n }\n }\n }\n function tsParseUnionTypeOrHigher() {\n eat(TokenType.bitwiseOR);\n tsParseIntersectionTypeOrHigher();\n if (match(TokenType.bitwiseOR)) {\n while (eat(TokenType.bitwiseOR)) {\n tsParseIntersectionTypeOrHigher();\n }\n }\n }\n function tsIsStartOfFunctionType() {\n if (match(TokenType.lessThan)) {\n return true;\n }\n return match(TokenType.parenL) && tsLookaheadIsUnambiguouslyStartOfFunctionType();\n }\n function tsSkipParameterStart() {\n if (match(TokenType.name) || match(TokenType._this)) {\n next();\n return true;\n }\n if (match(TokenType.braceL) || match(TokenType.bracketL)) {\n let depth = 1;\n next();\n while (depth > 0 && !state.error) {\n if (match(TokenType.braceL) || match(TokenType.bracketL)) {\n depth++;\n } else if (match(TokenType.braceR) || match(TokenType.bracketR)) {\n depth--;\n }\n next();\n }\n return true;\n }\n return false;\n }\n function tsLookaheadIsUnambiguouslyStartOfFunctionType() {\n const snapshot = state.snapshot();\n const isUnambiguouslyStartOfFunctionType = tsIsUnambiguouslyStartOfFunctionType();\n state.restoreFromSnapshot(snapshot);\n return isUnambiguouslyStartOfFunctionType;\n }\n function tsIsUnambiguouslyStartOfFunctionType() {\n next();\n if (match(TokenType.parenR) || match(TokenType.ellipsis)) {\n return true;\n }\n if (tsSkipParameterStart()) {\n if (match(TokenType.colon) || match(TokenType.comma) || match(TokenType.question) || match(TokenType.eq)) {\n return true;\n }\n if (match(TokenType.parenR)) {\n next();\n if (match(TokenType.arrow)) {\n return true;\n }\n }\n }\n return false;\n }\n function tsParseTypeOrTypePredicateAnnotation(returnToken) {\n const oldIsType = pushTypeContext(0);\n expect(returnToken);\n const finishedReturn = tsParseTypePredicateOrAssertsPrefix();\n if (!finishedReturn) {\n tsParseType();\n }\n popTypeContext(oldIsType);\n }\n function tsTryParseTypeOrTypePredicateAnnotation() {\n if (match(TokenType.colon)) {\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n }\n }\n function tsTryParseTypeAnnotation() {\n if (match(TokenType.colon)) {\n tsParseTypeAnnotation();\n }\n }\n function tsTryParseType() {\n if (eat(TokenType.colon)) {\n tsParseType();\n }\n }\n function tsParseTypePredicateOrAssertsPrefix() {\n const snapshot = state.snapshot();\n if (isContextual(ContextualKeyword._asserts)) {\n next();\n if (eatContextual(ContextualKeyword._is)) {\n tsParseType();\n return true;\n } else if (tsIsIdentifier() || match(TokenType._this)) {\n next();\n if (eatContextual(ContextualKeyword._is)) {\n tsParseType();\n }\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n } else if (tsIsIdentifier() || match(TokenType._this)) {\n next();\n if (isContextual(ContextualKeyword._is) && !hasPrecedingLineBreak()) {\n next();\n tsParseType();\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n }\n return false;\n }\n function tsParseTypeAnnotation() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.colon);\n tsParseType();\n popTypeContext(oldIsType);\n }\n function tsParseType() {\n tsParseNonConditionalType();\n if (state.inDisallowConditionalTypesContext || hasPrecedingLineBreak() || !eat(TokenType._extends)) {\n return;\n }\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = true;\n tsParseNonConditionalType();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n expect(TokenType.question);\n tsParseType();\n expect(TokenType.colon);\n tsParseType();\n }\n function isAbstractConstructorSignature() {\n return isContextual(ContextualKeyword._abstract) && lookaheadType() === TokenType._new;\n }\n function tsParseNonConditionalType() {\n if (tsIsStartOfFunctionType()) {\n tsParseFunctionOrConstructorType(FunctionType.TSFunctionType);\n return;\n }\n if (match(TokenType._new)) {\n tsParseFunctionOrConstructorType(FunctionType.TSConstructorType);\n return;\n } else if (isAbstractConstructorSignature()) {\n tsParseFunctionOrConstructorType(FunctionType.TSAbstractConstructorType);\n return;\n }\n tsParseUnionTypeOrHigher();\n }\n function tsParseTypeAssertion() {\n const oldIsType = pushTypeContext(1);\n tsParseType();\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n parseMaybeUnary();\n }\n function tsTryParseJSXTypeArgument() {\n if (eat(TokenType.jsxTagStart)) {\n state.tokens[state.tokens.length - 1].type = TokenType.typeParameterStart;\n const oldIsType = pushTypeContext(1);\n while (!match(TokenType.greaterThan) && !state.error) {\n tsParseType();\n eat(TokenType.comma);\n }\n nextJSXTagToken();\n popTypeContext(oldIsType);\n }\n }\n function tsParseHeritageClause() {\n while (!match(TokenType.braceL) && !state.error) {\n tsParseExpressionWithTypeArguments();\n eat(TokenType.comma);\n }\n }\n function tsParseExpressionWithTypeArguments() {\n tsParseEntityName();\n if (match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseInterfaceDeclaration() {\n parseBindingIdentifier(false);\n tsTryParseTypeParameters();\n if (eat(TokenType._extends)) {\n tsParseHeritageClause();\n }\n tsParseObjectTypeMembers();\n }\n function tsParseTypeAliasDeclaration() {\n parseBindingIdentifier(false);\n tsTryParseTypeParameters();\n expect(TokenType.eq);\n tsParseType();\n semicolon();\n }\n function tsParseEnumMember() {\n if (match(TokenType.string)) {\n parseLiteral();\n } else {\n parseIdentifier();\n }\n if (eat(TokenType.eq)) {\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign();\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n }\n function tsParseEnumDeclaration() {\n parseBindingIdentifier(false);\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n tsParseEnumMember();\n eat(TokenType.comma);\n }\n }\n function tsParseModuleBlock() {\n expect(TokenType.braceL);\n parseBlockBody(\n /* end */\n TokenType.braceR\n );\n }\n function tsParseModuleOrNamespaceDeclaration() {\n parseBindingIdentifier(false);\n if (eat(TokenType.dot)) {\n tsParseModuleOrNamespaceDeclaration();\n } else {\n tsParseModuleBlock();\n }\n }\n function tsParseAmbientExternalModuleDeclaration() {\n if (isContextual(ContextualKeyword._global)) {\n parseIdentifier();\n } else if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n unexpected();\n }\n if (match(TokenType.braceL)) {\n tsParseModuleBlock();\n } else {\n semicolon();\n }\n }\n function tsParseImportEqualsDeclaration() {\n parseImportedIdentifier();\n expect(TokenType.eq);\n tsParseModuleReference();\n semicolon();\n }\n function tsIsExternalModuleReference() {\n return isContextual(ContextualKeyword._require) && lookaheadType() === TokenType.parenL;\n }\n function tsParseModuleReference() {\n if (tsIsExternalModuleReference()) {\n tsParseExternalModuleReference();\n } else {\n tsParseEntityName();\n }\n }\n function tsParseExternalModuleReference() {\n expectContextual(ContextualKeyword._require);\n expect(TokenType.parenL);\n if (!match(TokenType.string)) {\n unexpected();\n }\n parseLiteral();\n expect(TokenType.parenR);\n }\n function tsTryParseDeclare() {\n if (isLineTerminator()) {\n return false;\n }\n switch (state.type) {\n case TokenType._function: {\n const oldIsType = pushTypeContext(1);\n next();\n const functionStart = state.start;\n parseFunction(\n functionStart,\n /* isStatement */\n true\n );\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType._class: {\n const oldIsType = pushTypeContext(1);\n parseClass(\n /* isStatement */\n true,\n /* optionalId */\n false\n );\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType._const: {\n if (match(TokenType._const) && isLookaheadContextual(ContextualKeyword._enum)) {\n const oldIsType = pushTypeContext(1);\n expect(TokenType._const);\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n }\n // falls through\n case TokenType._var:\n case TokenType._let: {\n const oldIsType = pushTypeContext(1);\n parseVarStatement(state.type !== TokenType._var);\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType.name: {\n const oldIsType = pushTypeContext(1);\n const contextualKeyword = state.contextualKeyword;\n let matched = false;\n if (contextualKeyword === ContextualKeyword._global) {\n tsParseAmbientExternalModuleDeclaration();\n matched = true;\n } else {\n matched = tsParseDeclaration(\n contextualKeyword,\n /* isBeforeToken */\n true\n );\n }\n popTypeContext(oldIsType);\n return matched;\n }\n default:\n return false;\n }\n }\n function tsTryParseExportDeclaration() {\n return tsParseDeclaration(\n state.contextualKeyword,\n /* isBeforeToken */\n true\n );\n }\n function tsParseExpressionStatement(contextualKeyword) {\n switch (contextualKeyword) {\n case ContextualKeyword._declare: {\n const declareTokenIndex = state.tokens.length - 1;\n const matched = tsTryParseDeclare();\n if (matched) {\n state.tokens[declareTokenIndex].type = TokenType._declare;\n return true;\n }\n break;\n }\n case ContextualKeyword._global:\n if (match(TokenType.braceL)) {\n tsParseModuleBlock();\n return true;\n }\n break;\n default:\n return tsParseDeclaration(\n contextualKeyword,\n /* isBeforeToken */\n false\n );\n }\n return false;\n }\n function tsParseDeclaration(contextualKeyword, isBeforeToken) {\n switch (contextualKeyword) {\n case ContextualKeyword._abstract:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType._class)) {\n state.tokens[state.tokens.length - 1].type = TokenType._abstract;\n parseClass(\n /* isStatement */\n true,\n /* optionalId */\n false\n );\n return true;\n }\n break;\n case ContextualKeyword._enum:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n return true;\n }\n break;\n case ContextualKeyword._interface:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseInterfaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n case ContextualKeyword._module:\n if (tsCheckLineTerminator(isBeforeToken)) {\n if (match(TokenType.string)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseAmbientExternalModuleDeclaration();\n popTypeContext(oldIsType);\n return true;\n } else if (match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseModuleOrNamespaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n }\n break;\n case ContextualKeyword._namespace:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseModuleOrNamespaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n case ContextualKeyword._type:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseTypeAliasDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n function tsCheckLineTerminator(isBeforeToken) {\n if (isBeforeToken) {\n next();\n return true;\n } else {\n return !isLineTerminator();\n }\n }\n function tsTryParseGenericAsyncArrowFunction() {\n const snapshot = state.snapshot();\n tsParseTypeParameters();\n parseFunctionParams();\n tsTryParseTypeOrTypePredicateAnnotation();\n expect(TokenType.arrow);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n parseFunctionBody(true);\n return true;\n }\n function tsParseTypeArgumentsWithPossibleBitshift() {\n if (state.type === TokenType.bitShiftL) {\n state.pos -= 1;\n finishToken(TokenType.lessThan);\n }\n tsParseTypeArguments();\n }\n function tsParseTypeArguments() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.lessThan);\n while (!match(TokenType.greaterThan) && !state.error) {\n tsParseType();\n eat(TokenType.comma);\n }\n if (!oldIsType) {\n popTypeContext(oldIsType);\n rescan_gt();\n expect(TokenType.greaterThan);\n state.tokens[state.tokens.length - 1].isType = true;\n } else {\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n }\n function tsIsDeclarationStart() {\n if (match(TokenType.name)) {\n switch (state.contextualKeyword) {\n case ContextualKeyword._abstract:\n case ContextualKeyword._declare:\n case ContextualKeyword._enum:\n case ContextualKeyword._interface:\n case ContextualKeyword._module:\n case ContextualKeyword._namespace:\n case ContextualKeyword._type:\n return true;\n default:\n break;\n }\n }\n return false;\n }\n function tsParseFunctionBodyAndFinish(functionStart, funcContextId) {\n if (match(TokenType.colon)) {\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n }\n if (!match(TokenType.braceL) && isLineTerminator()) {\n let i = state.tokens.length - 1;\n while (i >= 0 && (state.tokens[i].start >= functionStart || state.tokens[i].type === TokenType._default || state.tokens[i].type === TokenType._export)) {\n state.tokens[i].isType = true;\n i--;\n }\n return;\n }\n parseFunctionBody(false, funcContextId);\n }\n function tsParseSubscript(startTokenIndex, noCalls, stopState) {\n if (!hasPrecedingLineBreak() && eat(TokenType.bang)) {\n state.tokens[state.tokens.length - 1].type = TokenType.nonNullAssertion;\n return;\n }\n if (match(TokenType.lessThan) || match(TokenType.bitShiftL)) {\n const snapshot = state.snapshot();\n if (!noCalls && atPossibleAsync()) {\n const asyncArrowFn = tsTryParseGenericAsyncArrowFunction();\n if (asyncArrowFn) {\n return;\n }\n }\n tsParseTypeArgumentsWithPossibleBitshift();\n if (!noCalls && eat(TokenType.parenL)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseCallExpressionArguments();\n } else if (match(TokenType.backQuote)) {\n parseTemplate();\n } else if (\n // The remaining possible case is an instantiation expression, e.g.\n // Array<number> . Check for a few cases that would disqualify it and\n // cause us to bail out.\n // a<b>>c is not (a<b>)>c, but a<(b>>c)\n state.type === TokenType.greaterThan || // a<b>c is (a<b)>c\n state.type !== TokenType.parenL && Boolean(state.type & TokenType.IS_EXPRESSION_START) && !hasPrecedingLineBreak()\n ) {\n unexpected();\n }\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return;\n }\n } else if (!noCalls && match(TokenType.questionDot) && lookaheadType() === TokenType.lessThan) {\n next();\n state.tokens[startTokenIndex].isOptionalChainStart = true;\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n tsParseTypeArguments();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n }\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n function tsTryParseExport() {\n if (eat(TokenType._import)) {\n if (isContextual(ContextualKeyword._type) && lookaheadType() !== TokenType.eq) {\n expectContextual(ContextualKeyword._type);\n }\n tsParseImportEqualsDeclaration();\n return true;\n } else if (eat(TokenType.eq)) {\n parseExpression();\n semicolon();\n return true;\n } else if (eatContextual(ContextualKeyword._as)) {\n expectContextual(ContextualKeyword._namespace);\n parseIdentifier();\n semicolon();\n return true;\n } else {\n if (isContextual(ContextualKeyword._type)) {\n const nextType = lookaheadType();\n if (nextType === TokenType.braceL || nextType === TokenType.star) {\n next();\n }\n }\n return false;\n }\n }\n function tsParseImportSpecifier() {\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ImportAccess;\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ImportAccess;\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n state.tokens[state.tokens.length - 4].isType = true;\n state.tokens[state.tokens.length - 3].isType = true;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n }\n function tsParseExportSpecifier() {\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ExportAccess;\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ExportAccess;\n state.tokens[state.tokens.length - 4].isType = true;\n state.tokens[state.tokens.length - 3].isType = true;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n }\n function tsTryParseExportDefaultExpression() {\n if (isContextual(ContextualKeyword._abstract) && lookaheadType() === TokenType._class) {\n state.type = TokenType._abstract;\n next();\n parseClass(true, true);\n return true;\n }\n if (isContextual(ContextualKeyword._interface)) {\n const oldIsType = pushTypeContext(2);\n tsParseDeclaration(ContextualKeyword._interface, true);\n popTypeContext(oldIsType);\n return true;\n }\n return false;\n }\n function tsTryParseStatementContent() {\n if (state.type === TokenType._const) {\n const ahead = lookaheadTypeAndKeyword();\n if (ahead.type === TokenType.name && ahead.contextualKeyword === ContextualKeyword._enum) {\n expect(TokenType._const);\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n return true;\n }\n }\n return false;\n }\n function tsTryParseClassMemberWithIsStatic(isStatic) {\n const memberStartIndexAfterStatic = state.tokens.length;\n tsParseModifiers([\n ContextualKeyword._abstract,\n ContextualKeyword._readonly,\n ContextualKeyword._declare,\n ContextualKeyword._static,\n ContextualKeyword._override\n ]);\n const modifiersEndIndex = state.tokens.length;\n const found = tsTryParseIndexSignature();\n if (found) {\n const memberStartIndex = isStatic ? memberStartIndexAfterStatic - 1 : memberStartIndexAfterStatic;\n for (let i = memberStartIndex; i < modifiersEndIndex; i++) {\n state.tokens[i].isType = true;\n }\n return true;\n }\n return false;\n }\n function tsParseIdentifierStatement(contextualKeyword) {\n const matched = tsParseExpressionStatement(contextualKeyword);\n if (!matched) {\n semicolon();\n }\n }\n function tsParseExportDeclaration() {\n const isDeclare = eatContextual(ContextualKeyword._declare);\n if (isDeclare) {\n state.tokens[state.tokens.length - 1].type = TokenType._declare;\n }\n let matchedDeclaration = false;\n if (match(TokenType.name)) {\n if (isDeclare) {\n const oldIsType = pushTypeContext(2);\n matchedDeclaration = tsTryParseExportDeclaration();\n popTypeContext(oldIsType);\n } else {\n matchedDeclaration = tsTryParseExportDeclaration();\n }\n }\n if (!matchedDeclaration) {\n if (isDeclare) {\n const oldIsType = pushTypeContext(2);\n parseStatement(true);\n popTypeContext(oldIsType);\n } else {\n parseStatement(true);\n }\n }\n }\n function tsAfterParseClassSuper(hasSuper) {\n if (hasSuper && (match(TokenType.lessThan) || match(TokenType.bitShiftL))) {\n tsParseTypeArgumentsWithPossibleBitshift();\n }\n if (eatContextual(ContextualKeyword._implements)) {\n state.tokens[state.tokens.length - 1].type = TokenType._implements;\n const oldIsType = pushTypeContext(1);\n tsParseHeritageClause();\n popTypeContext(oldIsType);\n }\n }\n function tsStartParseObjPropValue() {\n tsTryParseTypeParameters();\n }\n function tsStartParseFunctionParams() {\n tsTryParseTypeParameters();\n }\n function tsAfterParseVarHead() {\n const oldIsType = pushTypeContext(0);\n if (!hasPrecedingLineBreak()) {\n eat(TokenType.bang);\n }\n tsTryParseTypeAnnotation();\n popTypeContext(oldIsType);\n }\n function tsStartParseAsyncArrowFromCallExpression() {\n if (match(TokenType.colon)) {\n tsParseTypeAnnotation();\n }\n }\n function tsParseMaybeAssign(noIn, isWithinParens) {\n if (isJSXEnabled) {\n return tsParseMaybeAssignWithJSX(noIn, isWithinParens);\n } else {\n return tsParseMaybeAssignWithoutJSX(noIn, isWithinParens);\n }\n }\n function tsParseMaybeAssignWithJSX(noIn, isWithinParens) {\n if (!match(TokenType.lessThan)) {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n const snapshot = state.snapshot();\n let wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return wasArrow;\n }\n state.type = TokenType.typeParameterStart;\n tsParseTypeParameters();\n wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (!wasArrow) {\n unexpected();\n }\n return wasArrow;\n }\n function tsParseMaybeAssignWithoutJSX(noIn, isWithinParens) {\n if (!match(TokenType.lessThan)) {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n const snapshot = state.snapshot();\n tsParseTypeParameters();\n const wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (!wasArrow) {\n unexpected();\n }\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return wasArrow;\n }\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n function tsParseArrow() {\n if (match(TokenType.colon)) {\n const snapshot = state.snapshot();\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n if (canInsertSemicolon()) unexpected();\n if (!match(TokenType.arrow)) unexpected();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n return eat(TokenType.arrow);\n }\n function tsParseAssignableListItemTypes() {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n tsTryParseTypeAnnotation();\n popTypeContext(oldIsType);\n }\n function tsParseMaybeDecoratorArguments() {\n if (match(TokenType.lessThan) || match(TokenType.bitShiftL)) {\n tsParseTypeArgumentsWithPossibleBitshift();\n }\n baseParseMaybeDecoratorArguments();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/jsx/index.js\n function jsxReadToken() {\n let sawNewline = false;\n let sawNonWhitespace = false;\n while (true) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated JSX contents\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.lessThan || ch === charCodes.leftCurlyBrace) {\n if (state.pos === state.start) {\n if (ch === charCodes.lessThan) {\n state.pos++;\n finishToken(TokenType.jsxTagStart);\n return;\n }\n getTokenFromCode(ch);\n return;\n }\n if (sawNewline && !sawNonWhitespace) {\n finishToken(TokenType.jsxEmptyText);\n } else {\n finishToken(TokenType.jsxText);\n }\n return;\n }\n if (ch === charCodes.lineFeed) {\n sawNewline = true;\n } else if (ch !== charCodes.space && ch !== charCodes.carriageReturn && ch !== charCodes.tab) {\n sawNonWhitespace = true;\n }\n state.pos++;\n }\n }\n function jsxReadString(quote) {\n state.pos++;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated string constant\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === quote) {\n state.pos++;\n break;\n }\n state.pos++;\n }\n finishToken(TokenType.string);\n }\n function jsxReadWord() {\n let ch;\n do {\n if (state.pos > input.length) {\n unexpected(\"Unexpectedly reached the end of input.\");\n return;\n }\n ch = input.charCodeAt(++state.pos);\n } while (IS_IDENTIFIER_CHAR[ch] || ch === charCodes.dash);\n finishToken(TokenType.jsxName);\n }\n function jsxParseIdentifier() {\n nextJSXTagToken();\n }\n function jsxParseNamespacedName(identifierRole) {\n jsxParseIdentifier();\n if (!eat(TokenType.colon)) {\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n return;\n }\n jsxParseIdentifier();\n }\n function jsxParseElementName() {\n const firstTokenIndex = state.tokens.length;\n jsxParseNamespacedName(IdentifierRole.Access);\n let hadDot = false;\n while (match(TokenType.dot)) {\n hadDot = true;\n nextJSXTagToken();\n jsxParseIdentifier();\n }\n if (!hadDot) {\n const firstToken = state.tokens[firstTokenIndex];\n const firstChar = input.charCodeAt(firstToken.start);\n if (firstChar >= charCodes.lowercaseA && firstChar <= charCodes.lowercaseZ) {\n firstToken.identifierRole = null;\n }\n }\n }\n function jsxParseAttributeValue() {\n switch (state.type) {\n case TokenType.braceL:\n next();\n parseExpression();\n nextJSXTagToken();\n return;\n case TokenType.jsxTagStart:\n jsxParseElement();\n nextJSXTagToken();\n return;\n case TokenType.string:\n nextJSXTagToken();\n return;\n default:\n unexpected(\"JSX value should be either an expression or a quoted JSX text\");\n }\n }\n function jsxParseSpreadChild() {\n expect(TokenType.ellipsis);\n parseExpression();\n }\n function jsxParseOpeningElement(initialTokenIndex) {\n if (match(TokenType.jsxTagEnd)) {\n return false;\n }\n jsxParseElementName();\n if (isTypeScriptEnabled) {\n tsTryParseJSXTypeArgument();\n }\n let hasSeenPropSpread = false;\n while (!match(TokenType.slash) && !match(TokenType.jsxTagEnd) && !state.error) {\n if (eat(TokenType.braceL)) {\n hasSeenPropSpread = true;\n expect(TokenType.ellipsis);\n parseMaybeAssign();\n nextJSXTagToken();\n continue;\n }\n if (hasSeenPropSpread && state.end - state.start === 3 && input.charCodeAt(state.start) === charCodes.lowercaseK && input.charCodeAt(state.start + 1) === charCodes.lowercaseE && input.charCodeAt(state.start + 2) === charCodes.lowercaseY) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.KeyAfterPropSpread;\n }\n jsxParseNamespacedName(IdentifierRole.ObjectKey);\n if (match(TokenType.eq)) {\n nextJSXTagToken();\n jsxParseAttributeValue();\n }\n }\n const isSelfClosing = match(TokenType.slash);\n if (isSelfClosing) {\n nextJSXTagToken();\n }\n return isSelfClosing;\n }\n function jsxParseClosingElement() {\n if (match(TokenType.jsxTagEnd)) {\n return;\n }\n jsxParseElementName();\n }\n function jsxParseElementAt() {\n const initialTokenIndex = state.tokens.length - 1;\n state.tokens[initialTokenIndex].jsxRole = JSXRole.NoChildren;\n let numExplicitChildren = 0;\n const isSelfClosing = jsxParseOpeningElement(initialTokenIndex);\n if (!isSelfClosing) {\n nextJSXExprToken();\n while (true) {\n switch (state.type) {\n case TokenType.jsxTagStart:\n nextJSXTagToken();\n if (match(TokenType.slash)) {\n nextJSXTagToken();\n jsxParseClosingElement();\n if (state.tokens[initialTokenIndex].jsxRole !== JSXRole.KeyAfterPropSpread) {\n if (numExplicitChildren === 1) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.OneChild;\n } else if (numExplicitChildren > 1) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.StaticChildren;\n }\n }\n return;\n }\n numExplicitChildren++;\n jsxParseElementAt();\n nextJSXExprToken();\n break;\n case TokenType.jsxText:\n numExplicitChildren++;\n nextJSXExprToken();\n break;\n case TokenType.jsxEmptyText:\n nextJSXExprToken();\n break;\n case TokenType.braceL:\n next();\n if (match(TokenType.ellipsis)) {\n jsxParseSpreadChild();\n nextJSXExprToken();\n numExplicitChildren += 2;\n } else {\n if (!match(TokenType.braceR)) {\n numExplicitChildren++;\n parseExpression();\n }\n nextJSXExprToken();\n }\n break;\n // istanbul ignore next - should never happen\n default:\n unexpected();\n return;\n }\n }\n }\n }\n function jsxParseElement() {\n nextJSXTagToken();\n jsxParseElementAt();\n }\n function nextJSXTagToken() {\n state.tokens.push(new Token());\n skipSpace();\n state.start = state.pos;\n const code = input.charCodeAt(state.pos);\n if (IS_IDENTIFIER_START[code]) {\n jsxReadWord();\n } else if (code === charCodes.quotationMark || code === charCodes.apostrophe) {\n jsxReadString(code);\n } else {\n ++state.pos;\n switch (code) {\n case charCodes.greaterThan:\n finishToken(TokenType.jsxTagEnd);\n break;\n case charCodes.lessThan:\n finishToken(TokenType.jsxTagStart);\n break;\n case charCodes.slash:\n finishToken(TokenType.slash);\n break;\n case charCodes.equalsTo:\n finishToken(TokenType.eq);\n break;\n case charCodes.leftCurlyBrace:\n finishToken(TokenType.braceL);\n break;\n case charCodes.dot:\n finishToken(TokenType.dot);\n break;\n case charCodes.colon:\n finishToken(TokenType.colon);\n break;\n default:\n unexpected();\n }\n }\n }\n function nextJSXExprToken() {\n state.tokens.push(new Token());\n state.start = state.pos;\n jsxReadToken();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/types.js\n function typedParseConditional(noIn) {\n if (match(TokenType.question)) {\n const nextType = lookaheadType();\n if (nextType === TokenType.colon || nextType === TokenType.comma || nextType === TokenType.parenR) {\n return;\n }\n }\n baseParseConditional(noIn);\n }\n function typedParseParenItem() {\n eatTypeToken(TokenType.question);\n if (match(TokenType.colon)) {\n if (isTypeScriptEnabled) {\n tsParseTypeAnnotation();\n } else if (isFlowEnabled) {\n flowParseTypeAnnotation();\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/expression.js\n var StopState = class {\n constructor(stop) {\n this.stop = stop;\n }\n };\n function parseExpression(noIn = false) {\n parseMaybeAssign(noIn);\n if (match(TokenType.comma)) {\n while (eat(TokenType.comma)) {\n parseMaybeAssign(noIn);\n }\n }\n }\n function parseMaybeAssign(noIn = false, isWithinParens = false) {\n if (isTypeScriptEnabled) {\n return tsParseMaybeAssign(noIn, isWithinParens);\n } else if (isFlowEnabled) {\n return flowParseMaybeAssign(noIn, isWithinParens);\n } else {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n }\n function baseParseMaybeAssign(noIn, isWithinParens) {\n if (match(TokenType._yield)) {\n parseYield();\n return false;\n }\n if (match(TokenType.parenL) || match(TokenType.name) || match(TokenType._yield)) {\n state.potentialArrowAt = state.start;\n }\n const wasArrow = parseMaybeConditional(noIn);\n if (isWithinParens) {\n parseParenItem();\n }\n if (state.type & TokenType.IS_ASSIGN) {\n next();\n parseMaybeAssign(noIn);\n return false;\n }\n return wasArrow;\n }\n function parseMaybeConditional(noIn) {\n const wasArrow = parseExprOps(noIn);\n if (wasArrow) {\n return true;\n }\n parseConditional(noIn);\n return false;\n }\n function parseConditional(noIn) {\n if (isTypeScriptEnabled || isFlowEnabled) {\n typedParseConditional(noIn);\n } else {\n baseParseConditional(noIn);\n }\n }\n function baseParseConditional(noIn) {\n if (eat(TokenType.question)) {\n parseMaybeAssign();\n expect(TokenType.colon);\n parseMaybeAssign(noIn);\n }\n }\n function parseExprOps(noIn) {\n const startTokenIndex = state.tokens.length;\n const wasArrow = parseMaybeUnary();\n if (wasArrow) {\n return true;\n }\n parseExprOp(startTokenIndex, -1, noIn);\n return false;\n }\n function parseExprOp(startTokenIndex, minPrec, noIn) {\n if (isTypeScriptEnabled && (TokenType._in & TokenType.PRECEDENCE_MASK) > minPrec && !hasPrecedingLineBreak() && (eatContextual(ContextualKeyword._as) || eatContextual(ContextualKeyword._satisfies))) {\n const oldIsType = pushTypeContext(1);\n tsParseType();\n popTypeContext(oldIsType);\n rescan_gt();\n parseExprOp(startTokenIndex, minPrec, noIn);\n return;\n }\n const prec = state.type & TokenType.PRECEDENCE_MASK;\n if (prec > 0 && (!noIn || !match(TokenType._in))) {\n if (prec > minPrec) {\n const op = state.type;\n next();\n if (op === TokenType.nullishCoalescing) {\n state.tokens[state.tokens.length - 1].nullishStartIndex = startTokenIndex;\n }\n const rhsStartTokenIndex = state.tokens.length;\n parseMaybeUnary();\n parseExprOp(rhsStartTokenIndex, op & TokenType.IS_RIGHT_ASSOCIATIVE ? prec - 1 : prec, noIn);\n if (op === TokenType.nullishCoalescing) {\n state.tokens[startTokenIndex].numNullishCoalesceStarts++;\n state.tokens[state.tokens.length - 1].numNullishCoalesceEnds++;\n }\n parseExprOp(startTokenIndex, minPrec, noIn);\n }\n }\n }\n function parseMaybeUnary() {\n if (isTypeScriptEnabled && !isJSXEnabled && eat(TokenType.lessThan)) {\n tsParseTypeAssertion();\n return false;\n }\n if (isContextual(ContextualKeyword._module) && lookaheadCharCode() === charCodes.leftCurlyBrace && !hasFollowingLineBreak()) {\n parseModuleExpression();\n return false;\n }\n if (state.type & TokenType.IS_PREFIX) {\n next();\n parseMaybeUnary();\n return false;\n }\n const wasArrow = parseExprSubscripts();\n if (wasArrow) {\n return true;\n }\n while (state.type & TokenType.IS_POSTFIX && !canInsertSemicolon()) {\n if (state.type === TokenType.preIncDec) {\n state.type = TokenType.postIncDec;\n }\n next();\n }\n return false;\n }\n function parseExprSubscripts() {\n const startTokenIndex = state.tokens.length;\n const wasArrow = parseExprAtom();\n if (wasArrow) {\n return true;\n }\n parseSubscripts(startTokenIndex);\n if (state.tokens.length > startTokenIndex && state.tokens[startTokenIndex].isOptionalChainStart) {\n state.tokens[state.tokens.length - 1].isOptionalChainEnd = true;\n }\n return false;\n }\n function parseSubscripts(startTokenIndex, noCalls = false) {\n if (isFlowEnabled) {\n flowParseSubscripts(startTokenIndex, noCalls);\n } else {\n baseParseSubscripts(startTokenIndex, noCalls);\n }\n }\n function baseParseSubscripts(startTokenIndex, noCalls = false) {\n const stopState = new StopState(false);\n do {\n parseSubscript(startTokenIndex, noCalls, stopState);\n } while (!stopState.stop && !state.error);\n }\n function parseSubscript(startTokenIndex, noCalls, stopState) {\n if (isTypeScriptEnabled) {\n tsParseSubscript(startTokenIndex, noCalls, stopState);\n } else if (isFlowEnabled) {\n flowParseSubscript(startTokenIndex, noCalls, stopState);\n } else {\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n }\n function baseParseSubscript(startTokenIndex, noCalls, stopState) {\n if (!noCalls && eat(TokenType.doubleColon)) {\n parseNoCallExpr();\n stopState.stop = true;\n parseSubscripts(startTokenIndex, noCalls);\n } else if (match(TokenType.questionDot)) {\n state.tokens[startTokenIndex].isOptionalChainStart = true;\n if (noCalls && lookaheadType() === TokenType.parenL) {\n stopState.stop = true;\n return;\n }\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n if (eat(TokenType.bracketL)) {\n parseExpression();\n expect(TokenType.bracketR);\n } else if (eat(TokenType.parenL)) {\n parseCallExpressionArguments();\n } else {\n parseMaybePrivateName();\n }\n } else if (eat(TokenType.dot)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseMaybePrivateName();\n } else if (eat(TokenType.bracketL)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseExpression();\n expect(TokenType.bracketR);\n } else if (!noCalls && match(TokenType.parenL)) {\n if (atPossibleAsync()) {\n const snapshot = state.snapshot();\n const asyncStartTokenIndex = state.tokens.length;\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n const callContextId = getNextContextId();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n parseCallExpressionArguments();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n if (shouldParseAsyncArrow()) {\n state.restoreFromSnapshot(snapshot);\n stopState.stop = true;\n state.scopeDepth++;\n parseFunctionParams();\n parseAsyncArrowFromCallExpression(asyncStartTokenIndex);\n }\n } else {\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n const callContextId = getNextContextId();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n parseCallExpressionArguments();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n }\n } else if (match(TokenType.backQuote)) {\n parseTemplate();\n } else {\n stopState.stop = true;\n }\n }\n function atPossibleAsync() {\n return state.tokens[state.tokens.length - 1].contextualKeyword === ContextualKeyword._async && !canInsertSemicolon();\n }\n function parseCallExpressionArguments() {\n let first = true;\n while (!eat(TokenType.parenR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.parenR)) {\n break;\n }\n }\n parseExprListItem(false);\n }\n }\n function shouldParseAsyncArrow() {\n return match(TokenType.colon) || match(TokenType.arrow);\n }\n function parseAsyncArrowFromCallExpression(startTokenIndex) {\n if (isTypeScriptEnabled) {\n tsStartParseAsyncArrowFromCallExpression();\n } else if (isFlowEnabled) {\n flowStartParseAsyncArrowFromCallExpression();\n }\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n }\n function parseNoCallExpr() {\n const startTokenIndex = state.tokens.length;\n parseExprAtom();\n parseSubscripts(startTokenIndex, true);\n }\n function parseExprAtom() {\n if (eat(TokenType.modulo)) {\n parseIdentifier();\n return false;\n }\n if (match(TokenType.jsxText) || match(TokenType.jsxEmptyText)) {\n parseLiteral();\n return false;\n } else if (match(TokenType.lessThan) && isJSXEnabled) {\n state.type = TokenType.jsxTagStart;\n jsxParseElement();\n next();\n return false;\n }\n const canBeArrow = state.potentialArrowAt === state.start;\n switch (state.type) {\n case TokenType.slash:\n case TokenType.assign:\n retokenizeSlashAsRegex();\n // Fall through.\n case TokenType._super:\n case TokenType._this:\n case TokenType.regexp:\n case TokenType.num:\n case TokenType.bigint:\n case TokenType.decimal:\n case TokenType.string:\n case TokenType._null:\n case TokenType._true:\n case TokenType._false:\n next();\n return false;\n case TokenType._import:\n next();\n if (match(TokenType.dot)) {\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n next();\n parseIdentifier();\n }\n return false;\n case TokenType.name: {\n const startTokenIndex = state.tokens.length;\n const functionStart = state.start;\n const contextualKeyword = state.contextualKeyword;\n parseIdentifier();\n if (contextualKeyword === ContextualKeyword._await) {\n parseAwait();\n return false;\n } else if (contextualKeyword === ContextualKeyword._async && match(TokenType._function) && !canInsertSemicolon()) {\n next();\n parseFunction(functionStart, false);\n return false;\n } else if (canBeArrow && contextualKeyword === ContextualKeyword._async && !canInsertSemicolon() && match(TokenType.name)) {\n state.scopeDepth++;\n parseBindingIdentifier(false);\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n return true;\n } else if (match(TokenType._do) && !canInsertSemicolon()) {\n next();\n parseBlock();\n return false;\n }\n if (canBeArrow && !canInsertSemicolon() && match(TokenType.arrow)) {\n state.scopeDepth++;\n markPriorBindingIdentifier(false);\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n return true;\n }\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.Access;\n return false;\n }\n case TokenType._do: {\n next();\n parseBlock();\n return false;\n }\n case TokenType.parenL: {\n const wasArrow = parseParenAndDistinguishExpression(canBeArrow);\n return wasArrow;\n }\n case TokenType.bracketL:\n next();\n parseExprList(TokenType.bracketR, true);\n return false;\n case TokenType.braceL:\n parseObj(false, false);\n return false;\n case TokenType._function:\n parseFunctionExpression();\n return false;\n case TokenType.at:\n parseDecorators();\n // Fall through.\n case TokenType._class:\n parseClass(false);\n return false;\n case TokenType._new:\n parseNew();\n return false;\n case TokenType.backQuote:\n parseTemplate();\n return false;\n case TokenType.doubleColon: {\n next();\n parseNoCallExpr();\n return false;\n }\n case TokenType.hash: {\n const code = lookaheadCharCode();\n if (IS_IDENTIFIER_START[code] || code === charCodes.backslash) {\n parseMaybePrivateName();\n } else {\n next();\n }\n return false;\n }\n default:\n unexpected();\n return false;\n }\n }\n function parseMaybePrivateName() {\n eat(TokenType.hash);\n parseIdentifier();\n }\n function parseFunctionExpression() {\n const functionStart = state.start;\n parseIdentifier();\n if (eat(TokenType.dot)) {\n parseIdentifier();\n }\n parseFunction(functionStart, false);\n }\n function parseLiteral() {\n next();\n }\n function parseParenExpression() {\n expect(TokenType.parenL);\n parseExpression();\n expect(TokenType.parenR);\n }\n function parseParenAndDistinguishExpression(canBeArrow) {\n const snapshot = state.snapshot();\n const startTokenIndex = state.tokens.length;\n expect(TokenType.parenL);\n let first = true;\n while (!match(TokenType.parenR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (match(TokenType.parenR)) {\n break;\n }\n }\n if (match(TokenType.ellipsis)) {\n parseRest(\n false\n /* isBlockScope */\n );\n parseParenItem();\n break;\n } else {\n parseMaybeAssign(false, true);\n }\n }\n expect(TokenType.parenR);\n if (canBeArrow && shouldParseArrow()) {\n const wasArrow = parseArrow();\n if (wasArrow) {\n state.restoreFromSnapshot(snapshot);\n state.scopeDepth++;\n parseFunctionParams();\n parseArrow();\n parseArrowExpression(startTokenIndex);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n parseParenAndDistinguishExpression(false);\n return false;\n }\n return true;\n }\n }\n return false;\n }\n function shouldParseArrow() {\n return match(TokenType.colon) || !canInsertSemicolon();\n }\n function parseArrow() {\n if (isTypeScriptEnabled) {\n return tsParseArrow();\n } else if (isFlowEnabled) {\n return flowParseArrow();\n } else {\n return eat(TokenType.arrow);\n }\n }\n function parseParenItem() {\n if (isTypeScriptEnabled || isFlowEnabled) {\n typedParseParenItem();\n }\n }\n function parseNew() {\n expect(TokenType._new);\n if (eat(TokenType.dot)) {\n parseIdentifier();\n return;\n }\n parseNewCallee();\n if (isFlowEnabled) {\n flowStartParseNewArguments();\n }\n if (eat(TokenType.parenL)) {\n parseExprList(TokenType.parenR);\n }\n }\n function parseNewCallee() {\n parseNoCallExpr();\n eat(TokenType.questionDot);\n }\n function parseTemplate() {\n nextTemplateToken();\n nextTemplateToken();\n while (!match(TokenType.backQuote) && !state.error) {\n expect(TokenType.dollarBraceL);\n parseExpression();\n nextTemplateToken();\n nextTemplateToken();\n }\n next();\n }\n function parseObj(isPattern, isBlockScope) {\n const contextId = getNextContextId();\n let first = true;\n next();\n state.tokens[state.tokens.length - 1].contextId = contextId;\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n let isGenerator = false;\n if (match(TokenType.ellipsis)) {\n const previousIndex = state.tokens.length;\n parseSpread();\n if (isPattern) {\n if (state.tokens.length === previousIndex + 2) {\n markPriorBindingIdentifier(isBlockScope);\n }\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n continue;\n }\n if (!isPattern) {\n isGenerator = eat(TokenType.star);\n }\n if (!isPattern && isContextual(ContextualKeyword._async)) {\n if (isGenerator) unexpected();\n parseIdentifier();\n if (match(TokenType.colon) || match(TokenType.parenL) || match(TokenType.braceR) || match(TokenType.eq) || match(TokenType.comma)) {\n } else {\n if (match(TokenType.star)) {\n next();\n isGenerator = true;\n }\n parsePropertyName(contextId);\n }\n } else {\n parsePropertyName(contextId);\n }\n parseObjPropValue(isPattern, isBlockScope, contextId);\n }\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n function isGetterOrSetterMethod(isPattern) {\n return !isPattern && (match(TokenType.string) || // get \"string\"() {}\n match(TokenType.num) || // get 1() {}\n match(TokenType.bracketL) || // get [\"string\"]() {}\n match(TokenType.name) || // get foo() {}\n !!(state.type & TokenType.IS_KEYWORD));\n }\n function parseObjectMethod(isPattern, objectContextId) {\n const functionStart = state.start;\n if (match(TokenType.parenL)) {\n if (isPattern) unexpected();\n parseMethod(\n functionStart,\n /* isConstructor */\n false\n );\n return true;\n }\n if (isGetterOrSetterMethod(isPattern)) {\n parsePropertyName(objectContextId);\n parseMethod(\n functionStart,\n /* isConstructor */\n false\n );\n return true;\n }\n return false;\n }\n function parseObjectProperty(isPattern, isBlockScope) {\n if (eat(TokenType.colon)) {\n if (isPattern) {\n parseMaybeDefault(isBlockScope);\n } else {\n parseMaybeAssign(false);\n }\n return;\n }\n let identifierRole;\n if (isPattern) {\n if (state.scopeDepth === 0) {\n identifierRole = IdentifierRole.ObjectShorthandTopLevelDeclaration;\n } else if (isBlockScope) {\n identifierRole = IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n } else {\n identifierRole = IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n } else {\n identifierRole = IdentifierRole.ObjectShorthand;\n }\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n parseMaybeDefault(isBlockScope, true);\n }\n function parseObjPropValue(isPattern, isBlockScope, objectContextId) {\n if (isTypeScriptEnabled) {\n tsStartParseObjPropValue();\n } else if (isFlowEnabled) {\n flowStartParseObjPropValue();\n }\n const wasMethod = parseObjectMethod(isPattern, objectContextId);\n if (!wasMethod) {\n parseObjectProperty(isPattern, isBlockScope);\n }\n }\n function parsePropertyName(objectContextId) {\n if (isFlowEnabled) {\n flowParseVariance();\n }\n if (eat(TokenType.bracketL)) {\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n parseMaybeAssign();\n expect(TokenType.bracketR);\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n } else {\n if (match(TokenType.num) || match(TokenType.string) || match(TokenType.bigint) || match(TokenType.decimal)) {\n parseExprAtom();\n } else {\n parseMaybePrivateName();\n }\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ObjectKey;\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n }\n }\n function parseMethod(functionStart, isConstructor) {\n const funcContextId = getNextContextId();\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n const allowModifiers = isConstructor;\n parseFunctionParams(allowModifiers, funcContextId);\n parseFunctionBodyAndFinish(functionStart, funcContextId);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n function parseArrowExpression(startTokenIndex) {\n parseFunctionBody(true);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n function parseFunctionBodyAndFinish(functionStart, funcContextId = 0) {\n if (isTypeScriptEnabled) {\n tsParseFunctionBodyAndFinish(functionStart, funcContextId);\n } else if (isFlowEnabled) {\n flowParseFunctionBodyAndFinish(funcContextId);\n } else {\n parseFunctionBody(false, funcContextId);\n }\n }\n function parseFunctionBody(allowExpression, funcContextId = 0) {\n const isExpression = allowExpression && !match(TokenType.braceL);\n if (isExpression) {\n parseMaybeAssign();\n } else {\n parseBlock(true, funcContextId);\n }\n }\n function parseExprList(close, allowEmpty = false) {\n let first = true;\n while (!eat(close) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(close)) break;\n }\n parseExprListItem(allowEmpty);\n }\n }\n function parseExprListItem(allowEmpty) {\n if (allowEmpty && match(TokenType.comma)) {\n } else if (match(TokenType.ellipsis)) {\n parseSpread();\n parseParenItem();\n } else if (match(TokenType.question)) {\n next();\n } else {\n parseMaybeAssign(false, true);\n }\n }\n function parseIdentifier() {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n }\n function parseAwait() {\n parseMaybeUnary();\n }\n function parseYield() {\n next();\n if (!match(TokenType.semi) && !canInsertSemicolon()) {\n eat(TokenType.star);\n parseMaybeAssign();\n }\n }\n function parseModuleExpression() {\n expectContextual(ContextualKeyword._module);\n expect(TokenType.braceL);\n parseBlockBody(TokenType.braceR);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/flow.js\n function isMaybeDefaultImport(lookahead) {\n return (lookahead.type === TokenType.name || !!(lookahead.type & TokenType.IS_KEYWORD)) && lookahead.contextualKeyword !== ContextualKeyword._from;\n }\n function flowParseTypeInitialiser(tok) {\n const oldIsType = pushTypeContext(0);\n expect(tok || TokenType.colon);\n flowParseType();\n popTypeContext(oldIsType);\n }\n function flowParsePredicate() {\n expect(TokenType.modulo);\n expectContextual(ContextualKeyword._checks);\n if (eat(TokenType.parenL)) {\n parseExpression();\n expect(TokenType.parenR);\n }\n }\n function flowParseTypeAndPredicateInitialiser() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.colon);\n if (match(TokenType.modulo)) {\n flowParsePredicate();\n } else {\n flowParseType();\n if (match(TokenType.modulo)) {\n flowParsePredicate();\n }\n }\n popTypeContext(oldIsType);\n }\n function flowParseDeclareClass() {\n next();\n flowParseInterfaceish(\n /* isClass */\n true\n );\n }\n function flowParseDeclareFunction() {\n next();\n parseIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n expect(TokenType.parenL);\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n flowParseTypeAndPredicateInitialiser();\n semicolon();\n }\n function flowParseDeclare() {\n if (match(TokenType._class)) {\n flowParseDeclareClass();\n } else if (match(TokenType._function)) {\n flowParseDeclareFunction();\n } else if (match(TokenType._var)) {\n flowParseDeclareVariable();\n } else if (eatContextual(ContextualKeyword._module)) {\n if (eat(TokenType.dot)) {\n flowParseDeclareModuleExports();\n } else {\n flowParseDeclareModule();\n }\n } else if (isContextual(ContextualKeyword._type)) {\n flowParseDeclareTypeAlias();\n } else if (isContextual(ContextualKeyword._opaque)) {\n flowParseDeclareOpaqueType();\n } else if (isContextual(ContextualKeyword._interface)) {\n flowParseDeclareInterface();\n } else if (match(TokenType._export)) {\n flowParseDeclareExportDeclaration();\n } else {\n unexpected();\n }\n }\n function flowParseDeclareVariable() {\n next();\n flowParseTypeAnnotatableIdentifier();\n semicolon();\n }\n function flowParseDeclareModule() {\n if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseIdentifier();\n }\n expect(TokenType.braceL);\n while (!match(TokenType.braceR) && !state.error) {\n if (match(TokenType._import)) {\n next();\n parseImport();\n } else {\n unexpected();\n }\n }\n expect(TokenType.braceR);\n }\n function flowParseDeclareExportDeclaration() {\n expect(TokenType._export);\n if (eat(TokenType._default)) {\n if (match(TokenType._function) || match(TokenType._class)) {\n flowParseDeclare();\n } else {\n flowParseType();\n semicolon();\n }\n } else if (match(TokenType._var) || // declare export var ...\n match(TokenType._function) || // declare export function ...\n match(TokenType._class) || // declare export class ...\n isContextual(ContextualKeyword._opaque)) {\n flowParseDeclare();\n } else if (match(TokenType.star) || // declare export * from ''\n match(TokenType.braceL) || // declare export {} ...\n isContextual(ContextualKeyword._interface) || // declare export interface ...\n isContextual(ContextualKeyword._type) || // declare export type ...\n isContextual(ContextualKeyword._opaque)) {\n parseExport();\n } else {\n unexpected();\n }\n }\n function flowParseDeclareModuleExports() {\n expectContextual(ContextualKeyword._exports);\n flowParseTypeAnnotation();\n semicolon();\n }\n function flowParseDeclareTypeAlias() {\n next();\n flowParseTypeAlias();\n }\n function flowParseDeclareOpaqueType() {\n next();\n flowParseOpaqueType(true);\n }\n function flowParseDeclareInterface() {\n next();\n flowParseInterfaceish();\n }\n function flowParseInterfaceish(isClass = false) {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n if (eat(TokenType._extends)) {\n do {\n flowParseInterfaceExtends();\n } while (!isClass && eat(TokenType.comma));\n }\n if (isContextual(ContextualKeyword._mixins)) {\n next();\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n if (isContextual(ContextualKeyword._implements)) {\n next();\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n flowParseObjectType(isClass, false, isClass);\n }\n function flowParseInterfaceExtends() {\n flowParseQualifiedTypeIdentifier(false);\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n }\n function flowParseInterface() {\n flowParseInterfaceish();\n }\n function flowParseRestrictedIdentifier() {\n parseIdentifier();\n }\n function flowParseTypeAlias() {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n flowParseTypeInitialiser(TokenType.eq);\n semicolon();\n }\n function flowParseOpaqueType(declare) {\n expectContextual(ContextualKeyword._type);\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n if (match(TokenType.colon)) {\n flowParseTypeInitialiser(TokenType.colon);\n }\n if (!declare) {\n flowParseTypeInitialiser(TokenType.eq);\n }\n semicolon();\n }\n function flowParseTypeParameter() {\n flowParseVariance();\n flowParseTypeAnnotatableIdentifier();\n if (eat(TokenType.eq)) {\n flowParseType();\n }\n }\n function flowParseTypeParameterDeclaration() {\n const oldIsType = pushTypeContext(0);\n if (match(TokenType.lessThan) || match(TokenType.typeParameterStart)) {\n next();\n } else {\n unexpected();\n }\n do {\n flowParseTypeParameter();\n if (!match(TokenType.greaterThan)) {\n expect(TokenType.comma);\n }\n } while (!match(TokenType.greaterThan) && !state.error);\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n function flowParseTypeParameterInstantiation() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.lessThan);\n while (!match(TokenType.greaterThan) && !state.error) {\n flowParseType();\n if (!match(TokenType.greaterThan)) {\n expect(TokenType.comma);\n }\n }\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n function flowParseInterfaceType() {\n expectContextual(ContextualKeyword._interface);\n if (eat(TokenType._extends)) {\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n flowParseObjectType(false, false, false);\n }\n function flowParseObjectPropertyKey() {\n if (match(TokenType.num) || match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseIdentifier();\n }\n }\n function flowParseObjectTypeIndexer() {\n if (lookaheadType() === TokenType.colon) {\n flowParseObjectPropertyKey();\n flowParseTypeInitialiser();\n } else {\n flowParseType();\n }\n expect(TokenType.bracketR);\n flowParseTypeInitialiser();\n }\n function flowParseObjectTypeInternalSlot() {\n flowParseObjectPropertyKey();\n expect(TokenType.bracketR);\n expect(TokenType.bracketR);\n if (match(TokenType.lessThan) || match(TokenType.parenL)) {\n flowParseObjectTypeMethodish();\n } else {\n eat(TokenType.question);\n flowParseTypeInitialiser();\n }\n }\n function flowParseObjectTypeMethodish() {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n expect(TokenType.parenL);\n while (!match(TokenType.parenR) && !match(TokenType.ellipsis) && !state.error) {\n flowParseFunctionTypeParam();\n if (!match(TokenType.parenR)) {\n expect(TokenType.comma);\n }\n }\n if (eat(TokenType.ellipsis)) {\n flowParseFunctionTypeParam();\n }\n expect(TokenType.parenR);\n flowParseTypeInitialiser();\n }\n function flowParseObjectTypeCallProperty() {\n flowParseObjectTypeMethodish();\n }\n function flowParseObjectType(allowStatic, allowExact, allowProto) {\n let endDelim;\n if (allowExact && match(TokenType.braceBarL)) {\n expect(TokenType.braceBarL);\n endDelim = TokenType.braceBarR;\n } else {\n expect(TokenType.braceL);\n endDelim = TokenType.braceR;\n }\n while (!match(endDelim) && !state.error) {\n if (allowProto && isContextual(ContextualKeyword._proto)) {\n const lookahead = lookaheadType();\n if (lookahead !== TokenType.colon && lookahead !== TokenType.question) {\n next();\n allowStatic = false;\n }\n }\n if (allowStatic && isContextual(ContextualKeyword._static)) {\n const lookahead = lookaheadType();\n if (lookahead !== TokenType.colon && lookahead !== TokenType.question) {\n next();\n }\n }\n flowParseVariance();\n if (eat(TokenType.bracketL)) {\n if (eat(TokenType.bracketL)) {\n flowParseObjectTypeInternalSlot();\n } else {\n flowParseObjectTypeIndexer();\n }\n } else if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n flowParseObjectTypeCallProperty();\n } else {\n if (isContextual(ContextualKeyword._get) || isContextual(ContextualKeyword._set)) {\n const lookahead = lookaheadType();\n if (lookahead === TokenType.name || lookahead === TokenType.string || lookahead === TokenType.num) {\n next();\n }\n }\n flowParseObjectTypeProperty();\n }\n flowObjectTypeSemicolon();\n }\n expect(endDelim);\n }\n function flowParseObjectTypeProperty() {\n if (match(TokenType.ellipsis)) {\n expect(TokenType.ellipsis);\n if (!eat(TokenType.comma)) {\n eat(TokenType.semi);\n }\n if (match(TokenType.braceR)) {\n return;\n }\n flowParseType();\n } else {\n flowParseObjectPropertyKey();\n if (match(TokenType.lessThan) || match(TokenType.parenL)) {\n flowParseObjectTypeMethodish();\n } else {\n eat(TokenType.question);\n flowParseTypeInitialiser();\n }\n }\n }\n function flowObjectTypeSemicolon() {\n if (!eat(TokenType.semi) && !eat(TokenType.comma) && !match(TokenType.braceR) && !match(TokenType.braceBarR)) {\n unexpected();\n }\n }\n function flowParseQualifiedTypeIdentifier(initialIdAlreadyParsed) {\n if (!initialIdAlreadyParsed) {\n parseIdentifier();\n }\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n }\n function flowParseGenericType() {\n flowParseQualifiedTypeIdentifier(true);\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n }\n function flowParseTypeofType() {\n expect(TokenType._typeof);\n flowParsePrimaryType();\n }\n function flowParseTupleType() {\n expect(TokenType.bracketL);\n while (state.pos < input.length && !match(TokenType.bracketR)) {\n flowParseType();\n if (match(TokenType.bracketR)) {\n break;\n }\n expect(TokenType.comma);\n }\n expect(TokenType.bracketR);\n }\n function flowParseFunctionTypeParam() {\n const lookahead = lookaheadType();\n if (lookahead === TokenType.colon || lookahead === TokenType.question) {\n parseIdentifier();\n eat(TokenType.question);\n flowParseTypeInitialiser();\n } else {\n flowParseType();\n }\n }\n function flowParseFunctionTypeParams() {\n while (!match(TokenType.parenR) && !match(TokenType.ellipsis) && !state.error) {\n flowParseFunctionTypeParam();\n if (!match(TokenType.parenR)) {\n expect(TokenType.comma);\n }\n }\n if (eat(TokenType.ellipsis)) {\n flowParseFunctionTypeParam();\n }\n }\n function flowParsePrimaryType() {\n let isGroupedType = false;\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n switch (state.type) {\n case TokenType.name: {\n if (isContextual(ContextualKeyword._interface)) {\n flowParseInterfaceType();\n return;\n }\n parseIdentifier();\n flowParseGenericType();\n return;\n }\n case TokenType.braceL:\n flowParseObjectType(false, false, false);\n return;\n case TokenType.braceBarL:\n flowParseObjectType(false, true, false);\n return;\n case TokenType.bracketL:\n flowParseTupleType();\n return;\n case TokenType.lessThan:\n flowParseTypeParameterDeclaration();\n expect(TokenType.parenL);\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n expect(TokenType.arrow);\n flowParseType();\n return;\n case TokenType.parenL:\n next();\n if (!match(TokenType.parenR) && !match(TokenType.ellipsis)) {\n if (match(TokenType.name)) {\n const token = lookaheadType();\n isGroupedType = token !== TokenType.question && token !== TokenType.colon;\n } else {\n isGroupedType = true;\n }\n }\n if (isGroupedType) {\n state.noAnonFunctionType = false;\n flowParseType();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n if (state.noAnonFunctionType || !(match(TokenType.comma) || match(TokenType.parenR) && lookaheadType() === TokenType.arrow)) {\n expect(TokenType.parenR);\n return;\n } else {\n eat(TokenType.comma);\n }\n }\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n expect(TokenType.arrow);\n flowParseType();\n return;\n case TokenType.minus:\n next();\n parseLiteral();\n return;\n case TokenType.string:\n case TokenType.num:\n case TokenType._true:\n case TokenType._false:\n case TokenType._null:\n case TokenType._this:\n case TokenType._void:\n case TokenType.star:\n next();\n return;\n default:\n if (state.type === TokenType._typeof) {\n flowParseTypeofType();\n return;\n } else if (state.type & TokenType.IS_KEYWORD) {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n return;\n }\n }\n unexpected();\n }\n function flowParsePostfixType() {\n flowParsePrimaryType();\n while (!canInsertSemicolon() && (match(TokenType.bracketL) || match(TokenType.questionDot))) {\n eat(TokenType.questionDot);\n expect(TokenType.bracketL);\n if (eat(TokenType.bracketR)) {\n } else {\n flowParseType();\n expect(TokenType.bracketR);\n }\n }\n }\n function flowParsePrefixType() {\n if (eat(TokenType.question)) {\n flowParsePrefixType();\n } else {\n flowParsePostfixType();\n }\n }\n function flowParseAnonFunctionWithoutParens() {\n flowParsePrefixType();\n if (!state.noAnonFunctionType && eat(TokenType.arrow)) {\n flowParseType();\n }\n }\n function flowParseIntersectionType() {\n eat(TokenType.bitwiseAND);\n flowParseAnonFunctionWithoutParens();\n while (eat(TokenType.bitwiseAND)) {\n flowParseAnonFunctionWithoutParens();\n }\n }\n function flowParseUnionType() {\n eat(TokenType.bitwiseOR);\n flowParseIntersectionType();\n while (eat(TokenType.bitwiseOR)) {\n flowParseIntersectionType();\n }\n }\n function flowParseType() {\n flowParseUnionType();\n }\n function flowParseTypeAnnotation() {\n flowParseTypeInitialiser();\n }\n function flowParseTypeAnnotatableIdentifier() {\n parseIdentifier();\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n function flowParseVariance() {\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n state.tokens[state.tokens.length - 1].isType = true;\n }\n }\n function flowParseFunctionBodyAndFinish(funcContextId) {\n if (match(TokenType.colon)) {\n flowParseTypeAndPredicateInitialiser();\n }\n parseFunctionBody(false, funcContextId);\n }\n function flowParseSubscript(startTokenIndex, noCalls, stopState) {\n if (match(TokenType.questionDot) && lookaheadType() === TokenType.lessThan) {\n if (noCalls) {\n stopState.stop = true;\n return;\n }\n next();\n flowParseTypeParameterInstantiation();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n return;\n } else if (!noCalls && match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n flowParseTypeParameterInstantiation();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return;\n }\n }\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n function flowStartParseNewArguments() {\n if (match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n flowParseTypeParameterInstantiation();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n }\n function flowTryParseStatement() {\n if (match(TokenType.name) && state.contextualKeyword === ContextualKeyword._interface) {\n const oldIsType = pushTypeContext(0);\n next();\n flowParseInterface();\n popTypeContext(oldIsType);\n return true;\n } else if (isContextual(ContextualKeyword._enum)) {\n flowParseEnumDeclaration();\n return true;\n }\n return false;\n }\n function flowTryParseExportDefaultExpression() {\n if (isContextual(ContextualKeyword._enum)) {\n flowParseEnumDeclaration();\n return true;\n }\n return false;\n }\n function flowParseIdentifierStatement(contextualKeyword) {\n if (contextualKeyword === ContextualKeyword._declare) {\n if (match(TokenType._class) || match(TokenType.name) || match(TokenType._function) || match(TokenType._var) || match(TokenType._export)) {\n const oldIsType = pushTypeContext(1);\n flowParseDeclare();\n popTypeContext(oldIsType);\n }\n } else if (match(TokenType.name)) {\n if (contextualKeyword === ContextualKeyword._interface) {\n const oldIsType = pushTypeContext(1);\n flowParseInterface();\n popTypeContext(oldIsType);\n } else if (contextualKeyword === ContextualKeyword._type) {\n const oldIsType = pushTypeContext(1);\n flowParseTypeAlias();\n popTypeContext(oldIsType);\n } else if (contextualKeyword === ContextualKeyword._opaque) {\n const oldIsType = pushTypeContext(1);\n flowParseOpaqueType(false);\n popTypeContext(oldIsType);\n }\n }\n semicolon();\n }\n function flowShouldParseExportDeclaration() {\n return isContextual(ContextualKeyword._type) || isContextual(ContextualKeyword._interface) || isContextual(ContextualKeyword._opaque) || isContextual(ContextualKeyword._enum);\n }\n function flowShouldDisallowExportDefaultSpecifier() {\n return match(TokenType.name) && (state.contextualKeyword === ContextualKeyword._type || state.contextualKeyword === ContextualKeyword._interface || state.contextualKeyword === ContextualKeyword._opaque || state.contextualKeyword === ContextualKeyword._enum);\n }\n function flowParseExportDeclaration() {\n if (isContextual(ContextualKeyword._type)) {\n const oldIsType = pushTypeContext(1);\n next();\n if (match(TokenType.braceL)) {\n parseExportSpecifiers();\n parseExportFrom();\n } else {\n flowParseTypeAlias();\n }\n popTypeContext(oldIsType);\n } else if (isContextual(ContextualKeyword._opaque)) {\n const oldIsType = pushTypeContext(1);\n next();\n flowParseOpaqueType(false);\n popTypeContext(oldIsType);\n } else if (isContextual(ContextualKeyword._interface)) {\n const oldIsType = pushTypeContext(1);\n next();\n flowParseInterface();\n popTypeContext(oldIsType);\n } else {\n parseStatement(true);\n }\n }\n function flowShouldParseExportStar() {\n return match(TokenType.star) || isContextual(ContextualKeyword._type) && lookaheadType() === TokenType.star;\n }\n function flowParseExportStar() {\n if (eatContextual(ContextualKeyword._type)) {\n const oldIsType = pushTypeContext(2);\n baseParseExportStar();\n popTypeContext(oldIsType);\n } else {\n baseParseExportStar();\n }\n }\n function flowAfterParseClassSuper(hasSuper) {\n if (hasSuper && match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n if (isContextual(ContextualKeyword._implements)) {\n const oldIsType = pushTypeContext(0);\n next();\n state.tokens[state.tokens.length - 1].type = TokenType._implements;\n do {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n } while (eat(TokenType.comma));\n popTypeContext(oldIsType);\n }\n }\n function flowStartParseObjPropValue() {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n if (!match(TokenType.parenL)) unexpected();\n }\n }\n function flowParseAssignableListItemTypes() {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n popTypeContext(oldIsType);\n }\n function flowStartParseImportSpecifiers() {\n if (match(TokenType._typeof) || isContextual(ContextualKeyword._type)) {\n const lh = lookaheadTypeAndKeyword();\n if (isMaybeDefaultImport(lh) || lh.type === TokenType.braceL || lh.type === TokenType.star) {\n next();\n }\n }\n }\n function flowParseImportSpecifier() {\n const isTypeKeyword = state.contextualKeyword === ContextualKeyword._type || state.type === TokenType._typeof;\n if (isTypeKeyword) {\n next();\n } else {\n parseIdentifier();\n }\n if (isContextual(ContextualKeyword._as) && !isLookaheadContextual(ContextualKeyword._as)) {\n parseIdentifier();\n if (isTypeKeyword && !match(TokenType.name) && !(state.type & TokenType.IS_KEYWORD)) {\n } else {\n parseIdentifier();\n }\n } else {\n if (isTypeKeyword && (match(TokenType.name) || !!(state.type & TokenType.IS_KEYWORD))) {\n parseIdentifier();\n }\n if (eatContextual(ContextualKeyword._as)) {\n parseIdentifier();\n }\n }\n }\n function flowStartParseFunctionParams() {\n if (match(TokenType.lessThan)) {\n const oldIsType = pushTypeContext(0);\n flowParseTypeParameterDeclaration();\n popTypeContext(oldIsType);\n }\n }\n function flowAfterParseVarHead() {\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n function flowStartParseAsyncArrowFromCallExpression() {\n if (match(TokenType.colon)) {\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n state.noAnonFunctionType = true;\n flowParseTypeAnnotation();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n }\n }\n function flowParseMaybeAssign(noIn, isWithinParens) {\n if (match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n let wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n state.type = TokenType.typeParameterStart;\n } else {\n return wasArrow;\n }\n const oldIsType = pushTypeContext(0);\n flowParseTypeParameterDeclaration();\n popTypeContext(oldIsType);\n wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (wasArrow) {\n return true;\n }\n unexpected();\n }\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n function flowParseArrow() {\n if (match(TokenType.colon)) {\n const oldIsType = pushTypeContext(0);\n const snapshot = state.snapshot();\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n state.noAnonFunctionType = true;\n flowParseTypeAndPredicateInitialiser();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n if (canInsertSemicolon()) unexpected();\n if (!match(TokenType.arrow)) unexpected();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n popTypeContext(oldIsType);\n }\n return eat(TokenType.arrow);\n }\n function flowParseSubscripts(startTokenIndex, noCalls = false) {\n if (state.tokens[state.tokens.length - 1].contextualKeyword === ContextualKeyword._async && match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n const wasArrow = parseAsyncArrowWithTypeParameters();\n if (wasArrow && !state.error) {\n return;\n }\n state.restoreFromSnapshot(snapshot);\n }\n baseParseSubscripts(startTokenIndex, noCalls);\n }\n function parseAsyncArrowWithTypeParameters() {\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n parseFunctionParams();\n if (!parseArrow()) {\n return false;\n }\n parseArrowExpression(startTokenIndex);\n return true;\n }\n function flowParseEnumDeclaration() {\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n parseIdentifier();\n flowParseEnumBody();\n }\n function flowParseEnumBody() {\n if (eatContextual(ContextualKeyword._of)) {\n next();\n }\n expect(TokenType.braceL);\n flowParseEnumMembers();\n expect(TokenType.braceR);\n }\n function flowParseEnumMembers() {\n while (!match(TokenType.braceR) && !state.error) {\n if (eat(TokenType.ellipsis)) {\n break;\n }\n flowParseEnumMember();\n if (!match(TokenType.braceR)) {\n expect(TokenType.comma);\n }\n }\n }\n function flowParseEnumMember() {\n parseIdentifier();\n if (eat(TokenType.eq)) {\n next();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/statement.js\n function parseTopLevel() {\n parseBlockBody(TokenType.eof);\n state.scopes.push(new Scope(0, state.tokens.length, true));\n if (state.scopeDepth !== 0) {\n throw new Error(`Invalid scope depth at end of file: ${state.scopeDepth}`);\n }\n return new File2(state.tokens, state.scopes);\n }\n function parseStatement(declaration) {\n if (isFlowEnabled) {\n if (flowTryParseStatement()) {\n return;\n }\n }\n if (match(TokenType.at)) {\n parseDecorators();\n }\n parseStatementContent(declaration);\n }\n function parseStatementContent(declaration) {\n if (isTypeScriptEnabled) {\n if (tsTryParseStatementContent()) {\n return;\n }\n }\n const starttype = state.type;\n switch (starttype) {\n case TokenType._break:\n case TokenType._continue:\n parseBreakContinueStatement();\n return;\n case TokenType._debugger:\n parseDebuggerStatement();\n return;\n case TokenType._do:\n parseDoStatement();\n return;\n case TokenType._for:\n parseForStatement();\n return;\n case TokenType._function:\n if (lookaheadType() === TokenType.dot) break;\n if (!declaration) unexpected();\n parseFunctionStatement();\n return;\n case TokenType._class:\n if (!declaration) unexpected();\n parseClass(true);\n return;\n case TokenType._if:\n parseIfStatement();\n return;\n case TokenType._return:\n parseReturnStatement();\n return;\n case TokenType._switch:\n parseSwitchStatement();\n return;\n case TokenType._throw:\n parseThrowStatement();\n return;\n case TokenType._try:\n parseTryStatement();\n return;\n case TokenType._let:\n case TokenType._const:\n if (!declaration) unexpected();\n // NOTE: falls through to _var\n case TokenType._var:\n parseVarStatement(starttype !== TokenType._var);\n return;\n case TokenType._while:\n parseWhileStatement();\n return;\n case TokenType.braceL:\n parseBlock();\n return;\n case TokenType.semi:\n parseEmptyStatement();\n return;\n case TokenType._export:\n case TokenType._import: {\n const nextType = lookaheadType();\n if (nextType === TokenType.parenL || nextType === TokenType.dot) {\n break;\n }\n next();\n if (starttype === TokenType._import) {\n parseImport();\n } else {\n parseExport();\n }\n return;\n }\n case TokenType.name:\n if (state.contextualKeyword === ContextualKeyword._async) {\n const functionStart = state.start;\n const snapshot = state.snapshot();\n next();\n if (match(TokenType._function) && !canInsertSemicolon()) {\n expect(TokenType._function);\n parseFunction(functionStart, true);\n return;\n } else {\n state.restoreFromSnapshot(snapshot);\n }\n } else if (state.contextualKeyword === ContextualKeyword._using && !hasFollowingLineBreak() && // Statements like `using[0]` and `using in foo` aren't actual using\n // declarations.\n lookaheadType() === TokenType.name) {\n parseVarStatement(true);\n return;\n } else if (startsAwaitUsing()) {\n expectContextual(ContextualKeyword._await);\n parseVarStatement(true);\n return;\n }\n default:\n break;\n }\n const initialTokensLength = state.tokens.length;\n parseExpression();\n let simpleName = null;\n if (state.tokens.length === initialTokensLength + 1) {\n const token = state.tokens[state.tokens.length - 1];\n if (token.type === TokenType.name) {\n simpleName = token.contextualKeyword;\n }\n }\n if (simpleName == null) {\n semicolon();\n return;\n }\n if (eat(TokenType.colon)) {\n parseLabeledStatement();\n } else {\n parseIdentifierStatement(simpleName);\n }\n }\n function startsAwaitUsing() {\n if (!isContextual(ContextualKeyword._await)) {\n return false;\n }\n const snapshot = state.snapshot();\n next();\n if (!isContextual(ContextualKeyword._using) || hasPrecedingLineBreak()) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n next();\n if (!match(TokenType.name) || hasPrecedingLineBreak()) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n state.restoreFromSnapshot(snapshot);\n return true;\n }\n function parseDecorators() {\n while (match(TokenType.at)) {\n parseDecorator();\n }\n }\n function parseDecorator() {\n next();\n if (eat(TokenType.parenL)) {\n parseExpression();\n expect(TokenType.parenR);\n } else {\n parseIdentifier();\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n parseMaybeDecoratorArguments();\n }\n }\n function parseMaybeDecoratorArguments() {\n if (isTypeScriptEnabled) {\n tsParseMaybeDecoratorArguments();\n } else {\n baseParseMaybeDecoratorArguments();\n }\n }\n function baseParseMaybeDecoratorArguments() {\n if (eat(TokenType.parenL)) {\n parseCallExpressionArguments();\n }\n }\n function parseBreakContinueStatement() {\n next();\n if (!isLineTerminator()) {\n parseIdentifier();\n semicolon();\n }\n }\n function parseDebuggerStatement() {\n next();\n semicolon();\n }\n function parseDoStatement() {\n next();\n parseStatement(false);\n expect(TokenType._while);\n parseParenExpression();\n eat(TokenType.semi);\n }\n function parseForStatement() {\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n parseAmbiguousForStatement();\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n function isUsingInLoop() {\n if (!isContextual(ContextualKeyword._using)) {\n return false;\n }\n if (isLookaheadContextual(ContextualKeyword._of)) {\n return false;\n }\n return true;\n }\n function parseAmbiguousForStatement() {\n next();\n let forAwait = false;\n if (isContextual(ContextualKeyword._await)) {\n forAwait = true;\n next();\n }\n expect(TokenType.parenL);\n if (match(TokenType.semi)) {\n if (forAwait) {\n unexpected();\n }\n parseFor();\n return;\n }\n const isAwaitUsing = startsAwaitUsing();\n if (isAwaitUsing || match(TokenType._var) || match(TokenType._let) || match(TokenType._const) || isUsingInLoop()) {\n if (isAwaitUsing) {\n expectContextual(ContextualKeyword._await);\n }\n next();\n parseVar(true, state.type !== TokenType._var);\n if (match(TokenType._in) || isContextual(ContextualKeyword._of)) {\n parseForIn(forAwait);\n return;\n }\n parseFor();\n return;\n }\n parseExpression(true);\n if (match(TokenType._in) || isContextual(ContextualKeyword._of)) {\n parseForIn(forAwait);\n return;\n }\n if (forAwait) {\n unexpected();\n }\n parseFor();\n }\n function parseFunctionStatement() {\n const functionStart = state.start;\n next();\n parseFunction(functionStart, true);\n }\n function parseIfStatement() {\n next();\n parseParenExpression();\n parseStatement(false);\n if (eat(TokenType._else)) {\n parseStatement(false);\n }\n }\n function parseReturnStatement() {\n next();\n if (!isLineTerminator()) {\n parseExpression();\n semicolon();\n }\n }\n function parseSwitchStatement() {\n next();\n parseParenExpression();\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n expect(TokenType.braceL);\n while (!match(TokenType.braceR) && !state.error) {\n if (match(TokenType._case) || match(TokenType._default)) {\n const isCase = match(TokenType._case);\n next();\n if (isCase) {\n parseExpression();\n }\n expect(TokenType.colon);\n } else {\n parseStatement(true);\n }\n }\n next();\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n function parseThrowStatement() {\n next();\n parseExpression();\n semicolon();\n }\n function parseCatchClauseParam() {\n parseBindingAtom(\n true\n /* isBlockScope */\n );\n if (isTypeScriptEnabled) {\n tsTryParseTypeAnnotation();\n }\n }\n function parseTryStatement() {\n next();\n parseBlock();\n if (match(TokenType._catch)) {\n next();\n let catchBindingStartTokenIndex = null;\n if (match(TokenType.parenL)) {\n state.scopeDepth++;\n catchBindingStartTokenIndex = state.tokens.length;\n expect(TokenType.parenL);\n parseCatchClauseParam();\n expect(TokenType.parenR);\n }\n parseBlock();\n if (catchBindingStartTokenIndex != null) {\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(catchBindingStartTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n }\n if (eat(TokenType._finally)) {\n parseBlock();\n }\n }\n function parseVarStatement(isBlockScope) {\n next();\n parseVar(false, isBlockScope);\n semicolon();\n }\n function parseWhileStatement() {\n next();\n parseParenExpression();\n parseStatement(false);\n }\n function parseEmptyStatement() {\n next();\n }\n function parseLabeledStatement() {\n parseStatement(true);\n }\n function parseIdentifierStatement(contextualKeyword) {\n if (isTypeScriptEnabled) {\n tsParseIdentifierStatement(contextualKeyword);\n } else if (isFlowEnabled) {\n flowParseIdentifierStatement(contextualKeyword);\n } else {\n semicolon();\n }\n }\n function parseBlock(isFunctionScope = false, contextId = 0) {\n const startTokenIndex = state.tokens.length;\n state.scopeDepth++;\n expect(TokenType.braceL);\n if (contextId) {\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n parseBlockBody(TokenType.braceR);\n if (contextId) {\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, isFunctionScope));\n state.scopeDepth--;\n }\n function parseBlockBody(end) {\n while (!eat(end) && !state.error) {\n parseStatement(true);\n }\n }\n function parseFor() {\n expect(TokenType.semi);\n if (!match(TokenType.semi)) {\n parseExpression();\n }\n expect(TokenType.semi);\n if (!match(TokenType.parenR)) {\n parseExpression();\n }\n expect(TokenType.parenR);\n parseStatement(false);\n }\n function parseForIn(forAwait) {\n if (forAwait) {\n eatContextual(ContextualKeyword._of);\n } else {\n next();\n }\n parseExpression();\n expect(TokenType.parenR);\n parseStatement(false);\n }\n function parseVar(isFor, isBlockScope) {\n while (true) {\n parseVarHead(isBlockScope);\n if (eat(TokenType.eq)) {\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign(isFor);\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n if (!eat(TokenType.comma)) {\n break;\n }\n }\n }\n function parseVarHead(isBlockScope) {\n parseBindingAtom(isBlockScope);\n if (isTypeScriptEnabled) {\n tsAfterParseVarHead();\n } else if (isFlowEnabled) {\n flowAfterParseVarHead();\n }\n }\n function parseFunction(functionStart, isStatement, optionalId = false) {\n if (match(TokenType.star)) {\n next();\n }\n if (isStatement && !optionalId && !match(TokenType.name) && !match(TokenType._yield)) {\n unexpected();\n }\n let nameScopeStartTokenIndex = null;\n if (match(TokenType.name)) {\n if (!isStatement) {\n nameScopeStartTokenIndex = state.tokens.length;\n state.scopeDepth++;\n }\n parseBindingIdentifier(false);\n }\n const startTokenIndex = state.tokens.length;\n state.scopeDepth++;\n parseFunctionParams();\n parseFunctionBodyAndFinish(functionStart);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n if (nameScopeStartTokenIndex !== null) {\n state.scopes.push(new Scope(nameScopeStartTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n }\n function parseFunctionParams(allowModifiers = false, funcContextId = 0) {\n if (isTypeScriptEnabled) {\n tsStartParseFunctionParams();\n } else if (isFlowEnabled) {\n flowStartParseFunctionParams();\n }\n expect(TokenType.parenL);\n if (funcContextId) {\n state.tokens[state.tokens.length - 1].contextId = funcContextId;\n }\n parseBindingList(\n TokenType.parenR,\n false,\n false,\n allowModifiers,\n funcContextId\n );\n if (funcContextId) {\n state.tokens[state.tokens.length - 1].contextId = funcContextId;\n }\n }\n function parseClass(isStatement, optionalId = false) {\n const contextId = getNextContextId();\n next();\n state.tokens[state.tokens.length - 1].contextId = contextId;\n state.tokens[state.tokens.length - 1].isExpression = !isStatement;\n let nameScopeStartTokenIndex = null;\n if (!isStatement) {\n nameScopeStartTokenIndex = state.tokens.length;\n state.scopeDepth++;\n }\n parseClassId(isStatement, optionalId);\n parseClassSuper();\n const openBraceIndex = state.tokens.length;\n parseClassBody(contextId);\n if (state.error) {\n return;\n }\n state.tokens[openBraceIndex].contextId = contextId;\n state.tokens[state.tokens.length - 1].contextId = contextId;\n if (nameScopeStartTokenIndex !== null) {\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(nameScopeStartTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n }\n function isClassProperty() {\n return match(TokenType.eq) || match(TokenType.semi) || match(TokenType.braceR) || match(TokenType.bang) || match(TokenType.colon);\n }\n function isClassMethod() {\n return match(TokenType.parenL) || match(TokenType.lessThan);\n }\n function parseClassBody(classContextId) {\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (eat(TokenType.semi)) {\n continue;\n }\n if (match(TokenType.at)) {\n parseDecorator();\n continue;\n }\n const memberStart = state.start;\n parseClassMember(memberStart, classContextId);\n }\n }\n function parseClassMember(memberStart, classContextId) {\n if (isTypeScriptEnabled) {\n tsParseModifiers([\n ContextualKeyword._declare,\n ContextualKeyword._public,\n ContextualKeyword._protected,\n ContextualKeyword._private,\n ContextualKeyword._override\n ]);\n }\n let isStatic = false;\n if (match(TokenType.name) && state.contextualKeyword === ContextualKeyword._static) {\n parseIdentifier();\n if (isClassMethod()) {\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n return;\n } else if (isClassProperty()) {\n parseClassProperty();\n return;\n }\n state.tokens[state.tokens.length - 1].type = TokenType._static;\n isStatic = true;\n if (match(TokenType.braceL)) {\n state.tokens[state.tokens.length - 1].contextId = classContextId;\n parseBlock();\n return;\n }\n }\n parseClassMemberWithIsStatic(memberStart, isStatic, classContextId);\n }\n function parseClassMemberWithIsStatic(memberStart, isStatic, classContextId) {\n if (isTypeScriptEnabled) {\n if (tsTryParseClassMemberWithIsStatic(isStatic)) {\n return;\n }\n }\n if (eat(TokenType.star)) {\n parseClassPropertyName(classContextId);\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n return;\n }\n parseClassPropertyName(classContextId);\n let isConstructor = false;\n const token = state.tokens[state.tokens.length - 1];\n if (token.contextualKeyword === ContextualKeyword._constructor) {\n isConstructor = true;\n }\n parsePostMemberNameModifiers();\n if (isClassMethod()) {\n parseClassMethod(memberStart, isConstructor);\n } else if (isClassProperty()) {\n parseClassProperty();\n } else if (token.contextualKeyword === ContextualKeyword._async && !isLineTerminator()) {\n state.tokens[state.tokens.length - 1].type = TokenType._async;\n const isGenerator = match(TokenType.star);\n if (isGenerator) {\n next();\n }\n parseClassPropertyName(classContextId);\n parsePostMemberNameModifiers();\n parseClassMethod(\n memberStart,\n false\n /* isConstructor */\n );\n } else if ((token.contextualKeyword === ContextualKeyword._get || token.contextualKeyword === ContextualKeyword._set) && !(isLineTerminator() && match(TokenType.star))) {\n if (token.contextualKeyword === ContextualKeyword._get) {\n state.tokens[state.tokens.length - 1].type = TokenType._get;\n } else {\n state.tokens[state.tokens.length - 1].type = TokenType._set;\n }\n parseClassPropertyName(classContextId);\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n } else if (token.contextualKeyword === ContextualKeyword._accessor && !isLineTerminator()) {\n parseClassPropertyName(classContextId);\n parseClassProperty();\n } else if (isLineTerminator()) {\n parseClassProperty();\n } else {\n unexpected();\n }\n }\n function parseClassMethod(functionStart, isConstructor) {\n if (isTypeScriptEnabled) {\n tsTryParseTypeParameters();\n } else if (isFlowEnabled) {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n }\n parseMethod(functionStart, isConstructor);\n }\n function parseClassPropertyName(classContextId) {\n parsePropertyName(classContextId);\n }\n function parsePostMemberNameModifiers() {\n if (isTypeScriptEnabled) {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n popTypeContext(oldIsType);\n }\n }\n function parseClassProperty() {\n if (isTypeScriptEnabled) {\n eatTypeToken(TokenType.bang);\n tsTryParseTypeAnnotation();\n } else if (isFlowEnabled) {\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n if (match(TokenType.eq)) {\n const equalsTokenIndex = state.tokens.length;\n next();\n parseMaybeAssign();\n state.tokens[equalsTokenIndex].rhsEndIndex = state.tokens.length;\n }\n semicolon();\n }\n function parseClassId(isStatement, optionalId = false) {\n if (isTypeScriptEnabled && (!isStatement || optionalId) && isContextual(ContextualKeyword._implements)) {\n return;\n }\n if (match(TokenType.name)) {\n parseBindingIdentifier(true);\n }\n if (isTypeScriptEnabled) {\n tsTryParseTypeParameters();\n } else if (isFlowEnabled) {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n }\n }\n function parseClassSuper() {\n let hasSuper = false;\n if (eat(TokenType._extends)) {\n parseExprSubscripts();\n hasSuper = true;\n } else {\n hasSuper = false;\n }\n if (isTypeScriptEnabled) {\n tsAfterParseClassSuper(hasSuper);\n } else if (isFlowEnabled) {\n flowAfterParseClassSuper(hasSuper);\n }\n }\n function parseExport() {\n const exportIndex = state.tokens.length - 1;\n if (isTypeScriptEnabled) {\n if (tsTryParseExport()) {\n return;\n }\n }\n if (shouldParseExportStar()) {\n parseExportStar();\n } else if (isExportDefaultSpecifier()) {\n parseIdentifier();\n if (match(TokenType.comma) && lookaheadType() === TokenType.star) {\n expect(TokenType.comma);\n expect(TokenType.star);\n expectContextual(ContextualKeyword._as);\n parseIdentifier();\n } else {\n parseExportSpecifiersMaybe();\n }\n parseExportFrom();\n } else if (eat(TokenType._default)) {\n parseExportDefaultExpression();\n } else if (shouldParseExportDeclaration()) {\n parseExportDeclaration();\n } else {\n parseExportSpecifiers();\n parseExportFrom();\n }\n state.tokens[exportIndex].rhsEndIndex = state.tokens.length;\n }\n function parseExportDefaultExpression() {\n if (isTypeScriptEnabled) {\n if (tsTryParseExportDefaultExpression()) {\n return;\n }\n }\n if (isFlowEnabled) {\n if (flowTryParseExportDefaultExpression()) {\n return;\n }\n }\n const functionStart = state.start;\n if (eat(TokenType._function)) {\n parseFunction(functionStart, true, true);\n } else if (isContextual(ContextualKeyword._async) && lookaheadType() === TokenType._function) {\n eatContextual(ContextualKeyword._async);\n eat(TokenType._function);\n parseFunction(functionStart, true, true);\n } else if (match(TokenType._class)) {\n parseClass(true, true);\n } else if (match(TokenType.at)) {\n parseDecorators();\n parseClass(true, true);\n } else {\n parseMaybeAssign();\n semicolon();\n }\n }\n function parseExportDeclaration() {\n if (isTypeScriptEnabled) {\n tsParseExportDeclaration();\n } else if (isFlowEnabled) {\n flowParseExportDeclaration();\n } else {\n parseStatement(true);\n }\n }\n function isExportDefaultSpecifier() {\n if (isTypeScriptEnabled && tsIsDeclarationStart()) {\n return false;\n } else if (isFlowEnabled && flowShouldDisallowExportDefaultSpecifier()) {\n return false;\n }\n if (match(TokenType.name)) {\n return state.contextualKeyword !== ContextualKeyword._async;\n }\n if (!match(TokenType._default)) {\n return false;\n }\n const _next = nextTokenStart();\n const lookahead = lookaheadTypeAndKeyword();\n const hasFrom = lookahead.type === TokenType.name && lookahead.contextualKeyword === ContextualKeyword._from;\n if (lookahead.type === TokenType.comma) {\n return true;\n }\n if (hasFrom) {\n const nextAfterFrom = input.charCodeAt(nextTokenStartSince(_next + 4));\n return nextAfterFrom === charCodes.quotationMark || nextAfterFrom === charCodes.apostrophe;\n }\n return false;\n }\n function parseExportSpecifiersMaybe() {\n if (eat(TokenType.comma)) {\n parseExportSpecifiers();\n }\n }\n function parseExportFrom() {\n if (eatContextual(ContextualKeyword._from)) {\n parseExprAtom();\n maybeParseImportAttributes();\n }\n semicolon();\n }\n function shouldParseExportStar() {\n if (isFlowEnabled) {\n return flowShouldParseExportStar();\n } else {\n return match(TokenType.star);\n }\n }\n function parseExportStar() {\n if (isFlowEnabled) {\n flowParseExportStar();\n } else {\n baseParseExportStar();\n }\n }\n function baseParseExportStar() {\n expect(TokenType.star);\n if (isContextual(ContextualKeyword._as)) {\n parseExportNamespace();\n } else {\n parseExportFrom();\n }\n }\n function parseExportNamespace() {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType._as;\n parseIdentifier();\n parseExportSpecifiersMaybe();\n parseExportFrom();\n }\n function shouldParseExportDeclaration() {\n return isTypeScriptEnabled && tsIsDeclarationStart() || isFlowEnabled && flowShouldParseExportDeclaration() || state.type === TokenType._var || state.type === TokenType._const || state.type === TokenType._let || state.type === TokenType._function || state.type === TokenType._class || isContextual(ContextualKeyword._async) || match(TokenType.at);\n }\n function parseExportSpecifiers() {\n let first = true;\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n parseExportSpecifier();\n }\n }\n function parseExportSpecifier() {\n if (isTypeScriptEnabled) {\n tsParseExportSpecifier();\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n if (eatContextual(ContextualKeyword._as)) {\n parseIdentifier();\n }\n }\n function isImportReflection() {\n const snapshot = state.snapshot();\n expectContextual(ContextualKeyword._module);\n if (eatContextual(ContextualKeyword._from)) {\n if (isContextual(ContextualKeyword._from)) {\n state.restoreFromSnapshot(snapshot);\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n } else if (match(TokenType.comma)) {\n state.restoreFromSnapshot(snapshot);\n return false;\n } else {\n state.restoreFromSnapshot(snapshot);\n return true;\n }\n }\n function parseMaybeImportReflection() {\n if (isContextual(ContextualKeyword._module) && isImportReflection()) {\n next();\n }\n }\n function parseImport() {\n if (isTypeScriptEnabled && match(TokenType.name) && lookaheadType() === TokenType.eq) {\n tsParseImportEqualsDeclaration();\n return;\n }\n if (isTypeScriptEnabled && isContextual(ContextualKeyword._type)) {\n const lookahead = lookaheadTypeAndKeyword();\n if (lookahead.type === TokenType.name && lookahead.contextualKeyword !== ContextualKeyword._from) {\n expectContextual(ContextualKeyword._type);\n if (lookaheadType() === TokenType.eq) {\n tsParseImportEqualsDeclaration();\n return;\n }\n } else if (lookahead.type === TokenType.star || lookahead.type === TokenType.braceL) {\n expectContextual(ContextualKeyword._type);\n }\n }\n if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseMaybeImportReflection();\n parseImportSpecifiers();\n expectContextual(ContextualKeyword._from);\n parseExprAtom();\n }\n maybeParseImportAttributes();\n semicolon();\n }\n function shouldParseDefaultImport() {\n return match(TokenType.name);\n }\n function parseImportSpecifierLocal() {\n parseImportedIdentifier();\n }\n function parseImportSpecifiers() {\n if (isFlowEnabled) {\n flowStartParseImportSpecifiers();\n }\n let first = true;\n if (shouldParseDefaultImport()) {\n parseImportSpecifierLocal();\n if (!eat(TokenType.comma)) return;\n }\n if (match(TokenType.star)) {\n next();\n expectContextual(ContextualKeyword._as);\n parseImportSpecifierLocal();\n return;\n }\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n if (eat(TokenType.colon)) {\n unexpected(\n \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\"\n );\n }\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n parseImportSpecifier();\n }\n }\n function parseImportSpecifier() {\n if (isTypeScriptEnabled) {\n tsParseImportSpecifier();\n return;\n }\n if (isFlowEnabled) {\n flowParseImportSpecifier();\n return;\n }\n parseImportedIdentifier();\n if (isContextual(ContextualKeyword._as)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportAccess;\n next();\n parseImportedIdentifier();\n }\n }\n function maybeParseImportAttributes() {\n if (match(TokenType._with) || isContextual(ContextualKeyword._assert) && !hasPrecedingLineBreak()) {\n next();\n parseObj(false, false);\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/index.js\n function parseFile() {\n if (state.pos === 0 && input.charCodeAt(0) === charCodes.numberSign && input.charCodeAt(1) === charCodes.exclamationMark) {\n skipLineComment(2);\n }\n nextToken();\n return parseTopLevel();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/index.js\n var File2 = class {\n constructor(tokens, scopes) {\n this.tokens = tokens;\n this.scopes = scopes;\n }\n };\n function parse(input2, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2) {\n if (isFlowEnabled2 && isTypeScriptEnabled2) {\n throw new Error(\"Cannot combine flow and typescript plugins.\");\n }\n initParser(input2, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2);\n const result = parseFile();\n if (state.error) {\n throw augmentError(state.error);\n }\n return result;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isAsyncOperation.js\n function isAsyncOperation(tokens) {\n let index2 = tokens.currentIndex();\n let depth = 0;\n const startToken = tokens.currentToken();\n do {\n const token = tokens.tokens[index2];\n if (token.isOptionalChainStart) {\n depth++;\n }\n if (token.isOptionalChainEnd) {\n depth--;\n }\n depth += token.numNullishCoalesceStarts;\n depth -= token.numNullishCoalesceEnds;\n if (token.contextualKeyword === ContextualKeyword._await && token.identifierRole == null && token.scopeDepth === startToken.scopeDepth) {\n return true;\n }\n index2 += 1;\n } while (depth > 0 && index2 < tokens.tokens.length);\n return false;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/TokenProcessor.js\n var TokenProcessor = class _TokenProcessor {\n __init() {\n this.resultCode = \"\";\n }\n // Array mapping input token index to optional string index position in the\n // output code.\n __init2() {\n this.resultMappings = new Array(this.tokens.length);\n }\n __init3() {\n this.tokenIndex = 0;\n }\n constructor(code, tokens, isFlowEnabled2, disableESTransforms, helperManager) {\n ;\n this.code = code;\n this.tokens = tokens;\n this.isFlowEnabled = isFlowEnabled2;\n this.disableESTransforms = disableESTransforms;\n this.helperManager = helperManager;\n _TokenProcessor.prototype.__init.call(this);\n _TokenProcessor.prototype.__init2.call(this);\n _TokenProcessor.prototype.__init3.call(this);\n }\n /**\n * Snapshot the token state in a way that can be restored later, useful for\n * things like lookahead.\n *\n * resultMappings do not need to be copied since in all use cases, they will\n * be overwritten anyway after restore.\n */\n snapshot() {\n return {\n resultCode: this.resultCode,\n tokenIndex: this.tokenIndex\n };\n }\n restoreToSnapshot(snapshot) {\n this.resultCode = snapshot.resultCode;\n this.tokenIndex = snapshot.tokenIndex;\n }\n /**\n * Remove and return the code generated since the snapshot, leaving the\n * current token position in-place. Unlike most TokenProcessor operations,\n * this operation can result in input/output line number mismatches because\n * the removed code may contain newlines, so this operation should be used\n * sparingly.\n */\n dangerouslyGetAndRemoveCodeSinceSnapshot(snapshot) {\n const result = this.resultCode.slice(snapshot.resultCode.length);\n this.resultCode = snapshot.resultCode;\n return result;\n }\n reset() {\n this.resultCode = \"\";\n this.resultMappings = new Array(this.tokens.length);\n this.tokenIndex = 0;\n }\n matchesContextualAtIndex(index2, contextualKeyword) {\n return this.matches1AtIndex(index2, TokenType.name) && this.tokens[index2].contextualKeyword === contextualKeyword;\n }\n identifierNameAtIndex(index2) {\n return this.identifierNameForToken(this.tokens[index2]);\n }\n identifierNameAtRelativeIndex(relativeIndex) {\n return this.identifierNameForToken(this.tokenAtRelativeIndex(relativeIndex));\n }\n identifierName() {\n return this.identifierNameForToken(this.currentToken());\n }\n identifierNameForToken(token) {\n return this.code.slice(token.start, token.end);\n }\n rawCodeForToken(token) {\n return this.code.slice(token.start, token.end);\n }\n stringValueAtIndex(index2) {\n return this.stringValueForToken(this.tokens[index2]);\n }\n stringValue() {\n return this.stringValueForToken(this.currentToken());\n }\n stringValueForToken(token) {\n return this.code.slice(token.start + 1, token.end - 1);\n }\n matches1AtIndex(index2, t12) {\n return this.tokens[index2].type === t12;\n }\n matches2AtIndex(index2, t12, t2) {\n return this.tokens[index2].type === t12 && this.tokens[index2 + 1].type === t2;\n }\n matches3AtIndex(index2, t12, t2, t3) {\n return this.tokens[index2].type === t12 && this.tokens[index2 + 1].type === t2 && this.tokens[index2 + 2].type === t3;\n }\n matches1(t12) {\n return this.tokens[this.tokenIndex].type === t12;\n }\n matches2(t12, t2) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2;\n }\n matches3(t12, t2, t3) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3;\n }\n matches4(t12, t2, t3, t4) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3 && this.tokens[this.tokenIndex + 3].type === t4;\n }\n matches5(t12, t2, t3, t4, t5) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3 && this.tokens[this.tokenIndex + 3].type === t4 && this.tokens[this.tokenIndex + 4].type === t5;\n }\n matchesContextual(contextualKeyword) {\n return this.matchesContextualAtIndex(this.tokenIndex, contextualKeyword);\n }\n matchesContextIdAndLabel(type, contextId) {\n return this.matches1(type) && this.currentToken().contextId === contextId;\n }\n previousWhitespaceAndComments() {\n let whitespaceAndComments = this.code.slice(\n this.tokenIndex > 0 ? this.tokens[this.tokenIndex - 1].end : 0,\n this.tokenIndex < this.tokens.length ? this.tokens[this.tokenIndex].start : this.code.length\n );\n if (this.isFlowEnabled) {\n whitespaceAndComments = whitespaceAndComments.replace(/@flow/g, \"\");\n }\n return whitespaceAndComments;\n }\n replaceToken(newCode) {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += newCode;\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n replaceTokenTrimmingLeftWhitespace(newCode) {\n this.resultCode += this.previousWhitespaceAndComments().replace(/[^\\r\\n]/g, \"\");\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += newCode;\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n removeInitialToken() {\n this.replaceToken(\"\");\n }\n removeToken() {\n this.replaceTokenTrimmingLeftWhitespace(\"\");\n }\n /**\n * Remove all code until the next }, accounting for balanced braces.\n */\n removeBalancedCode() {\n let braceDepth = 0;\n while (!this.isAtEnd()) {\n if (this.matches1(TokenType.braceL)) {\n braceDepth++;\n } else if (this.matches1(TokenType.braceR)) {\n if (braceDepth === 0) {\n return;\n }\n braceDepth--;\n }\n this.removeToken();\n }\n }\n copyExpectedToken(tokenType) {\n if (this.tokens[this.tokenIndex].type !== tokenType) {\n throw new Error(`Expected token ${tokenType}`);\n }\n this.copyToken();\n }\n copyToken() {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += this.code.slice(\n this.tokens[this.tokenIndex].start,\n this.tokens[this.tokenIndex].end\n );\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n copyTokenWithPrefix(prefix2) {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultCode += prefix2;\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += this.code.slice(\n this.tokens[this.tokenIndex].start,\n this.tokens[this.tokenIndex].end\n );\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n appendTokenPrefix() {\n const token = this.currentToken();\n if (token.numNullishCoalesceStarts || token.isOptionalChainStart) {\n token.isAsyncOperation = isAsyncOperation(this);\n }\n if (this.disableESTransforms) {\n return;\n }\n if (token.numNullishCoalesceStarts) {\n for (let i = 0; i < token.numNullishCoalesceStarts; i++) {\n if (token.isAsyncOperation) {\n this.resultCode += \"await \";\n this.resultCode += this.helperManager.getHelperName(\"asyncNullishCoalesce\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"nullishCoalesce\");\n }\n this.resultCode += \"(\";\n }\n }\n if (token.isOptionalChainStart) {\n if (token.isAsyncOperation) {\n this.resultCode += \"await \";\n }\n if (this.tokenIndex > 0 && this.tokenAtRelativeIndex(-1).type === TokenType._delete) {\n if (token.isAsyncOperation) {\n this.resultCode += this.helperManager.getHelperName(\"asyncOptionalChainDelete\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"optionalChainDelete\");\n }\n } else if (token.isAsyncOperation) {\n this.resultCode += this.helperManager.getHelperName(\"asyncOptionalChain\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"optionalChain\");\n }\n this.resultCode += \"([\";\n }\n }\n appendTokenSuffix() {\n const token = this.currentToken();\n if (token.isOptionalChainEnd && !this.disableESTransforms) {\n this.resultCode += \"])\";\n }\n if (token.numNullishCoalesceEnds && !this.disableESTransforms) {\n for (let i = 0; i < token.numNullishCoalesceEnds; i++) {\n this.resultCode += \"))\";\n }\n }\n }\n appendCode(code) {\n this.resultCode += code;\n }\n currentToken() {\n return this.tokens[this.tokenIndex];\n }\n currentTokenCode() {\n const token = this.currentToken();\n return this.code.slice(token.start, token.end);\n }\n tokenAtRelativeIndex(relativeIndex) {\n return this.tokens[this.tokenIndex + relativeIndex];\n }\n currentIndex() {\n return this.tokenIndex;\n }\n /**\n * Move to the next token. Only suitable in preprocessing steps. When\n * generating new code, you should use copyToken or removeToken.\n */\n nextToken() {\n if (this.tokenIndex === this.tokens.length) {\n throw new Error(\"Unexpectedly reached end of input.\");\n }\n this.tokenIndex++;\n }\n previousToken() {\n this.tokenIndex--;\n }\n finish() {\n if (this.tokenIndex !== this.tokens.length) {\n throw new Error(\"Tried to finish processing tokens before reaching the end.\");\n }\n this.resultCode += this.previousWhitespaceAndComments();\n return { code: this.resultCode, mappings: this.resultMappings };\n }\n isAtEnd() {\n return this.tokenIndex === this.tokens.length;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getClassInfo.js\n function getClassInfo(rootTransformer, tokens, nameManager, disableESTransforms) {\n const snapshot = tokens.snapshot();\n const headerInfo = processClassHeader(tokens);\n let constructorInitializerStatements = [];\n const instanceInitializerNames = [];\n const staticInitializerNames = [];\n let constructorInsertPos = null;\n const fields = [];\n const rangesToRemove = [];\n const classContextId = tokens.currentToken().contextId;\n if (classContextId == null) {\n throw new Error(\"Expected non-null class context ID on class open-brace.\");\n }\n tokens.nextToken();\n while (!tokens.matchesContextIdAndLabel(TokenType.braceR, classContextId)) {\n if (tokens.matchesContextual(ContextualKeyword._constructor) && !tokens.currentToken().isType) {\n ({ constructorInitializerStatements, constructorInsertPos } = processConstructor(tokens));\n } else if (tokens.matches1(TokenType.semi)) {\n if (!disableESTransforms) {\n rangesToRemove.push({ start: tokens.currentIndex(), end: tokens.currentIndex() + 1 });\n }\n tokens.nextToken();\n } else if (tokens.currentToken().isType) {\n tokens.nextToken();\n } else {\n const statementStartIndex = tokens.currentIndex();\n let isStatic = false;\n let isESPrivate = false;\n let isDeclareOrAbstract = false;\n while (isAccessModifier(tokens.currentToken())) {\n if (tokens.matches1(TokenType._static)) {\n isStatic = true;\n }\n if (tokens.matches1(TokenType.hash)) {\n isESPrivate = true;\n }\n if (tokens.matches1(TokenType._declare) || tokens.matches1(TokenType._abstract)) {\n isDeclareOrAbstract = true;\n }\n tokens.nextToken();\n }\n if (isStatic && tokens.matches1(TokenType.braceL)) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n if (isESPrivate) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n if (tokens.matchesContextual(ContextualKeyword._constructor) && !tokens.currentToken().isType) {\n ({ constructorInitializerStatements, constructorInsertPos } = processConstructor(tokens));\n continue;\n }\n const nameStartIndex = tokens.currentIndex();\n skipFieldName(tokens);\n if (tokens.matches1(TokenType.lessThan) || tokens.matches1(TokenType.parenL)) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n while (tokens.currentToken().isType) {\n tokens.nextToken();\n }\n if (tokens.matches1(TokenType.eq)) {\n const equalsIndex = tokens.currentIndex();\n const valueEnd = tokens.currentToken().rhsEndIndex;\n if (valueEnd == null) {\n throw new Error(\"Expected rhsEndIndex on class field assignment.\");\n }\n tokens.nextToken();\n while (tokens.currentIndex() < valueEnd) {\n rootTransformer.processToken();\n }\n let initializerName;\n if (isStatic) {\n initializerName = nameManager.claimFreeName(\"__initStatic\");\n staticInitializerNames.push(initializerName);\n } else {\n initializerName = nameManager.claimFreeName(\"__init\");\n instanceInitializerNames.push(initializerName);\n }\n fields.push({\n initializerName,\n equalsIndex,\n start: nameStartIndex,\n end: tokens.currentIndex()\n });\n } else if (!disableESTransforms || isDeclareOrAbstract) {\n rangesToRemove.push({ start: statementStartIndex, end: tokens.currentIndex() });\n }\n }\n }\n tokens.restoreToSnapshot(snapshot);\n if (disableESTransforms) {\n return {\n headerInfo,\n constructorInitializerStatements,\n instanceInitializerNames: [],\n staticInitializerNames: [],\n constructorInsertPos,\n fields: [],\n rangesToRemove\n };\n } else {\n return {\n headerInfo,\n constructorInitializerStatements,\n instanceInitializerNames,\n staticInitializerNames,\n constructorInsertPos,\n fields,\n rangesToRemove\n };\n }\n }\n function skipToNextClassElement(tokens, classContextId) {\n tokens.nextToken();\n while (tokens.currentToken().contextId !== classContextId) {\n tokens.nextToken();\n }\n while (isAccessModifier(tokens.tokenAtRelativeIndex(-1))) {\n tokens.previousToken();\n }\n }\n function processClassHeader(tokens) {\n const classToken = tokens.currentToken();\n const contextId = classToken.contextId;\n if (contextId == null) {\n throw new Error(\"Expected context ID on class token.\");\n }\n const isExpression = classToken.isExpression;\n if (isExpression == null) {\n throw new Error(\"Expected isExpression on class token.\");\n }\n let className = null;\n let hasSuperclass = false;\n tokens.nextToken();\n if (tokens.matches1(TokenType.name)) {\n className = tokens.identifierName();\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.braceL, contextId)) {\n if (tokens.matches1(TokenType._extends) && !tokens.currentToken().isType) {\n hasSuperclass = true;\n }\n tokens.nextToken();\n }\n return { isExpression, className, hasSuperclass };\n }\n function processConstructor(tokens) {\n const constructorInitializerStatements = [];\n tokens.nextToken();\n const constructorContextId = tokens.currentToken().contextId;\n if (constructorContextId == null) {\n throw new Error(\"Expected context ID on open-paren starting constructor params.\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.parenR, constructorContextId)) {\n if (tokens.currentToken().contextId === constructorContextId) {\n tokens.nextToken();\n if (isAccessModifier(tokens.currentToken())) {\n tokens.nextToken();\n while (isAccessModifier(tokens.currentToken())) {\n tokens.nextToken();\n }\n const token = tokens.currentToken();\n if (token.type !== TokenType.name) {\n throw new Error(\"Expected identifier after access modifiers in constructor arg.\");\n }\n const name = tokens.identifierNameForToken(token);\n constructorInitializerStatements.push(`this.${name} = ${name}`);\n }\n } else {\n tokens.nextToken();\n }\n }\n tokens.nextToken();\n while (tokens.currentToken().isType) {\n tokens.nextToken();\n }\n let constructorInsertPos = tokens.currentIndex();\n let foundSuperCall = false;\n while (!tokens.matchesContextIdAndLabel(TokenType.braceR, constructorContextId)) {\n if (!foundSuperCall && tokens.matches2(TokenType._super, TokenType.parenL)) {\n tokens.nextToken();\n const superCallContextId = tokens.currentToken().contextId;\n if (superCallContextId == null) {\n throw new Error(\"Expected a context ID on the super call\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.parenR, superCallContextId)) {\n tokens.nextToken();\n }\n constructorInsertPos = tokens.currentIndex();\n foundSuperCall = true;\n }\n tokens.nextToken();\n }\n tokens.nextToken();\n return { constructorInitializerStatements, constructorInsertPos };\n }\n function isAccessModifier(token) {\n return [\n TokenType._async,\n TokenType._get,\n TokenType._set,\n TokenType.plus,\n TokenType.minus,\n TokenType._readonly,\n TokenType._static,\n TokenType._public,\n TokenType._private,\n TokenType._protected,\n TokenType._override,\n TokenType._abstract,\n TokenType.star,\n TokenType._declare,\n TokenType.hash\n ].includes(token.type);\n }\n function skipFieldName(tokens) {\n if (tokens.matches1(TokenType.bracketL)) {\n const startToken = tokens.currentToken();\n const classContextId = startToken.contextId;\n if (classContextId == null) {\n throw new Error(\"Expected class context ID on computed name open bracket.\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.bracketR, classContextId)) {\n tokens.nextToken();\n }\n tokens.nextToken();\n } else {\n tokens.nextToken();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/elideImportEquals.js\n function elideImportEquals(tokens) {\n tokens.removeInitialToken();\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeToken();\n if (tokens.matches1(TokenType.parenL)) {\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeToken();\n } else {\n while (tokens.matches1(TokenType.dot)) {\n tokens.removeToken();\n tokens.removeToken();\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getDeclarationInfo.js\n var EMPTY_DECLARATION_INFO = {\n typeDeclarations: /* @__PURE__ */ new Set(),\n valueDeclarations: /* @__PURE__ */ new Set()\n };\n function getDeclarationInfo(tokens) {\n const typeDeclarations = /* @__PURE__ */ new Set();\n const valueDeclarations = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n const token = tokens.tokens[i];\n if (token.type === TokenType.name && isTopLevelDeclaration(token)) {\n if (token.isType) {\n typeDeclarations.add(tokens.identifierNameForToken(token));\n } else {\n valueDeclarations.add(tokens.identifierNameForToken(token));\n }\n }\n }\n return { typeDeclarations, valueDeclarations };\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isExportFrom.js\n function isExportFrom(tokens) {\n let closeBraceIndex = tokens.currentIndex();\n while (!tokens.matches1AtIndex(closeBraceIndex, TokenType.braceR)) {\n closeBraceIndex++;\n }\n return tokens.matchesContextualAtIndex(closeBraceIndex + 1, ContextualKeyword._from) && tokens.matches1AtIndex(closeBraceIndex + 2, TokenType.string);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js\n function removeMaybeImportAttributes(tokens) {\n if (tokens.matches2(TokenType._with, TokenType.braceL) || tokens.matches2(TokenType.name, TokenType.braceL) && tokens.matchesContextual(ContextualKeyword._assert)) {\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeBalancedCode();\n tokens.removeToken();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/shouldElideDefaultExport.js\n function shouldElideDefaultExport(isTypeScriptTransformEnabled, keepUnusedImports, tokens, declarationInfo) {\n if (!isTypeScriptTransformEnabled || keepUnusedImports) {\n return false;\n }\n const exportToken = tokens.currentToken();\n if (exportToken.rhsEndIndex == null) {\n throw new Error(\"Expected non-null rhsEndIndex on export token.\");\n }\n const numTokens = exportToken.rhsEndIndex - tokens.currentIndex();\n if (numTokens !== 3 && !(numTokens === 4 && tokens.matches1AtIndex(exportToken.rhsEndIndex - 1, TokenType.semi))) {\n return false;\n }\n const identifierToken = tokens.tokenAtRelativeIndex(2);\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n const exportedName = tokens.identifierNameForToken(identifierToken);\n return declarationInfo.typeDeclarations.has(exportedName) && !declarationInfo.valueDeclarations.has(exportedName);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/CJSImportTransformer.js\n var CJSImportTransformer = class _CJSImportTransformer extends Transformer {\n __init() {\n this.hadExport = false;\n }\n __init2() {\n this.hadNamedExport = false;\n }\n __init3() {\n this.hadDefaultExport = false;\n }\n constructor(rootTransformer, tokens, importProcessor, nameManager, helperManager, reactHotLoaderTransformer, enableLegacyBabel5ModuleInterop, enableLegacyTypeScriptModuleInterop, isTypeScriptTransformEnabled, isFlowTransformEnabled, preserveDynamicImport, keepUnusedImports) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.nameManager = nameManager;\n this.helperManager = helperManager;\n this.reactHotLoaderTransformer = reactHotLoaderTransformer;\n this.enableLegacyBabel5ModuleInterop = enableLegacyBabel5ModuleInterop;\n this.enableLegacyTypeScriptModuleInterop = enableLegacyTypeScriptModuleInterop;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.isFlowTransformEnabled = isFlowTransformEnabled;\n this.preserveDynamicImport = preserveDynamicImport;\n this.keepUnusedImports = keepUnusedImports;\n _CJSImportTransformer.prototype.__init.call(this);\n _CJSImportTransformer.prototype.__init2.call(this);\n _CJSImportTransformer.prototype.__init3.call(this);\n ;\n this.declarationInfo = isTypeScriptTransformEnabled ? getDeclarationInfo(tokens) : EMPTY_DECLARATION_INFO;\n }\n getPrefixCode() {\n let prefix2 = \"\";\n if (this.hadExport) {\n prefix2 += 'Object.defineProperty(exports, \"__esModule\", {value: true});';\n }\n return prefix2;\n }\n getSuffixCode() {\n if (this.enableLegacyBabel5ModuleInterop && this.hadDefaultExport && !this.hadNamedExport) {\n return \"\\nmodule.exports = exports.default;\\n\";\n }\n return \"\";\n }\n process() {\n if (this.tokens.matches3(TokenType._import, TokenType.name, TokenType.eq)) {\n return this.processImportEquals();\n }\n if (this.tokens.matches1(TokenType._import)) {\n this.processImport();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType.eq)) {\n this.tokens.replaceToken(\"module.exports\");\n return true;\n }\n if (this.tokens.matches1(TokenType._export) && !this.tokens.currentToken().isType) {\n this.hadExport = true;\n return this.processExport();\n }\n if (this.tokens.matches2(TokenType.name, TokenType.postIncDec)) {\n if (this.processPostIncDec()) {\n return true;\n }\n }\n if (this.tokens.matches1(TokenType.name) || this.tokens.matches1(TokenType.jsxName)) {\n return this.processIdentifier();\n }\n if (this.tokens.matches1(TokenType.eq)) {\n return this.processAssignment();\n }\n if (this.tokens.matches1(TokenType.assign)) {\n return this.processComplexAssignment();\n }\n if (this.tokens.matches1(TokenType.preIncDec)) {\n return this.processPreIncDec();\n }\n return false;\n }\n processImportEquals() {\n const importName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n if (this.importProcessor.shouldAutomaticallyElideImportedName(importName)) {\n elideImportEquals(this.tokens);\n } else {\n this.tokens.replaceToken(\"const\");\n }\n return true;\n }\n /**\n * Transform this:\n * import foo, {bar} from 'baz';\n * into\n * var _baz = require('baz'); var _baz2 = _interopRequireDefault(_baz);\n *\n * The import code was already generated in the import preprocessing step, so\n * we just need to look it up.\n */\n processImport() {\n if (this.tokens.matches2(TokenType._import, TokenType.parenL)) {\n if (this.preserveDynamicImport) {\n this.tokens.copyToken();\n return;\n }\n const requireWrapper = this.enableLegacyTypeScriptModuleInterop ? \"\" : `${this.helperManager.getHelperName(\"interopRequireWildcard\")}(`;\n this.tokens.replaceToken(`Promise.resolve().then(() => ${requireWrapper}require`);\n const contextId = this.tokens.currentToken().contextId;\n if (contextId == null) {\n throw new Error(\"Expected context ID on dynamic import invocation.\");\n }\n this.tokens.copyToken();\n while (!this.tokens.matchesContextIdAndLabel(TokenType.parenR, contextId)) {\n this.rootTransformer.processToken();\n }\n this.tokens.replaceToken(requireWrapper ? \")))\" : \"))\");\n return;\n }\n const shouldElideImport = this.removeImportAndDetectIfShouldElide();\n if (shouldElideImport) {\n this.tokens.removeToken();\n } else {\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n this.tokens.appendCode(this.importProcessor.claimImportCode(path2));\n }\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n /**\n * Erase this import (since any CJS output would be completely different), and\n * return true if this import is should be elided due to being a type-only\n * import. Such imports will not be emitted at all to avoid side effects.\n *\n * Import elision only happens with the TypeScript or Flow transforms enabled.\n *\n * TODO: This function has some awkward overlap with\n * CJSImportProcessor.pruneTypeOnlyImports , and the two should be unified.\n * That function handles TypeScript implicit import name elision, and removes\n * an import if all typical imported names (without `type`) are removed due\n * to being type-only imports. This function handles Flow import removal and\n * properly distinguishes `import 'foo'` from `import {} from 'foo'` for TS\n * purposes.\n *\n * The position should end at the import string.\n */\n removeImportAndDetectIfShouldElide() {\n this.tokens.removeInitialToken();\n if (this.tokens.matchesContextual(ContextualKeyword._type) && !this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._from)) {\n this.removeRemainingImport();\n return true;\n }\n if (this.tokens.matches1(TokenType.name) || this.tokens.matches1(TokenType.star)) {\n this.removeRemainingImport();\n return false;\n }\n if (this.tokens.matches1(TokenType.string)) {\n return false;\n }\n let foundNonTypeImport = false;\n let foundAnyNamedImport = false;\n while (!this.tokens.matches1(TokenType.string)) {\n if (!foundNonTypeImport && this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n if (!this.tokens.matches1(TokenType.braceR)) {\n foundAnyNamedImport = true;\n }\n if (this.tokens.matches2(TokenType.name, TokenType.comma) || this.tokens.matches2(TokenType.name, TokenType.braceR) || this.tokens.matches4(TokenType.name, TokenType.name, TokenType.name, TokenType.comma) || this.tokens.matches4(TokenType.name, TokenType.name, TokenType.name, TokenType.braceR)) {\n foundNonTypeImport = true;\n }\n }\n this.tokens.removeToken();\n }\n if (this.keepUnusedImports) {\n return false;\n }\n if (this.isTypeScriptTransformEnabled) {\n return !foundNonTypeImport;\n } else if (this.isFlowTransformEnabled) {\n return foundAnyNamedImport && !foundNonTypeImport;\n } else {\n return false;\n }\n }\n removeRemainingImport() {\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n }\n processIdentifier() {\n const token = this.tokens.currentToken();\n if (token.shadowsGlobal) {\n return false;\n }\n if (token.identifierRole === IdentifierRole.ObjectShorthand) {\n return this.processObjectShorthand();\n }\n if (token.identifierRole !== IdentifierRole.Access) {\n return false;\n }\n const replacement = this.importProcessor.getIdentifierReplacement(\n this.tokens.identifierNameForToken(token)\n );\n if (!replacement) {\n return false;\n }\n let possibleOpenParenIndex = this.tokens.currentIndex() + 1;\n while (possibleOpenParenIndex < this.tokens.tokens.length && this.tokens.tokens[possibleOpenParenIndex].type === TokenType.parenR) {\n possibleOpenParenIndex++;\n }\n if (this.tokens.tokens[possibleOpenParenIndex].type === TokenType.parenL) {\n if (this.tokens.tokenAtRelativeIndex(1).type === TokenType.parenL && this.tokens.tokenAtRelativeIndex(-1).type !== TokenType._new) {\n this.tokens.replaceToken(`${replacement}.call(void 0, `);\n this.tokens.removeToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n } else {\n this.tokens.replaceToken(`(0, ${replacement})`);\n }\n } else {\n this.tokens.replaceToken(replacement);\n }\n return true;\n }\n processObjectShorthand() {\n const identifier = this.tokens.identifierName();\n const replacement = this.importProcessor.getIdentifierReplacement(identifier);\n if (!replacement) {\n return false;\n }\n this.tokens.replaceToken(`${identifier}: ${replacement}`);\n return true;\n }\n processExport() {\n if (this.tokens.matches2(TokenType._export, TokenType._enum) || this.tokens.matches3(TokenType._export, TokenType._const, TokenType._enum)) {\n this.hadNamedExport = true;\n return false;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._default)) {\n if (this.tokens.matches3(TokenType._export, TokenType._default, TokenType._enum)) {\n this.hadDefaultExport = true;\n return false;\n }\n this.processExportDefault();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.braceL)) {\n this.processExportBindings();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.name) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.braceL)) {\n while (!this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n } else {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType._as)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from) && this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.string)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n this.hadNamedExport = true;\n if (this.tokens.matches2(TokenType._export, TokenType._var) || this.tokens.matches2(TokenType._export, TokenType._let) || this.tokens.matches2(TokenType._export, TokenType._const)) {\n this.processExportVar();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType._function) || // export async function\n this.tokens.matches3(TokenType._export, TokenType.name, TokenType._function)) {\n this.processExportFunction();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType._class) || this.tokens.matches3(TokenType._export, TokenType._abstract, TokenType._class) || this.tokens.matches2(TokenType._export, TokenType.at)) {\n this.processExportClass();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.star)) {\n this.processExportStar();\n return true;\n } else {\n throw new Error(\"Unrecognized export syntax.\");\n }\n }\n processAssignment() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 - 1];\n if (identifierToken.isType || identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 2 && this.tokens.matches1AtIndex(index2 - 2, TokenType.dot)) {\n return false;\n }\n if (index2 >= 2 && [TokenType._var, TokenType._let, TokenType._const].includes(this.tokens.tokens[index2 - 2].type)) {\n return false;\n }\n const assignmentSnippet = this.importProcessor.resolveExportBinding(\n this.tokens.identifierNameForToken(identifierToken)\n );\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.copyToken();\n this.tokens.appendCode(` ${assignmentSnippet} =`);\n return true;\n }\n /**\n * Process something like `a += 3`, where `a` might be an exported value.\n */\n processComplexAssignment() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 - 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 2 && this.tokens.matches1AtIndex(index2 - 2, TokenType.dot)) {\n return false;\n }\n const assignmentSnippet = this.importProcessor.resolveExportBinding(\n this.tokens.identifierNameForToken(identifierToken)\n );\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.appendCode(` = ${assignmentSnippet}`);\n this.tokens.copyToken();\n return true;\n }\n /**\n * Process something like `++a`, where `a` might be an exported value.\n */\n processPreIncDec() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 + 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 + 2 < this.tokens.tokens.length && (this.tokens.matches1AtIndex(index2 + 2, TokenType.dot) || this.tokens.matches1AtIndex(index2 + 2, TokenType.bracketL) || this.tokens.matches1AtIndex(index2 + 2, TokenType.parenL))) {\n return false;\n }\n const identifierName = this.tokens.identifierNameForToken(identifierToken);\n const assignmentSnippet = this.importProcessor.resolveExportBinding(identifierName);\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.appendCode(`${assignmentSnippet} = `);\n this.tokens.copyToken();\n return true;\n }\n /**\n * Process something like `a++`, where `a` might be an exported value.\n * This starts at the `a`, not at the `++`.\n */\n processPostIncDec() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2];\n const operatorToken = this.tokens.tokens[index2 + 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 1 && this.tokens.matches1AtIndex(index2 - 1, TokenType.dot)) {\n return false;\n }\n const identifierName = this.tokens.identifierNameForToken(identifierToken);\n const assignmentSnippet = this.importProcessor.resolveExportBinding(identifierName);\n if (!assignmentSnippet) {\n return false;\n }\n const operatorCode = this.tokens.rawCodeForToken(operatorToken);\n const base = this.importProcessor.getIdentifierReplacement(identifierName) || identifierName;\n if (operatorCode === \"++\") {\n this.tokens.replaceToken(`(${base} = ${assignmentSnippet} = ${base} + 1, ${base} - 1)`);\n } else if (operatorCode === \"--\") {\n this.tokens.replaceToken(`(${base} = ${assignmentSnippet} = ${base} - 1, ${base} + 1)`);\n } else {\n throw new Error(`Unexpected operator: ${operatorCode}`);\n }\n this.tokens.removeToken();\n return true;\n }\n processExportDefault() {\n let exportedRuntimeValue = true;\n if (this.tokens.matches4(TokenType._export, TokenType._default, TokenType._function, TokenType.name) || // export default async function\n this.tokens.matches5(TokenType._export, TokenType._default, TokenType.name, TokenType._function, TokenType.name) && this.tokens.matchesContextualAtIndex(\n this.tokens.currentIndex() + 2,\n ContextualKeyword._async\n )) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const name = this.processNamedFunction();\n this.tokens.appendCode(` exports.default = ${name};`);\n } else if (this.tokens.matches4(TokenType._export, TokenType._default, TokenType._class, TokenType.name) || this.tokens.matches5(TokenType._export, TokenType._default, TokenType._abstract, TokenType._class, TokenType.name) || this.tokens.matches3(TokenType._export, TokenType._default, TokenType.at)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.copyDecorators();\n if (this.tokens.matches1(TokenType._abstract)) {\n this.tokens.removeToken();\n }\n const name = this.rootTransformer.processNamedClass();\n this.tokens.appendCode(` exports.default = ${name};`);\n } else if (shouldElideDefaultExport(\n this.isTypeScriptTransformEnabled,\n this.keepUnusedImports,\n this.tokens,\n this.declarationInfo\n )) {\n exportedRuntimeValue = false;\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n } else if (this.reactHotLoaderTransformer) {\n const defaultVarName = this.nameManager.claimFreeName(\"_default\");\n this.tokens.replaceToken(`let ${defaultVarName}; exports.`);\n this.tokens.copyToken();\n this.tokens.appendCode(` = ${defaultVarName} =`);\n this.reactHotLoaderTransformer.setExtractedDefaultExportName(defaultVarName);\n } else {\n this.tokens.replaceToken(\"exports.\");\n this.tokens.copyToken();\n this.tokens.appendCode(\" =\");\n }\n if (exportedRuntimeValue) {\n this.hadDefaultExport = true;\n }\n }\n copyDecorators() {\n while (this.tokens.matches1(TokenType.at)) {\n this.tokens.copyToken();\n if (this.tokens.matches1(TokenType.parenL)) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n } else {\n this.tokens.copyExpectedToken(TokenType.name);\n while (this.tokens.matches1(TokenType.dot)) {\n this.tokens.copyExpectedToken(TokenType.dot);\n this.tokens.copyExpectedToken(TokenType.name);\n }\n if (this.tokens.matches1(TokenType.parenL)) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n }\n }\n }\n }\n /**\n * Transform a declaration like `export var`, `export let`, or `export const`.\n */\n processExportVar() {\n if (this.isSimpleExportVar()) {\n this.processSimpleExportVar();\n } else {\n this.processComplexExportVar();\n }\n }\n /**\n * Determine if the export is of the form:\n * export var/let/const [varName] = [expr];\n * In other words, determine if function name inference might apply.\n */\n isSimpleExportVar() {\n let tokenIndex = this.tokens.currentIndex();\n tokenIndex++;\n tokenIndex++;\n if (!this.tokens.matches1AtIndex(tokenIndex, TokenType.name)) {\n return false;\n }\n tokenIndex++;\n while (tokenIndex < this.tokens.tokens.length && this.tokens.tokens[tokenIndex].isType) {\n tokenIndex++;\n }\n if (!this.tokens.matches1AtIndex(tokenIndex, TokenType.eq)) {\n return false;\n }\n return true;\n }\n /**\n * Transform an `export var` declaration initializing a single variable.\n *\n * For example, this:\n * export const f = () => {};\n * becomes this:\n * const f = () => {}; exports.f = f;\n *\n * The variable is unused (e.g. exports.f has the true value of the export).\n * We need to produce an assignment of this form so that the function will\n * have an inferred name of \"f\", which wouldn't happen in the more general\n * case below.\n */\n processSimpleExportVar() {\n this.tokens.removeInitialToken();\n this.tokens.copyToken();\n const varName = this.tokens.identifierName();\n while (!this.tokens.matches1(TokenType.eq)) {\n this.rootTransformer.processToken();\n }\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(`; exports.${varName} = ${varName}`);\n }\n /**\n * Transform normal declaration exports, including handling destructuring.\n * For example, this:\n * export const {x: [a = 2, b], c} = d;\n * becomes this:\n * ({x: [exports.a = 2, exports.b], c: exports.c} = d;)\n */\n processComplexExportVar() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const needsParens = this.tokens.matches1(TokenType.braceL);\n if (needsParens) {\n this.tokens.appendCode(\"(\");\n }\n let depth = 0;\n while (true) {\n if (this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.dollarBraceL) || this.tokens.matches1(TokenType.bracketL)) {\n depth++;\n this.tokens.copyToken();\n } else if (this.tokens.matches1(TokenType.braceR) || this.tokens.matches1(TokenType.bracketR)) {\n depth--;\n this.tokens.copyToken();\n } else if (depth === 0 && !this.tokens.matches1(TokenType.name) && !this.tokens.currentToken().isType) {\n break;\n } else if (this.tokens.matches1(TokenType.eq)) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n } else {\n const token = this.tokens.currentToken();\n if (isDeclaration(token)) {\n const name = this.tokens.identifierName();\n let replacement = this.importProcessor.getIdentifierReplacement(name);\n if (replacement === null) {\n throw new Error(`Expected a replacement for ${name} in \\`export var\\` syntax.`);\n }\n if (isObjectShorthandDeclaration(token)) {\n replacement = `${name}: ${replacement}`;\n }\n this.tokens.replaceToken(replacement);\n } else {\n this.rootTransformer.processToken();\n }\n }\n }\n if (needsParens) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(\")\");\n }\n }\n /**\n * Transform this:\n * export function foo() {}\n * into this:\n * function foo() {} exports.foo = foo;\n */\n processExportFunction() {\n this.tokens.replaceToken(\"\");\n const name = this.processNamedFunction();\n this.tokens.appendCode(` exports.${name} = ${name};`);\n }\n /**\n * Skip past a function with a name and return that name.\n */\n processNamedFunction() {\n if (this.tokens.matches1(TokenType._function)) {\n this.tokens.copyToken();\n } else if (this.tokens.matches2(TokenType.name, TokenType._function)) {\n if (!this.tokens.matchesContextual(ContextualKeyword._async)) {\n throw new Error(\"Expected async keyword in function export.\");\n }\n this.tokens.copyToken();\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.star)) {\n this.tokens.copyToken();\n }\n if (!this.tokens.matches1(TokenType.name)) {\n throw new Error(\"Expected identifier for exported function name.\");\n }\n const name = this.tokens.identifierName();\n this.tokens.copyToken();\n if (this.tokens.currentToken().isType) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentToken().isType) {\n this.tokens.removeToken();\n }\n }\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n this.rootTransformer.processPossibleTypeRange();\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.braceR);\n return name;\n }\n /**\n * Transform this:\n * export class A {}\n * into this:\n * class A {} exports.A = A;\n */\n processExportClass() {\n this.tokens.removeInitialToken();\n this.copyDecorators();\n if (this.tokens.matches1(TokenType._abstract)) {\n this.tokens.removeToken();\n }\n const name = this.rootTransformer.processNamedClass();\n this.tokens.appendCode(` exports.${name} = ${name};`);\n }\n /**\n * Transform this:\n * export {a, b as c};\n * into this:\n * exports.a = a; exports.c = b;\n *\n * OR\n *\n * Transform this:\n * export {a, b as c} from './foo';\n * into the pre-generated Object.defineProperty code from the ImportProcessor.\n *\n * For the first case, if the TypeScript transform is enabled, we need to skip\n * exports that are only defined as types.\n */\n processExportBindings() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const isReExport = isExportFrom(this.tokens);\n const exportStatements = [];\n while (true) {\n if (this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n break;\n }\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n const shouldRemoveExport = specifierInfo.isType || !isReExport && this.shouldElideExportedIdentifier(specifierInfo.leftName);\n if (!shouldRemoveExport) {\n const exportedName = specifierInfo.rightName;\n if (exportedName === \"default\") {\n this.hadDefaultExport = true;\n } else {\n this.hadNamedExport = true;\n }\n const localName = specifierInfo.leftName;\n const newLocalName = this.importProcessor.getIdentifierReplacement(localName);\n exportStatements.push(`exports.${exportedName} = ${newLocalName || localName};`);\n }\n if (this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n break;\n }\n if (this.tokens.matches2(TokenType.comma, TokenType.braceR)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n break;\n } else if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.currentToken())}`);\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from)) {\n this.tokens.removeToken();\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n removeMaybeImportAttributes(this.tokens);\n } else {\n this.tokens.appendCode(exportStatements.join(\" \"));\n }\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n processExportStar() {\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n shouldElideExportedIdentifier(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.declarationInfo.valueDeclarations.has(name);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ESMImportTransformer.js\n var ESMImportTransformer = class extends Transformer {\n constructor(tokens, nameManager, helperManager, reactHotLoaderTransformer, isTypeScriptTransformEnabled, isFlowTransformEnabled, keepUnusedImports, options2) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n this.helperManager = helperManager;\n this.reactHotLoaderTransformer = reactHotLoaderTransformer;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.isFlowTransformEnabled = isFlowTransformEnabled;\n this.keepUnusedImports = keepUnusedImports;\n ;\n this.nonTypeIdentifiers = isTypeScriptTransformEnabled && !keepUnusedImports ? getNonTypeIdentifiers(tokens, options2) : /* @__PURE__ */ new Set();\n this.declarationInfo = isTypeScriptTransformEnabled && !keepUnusedImports ? getDeclarationInfo(tokens) : EMPTY_DECLARATION_INFO;\n this.injectCreateRequireForImportRequire = Boolean(options2.injectCreateRequireForImportRequire);\n }\n process() {\n if (this.tokens.matches3(TokenType._import, TokenType.name, TokenType.eq)) {\n return this.processImportEquals();\n }\n if (this.tokens.matches4(TokenType._import, TokenType.name, TokenType.name, TokenType.eq) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n for (let i = 0; i < 7; i++) {\n this.tokens.removeToken();\n }\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType.eq)) {\n this.tokens.replaceToken(\"module.exports\");\n return true;\n }\n if (this.tokens.matches5(TokenType._export, TokenType._import, TokenType.name, TokenType.name, TokenType.eq) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 2, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n for (let i = 0; i < 8; i++) {\n this.tokens.removeToken();\n }\n return true;\n }\n if (this.tokens.matches1(TokenType._import)) {\n return this.processImport();\n }\n if (this.tokens.matches2(TokenType._export, TokenType._default)) {\n return this.processExportDefault();\n }\n if (this.tokens.matches2(TokenType._export, TokenType.braceL)) {\n return this.processNamedExports();\n }\n if (this.tokens.matches2(TokenType._export, TokenType.name) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.braceL)) {\n while (!this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n } else {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType._as)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from) && this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.string)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n return false;\n }\n processImportEquals() {\n const importName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n if (this.shouldAutomaticallyElideImportedName(importName)) {\n elideImportEquals(this.tokens);\n } else if (this.injectCreateRequireForImportRequire) {\n this.tokens.replaceToken(\"const\");\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.replaceToken(this.helperManager.getHelperName(\"require\"));\n } else {\n this.tokens.replaceToken(\"const\");\n }\n return true;\n }\n processImport() {\n if (this.tokens.matches2(TokenType._import, TokenType.parenL)) {\n return false;\n }\n const snapshot = this.tokens.snapshot();\n const allImportsRemoved = this.removeImportTypeBindings();\n if (allImportsRemoved) {\n this.tokens.restoreToSnapshot(snapshot);\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n return true;\n }\n /**\n * Remove type bindings from this import, leaving the rest of the import intact.\n *\n * Return true if this import was ONLY types, and thus is eligible for removal. This will bail out\n * of the replacement operation, so we can return early here.\n */\n removeImportTypeBindings() {\n this.tokens.copyExpectedToken(TokenType._import);\n if (this.tokens.matchesContextual(ContextualKeyword._type) && !this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._from)) {\n return true;\n }\n if (this.tokens.matches1(TokenType.string)) {\n this.tokens.copyToken();\n return false;\n }\n if (this.tokens.matchesContextual(ContextualKeyword._module) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 2, ContextualKeyword._from)) {\n this.tokens.copyToken();\n }\n let foundNonTypeImport = false;\n let foundAnyNamedImport = false;\n let needsComma = false;\n if (this.tokens.matches1(TokenType.name)) {\n if (this.shouldAutomaticallyElideImportedName(this.tokens.identifierName())) {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeImport = true;\n this.tokens.copyToken();\n if (this.tokens.matches1(TokenType.comma)) {\n needsComma = true;\n this.tokens.removeToken();\n }\n }\n }\n if (this.tokens.matches1(TokenType.star)) {\n if (this.shouldAutomaticallyElideImportedName(this.tokens.identifierNameAtRelativeIndex(2))) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n } else {\n if (needsComma) {\n this.tokens.appendCode(\",\");\n }\n foundNonTypeImport = true;\n this.tokens.copyExpectedToken(TokenType.star);\n this.tokens.copyExpectedToken(TokenType.name);\n this.tokens.copyExpectedToken(TokenType.name);\n }\n } else if (this.tokens.matches1(TokenType.braceL)) {\n if (needsComma) {\n this.tokens.appendCode(\",\");\n }\n this.tokens.copyToken();\n while (!this.tokens.matches1(TokenType.braceR)) {\n foundAnyNamedImport = true;\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n if (specifierInfo.isType || this.shouldAutomaticallyElideImportedName(specifierInfo.rightName)) {\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeImport = true;\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n }\n if (this.keepUnusedImports) {\n return false;\n }\n if (this.isTypeScriptTransformEnabled) {\n return !foundNonTypeImport;\n } else if (this.isFlowTransformEnabled) {\n return foundAnyNamedImport && !foundNonTypeImport;\n } else {\n return false;\n }\n }\n shouldAutomaticallyElideImportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.nonTypeIdentifiers.has(name);\n }\n processExportDefault() {\n if (shouldElideDefaultExport(\n this.isTypeScriptTransformEnabled,\n this.keepUnusedImports,\n this.tokens,\n this.declarationInfo\n )) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n return true;\n }\n const alreadyHasName = this.tokens.matches4(TokenType._export, TokenType._default, TokenType._function, TokenType.name) || // export default async function\n this.tokens.matches5(TokenType._export, TokenType._default, TokenType.name, TokenType._function, TokenType.name) && this.tokens.matchesContextualAtIndex(\n this.tokens.currentIndex() + 2,\n ContextualKeyword._async\n ) || this.tokens.matches4(TokenType._export, TokenType._default, TokenType._class, TokenType.name) || this.tokens.matches5(TokenType._export, TokenType._default, TokenType._abstract, TokenType._class, TokenType.name);\n if (!alreadyHasName && this.reactHotLoaderTransformer) {\n const defaultVarName = this.nameManager.claimFreeName(\"_default\");\n this.tokens.replaceToken(`let ${defaultVarName}; export`);\n this.tokens.copyToken();\n this.tokens.appendCode(` ${defaultVarName} =`);\n this.reactHotLoaderTransformer.setExtractedDefaultExportName(defaultVarName);\n return true;\n }\n return false;\n }\n /**\n * Handle a statement with one of these forms:\n * export {a, type b};\n * export {c, type d} from 'foo';\n *\n * In both cases, any explicit type exports should be removed. In the first\n * case, we also need to handle implicit export elision for names declared as\n * types. In the second case, we must NOT do implicit named export elision,\n * but we must remove the runtime import if all exports are type exports.\n */\n processNamedExports() {\n if (!this.isTypeScriptTransformEnabled) {\n return false;\n }\n this.tokens.copyExpectedToken(TokenType._export);\n this.tokens.copyExpectedToken(TokenType.braceL);\n const isReExport = isExportFrom(this.tokens);\n let foundNonTypeExport = false;\n while (!this.tokens.matches1(TokenType.braceR)) {\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n if (specifierInfo.isType || !isReExport && this.shouldElideExportedName(specifierInfo.leftName)) {\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeExport = true;\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n if (!this.keepUnusedImports && isReExport && !foundNonTypeExport) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n /**\n * ESM elides all imports with the rule that we only elide if we see that it's\n * a type and never see it as a value. This is in contrast to CJS, which\n * elides imports that are completely unknown.\n */\n shouldElideExportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && this.declarationInfo.typeDeclarations.has(name) && !this.declarationInfo.valueDeclarations.has(name);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/FlowTransformer.js\n var FlowTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, isImportsTransformEnabled) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.isImportsTransformEnabled = isImportsTransformEnabled;\n ;\n }\n process() {\n if (this.rootTransformer.processPossibleArrowParamEnd() || this.rootTransformer.processPossibleAsyncArrowWithTypeParams() || this.rootTransformer.processPossibleTypeRange()) {\n return true;\n }\n if (this.tokens.matches1(TokenType._enum)) {\n this.processEnum();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._enum)) {\n this.processNamedExportEnum();\n return true;\n }\n if (this.tokens.matches3(TokenType._export, TokenType._default, TokenType._enum)) {\n this.processDefaultExportEnum();\n return true;\n }\n return false;\n }\n /**\n * Handle a declaration like:\n * export enum E ...\n *\n * With this imports transform, this becomes:\n * const E = [[enum]]; exports.E = E;\n *\n * otherwise, it becomes:\n * export const E = [[enum]];\n */\n processNamedExportEnum() {\n if (this.isImportsTransformEnabled) {\n this.tokens.removeInitialToken();\n const enumName = this.tokens.identifierNameAtRelativeIndex(1);\n this.processEnum();\n this.tokens.appendCode(` exports.${enumName} = ${enumName};`);\n } else {\n this.tokens.copyToken();\n this.processEnum();\n }\n }\n /**\n * Handle a declaration like:\n * export default enum E\n *\n * With the imports transform, this becomes:\n * const E = [[enum]]; exports.default = E;\n *\n * otherwise, it becomes:\n * const E = [[enum]]; export default E;\n */\n processDefaultExportEnum() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const enumName = this.tokens.identifierNameAtRelativeIndex(1);\n this.processEnum();\n if (this.isImportsTransformEnabled) {\n this.tokens.appendCode(` exports.default = ${enumName};`);\n } else {\n this.tokens.appendCode(` export default ${enumName};`);\n }\n }\n /**\n * Transpile flow enums to invoke the \"flow-enums-runtime\" library.\n *\n * Currently, the transpiled code always uses `require(\"flow-enums-runtime\")`,\n * but if future flexibility is needed, we could expose a config option for\n * this string (similar to configurable JSX). Even when targeting ESM, the\n * default behavior of babel-plugin-transform-flow-enums is to use require\n * rather than injecting an import.\n *\n * Flow enums are quite a bit simpler than TS enums and have some convenient\n * constraints:\n * - Element initializers must be either always present or always absent. That\n * means that we can use fixed lookahead on the first element (if any) and\n * assume that all elements are like that.\n * - The right-hand side of an element initializer must be a literal value,\n * not a complex expression and not referencing other elements. That means\n * we can simply copy a single token.\n *\n * Enums can be broken up into three basic cases:\n *\n * Mirrored enums:\n * enum E {A, B}\n * ->\n * const E = require(\"flow-enums-runtime\").Mirrored([\"A\", \"B\"]);\n *\n * Initializer enums:\n * enum E {A = 1, B = 2}\n * ->\n * const E = require(\"flow-enums-runtime\")({A: 1, B: 2});\n *\n * Symbol enums:\n * enum E of symbol {A, B}\n * ->\n * const E = require(\"flow-enums-runtime\")({A: Symbol(\"A\"), B: Symbol(\"B\")});\n *\n * We can statically detect which of the three cases this is by looking at the\n * \"of\" declaration (if any) and seeing if the first element has an initializer.\n * Since the other transform details are so similar between the three cases, we\n * use a single implementation and vary the transform within processEnumElement\n * based on case.\n */\n processEnum() {\n this.tokens.replaceToken(\"const\");\n this.tokens.copyExpectedToken(TokenType.name);\n let isSymbolEnum = false;\n if (this.tokens.matchesContextual(ContextualKeyword._of)) {\n this.tokens.removeToken();\n isSymbolEnum = this.tokens.matchesContextual(ContextualKeyword._symbol);\n this.tokens.removeToken();\n }\n const hasInitializers = this.tokens.matches3(TokenType.braceL, TokenType.name, TokenType.eq);\n this.tokens.appendCode(' = require(\"flow-enums-runtime\")');\n const isMirrored = !isSymbolEnum && !hasInitializers;\n this.tokens.replaceTokenTrimmingLeftWhitespace(isMirrored ? \".Mirrored([\" : \"({\");\n while (!this.tokens.matches1(TokenType.braceR)) {\n if (this.tokens.matches1(TokenType.ellipsis)) {\n this.tokens.removeToken();\n break;\n }\n this.processEnumElement(isSymbolEnum, hasInitializers);\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n this.tokens.replaceToken(isMirrored ? \"]);\" : \"});\");\n }\n /**\n * Process an individual enum element, producing either an array element or an\n * object element based on what type of enum this is.\n */\n processEnumElement(isSymbolEnum, hasInitializers) {\n if (isSymbolEnum) {\n const elementName = this.tokens.identifierName();\n this.tokens.copyToken();\n this.tokens.appendCode(`: Symbol(\"${elementName}\")`);\n } else if (hasInitializers) {\n this.tokens.copyToken();\n this.tokens.replaceTokenTrimmingLeftWhitespace(\":\");\n this.tokens.copyToken();\n } else {\n this.tokens.replaceToken(`\"${this.tokens.identifierName()}\"`);\n }\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/JestHoistTransformer.js\n function _optionalChain(ops) {\n let lastAccessLHS = void 0;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === \"optionalAccess\" || op === \"optionalCall\") && value == null) {\n return void 0;\n }\n if (op === \"access\" || op === \"optionalAccess\") {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === \"call\" || op === \"optionalCall\") {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = void 0;\n }\n }\n return value;\n }\n var JEST_GLOBAL_NAME = \"jest\";\n var HOISTED_METHODS = [\"mock\", \"unmock\", \"enableAutomock\", \"disableAutomock\"];\n var JestHoistTransformer = class _JestHoistTransformer extends Transformer {\n __init() {\n this.hoistedFunctionNames = [];\n }\n constructor(rootTransformer, tokens, nameManager, importProcessor) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.nameManager = nameManager;\n this.importProcessor = importProcessor;\n _JestHoistTransformer.prototype.__init.call(this);\n ;\n }\n process() {\n if (this.tokens.currentToken().scopeDepth === 0 && this.tokens.matches4(TokenType.name, TokenType.dot, TokenType.name, TokenType.parenL) && this.tokens.identifierName() === JEST_GLOBAL_NAME) {\n if (_optionalChain([this, \"access\", (_) => _.importProcessor, \"optionalAccess\", (_2) => _2.getGlobalNames, \"call\", (_3) => _3(), \"optionalAccess\", (_4) => _4.has, \"call\", (_5) => _5(JEST_GLOBAL_NAME)])) {\n return false;\n }\n return this.extractHoistedCalls();\n }\n return false;\n }\n getHoistedCode() {\n if (this.hoistedFunctionNames.length > 0) {\n return this.hoistedFunctionNames.map((name) => `${name}();`).join(\"\");\n }\n return \"\";\n }\n /**\n * Extracts any methods calls on the jest-object that should be hoisted.\n *\n * According to the jest docs, https://jestjs.io/docs/en/jest-object#jestmockmodulename-factory-options,\n * mock, unmock, enableAutomock, disableAutomock, are the methods that should be hoisted.\n *\n * We do not apply the same checks of the arguments as babel-plugin-jest-hoist does.\n */\n extractHoistedCalls() {\n this.tokens.removeToken();\n let followsNonHoistedJestCall = false;\n while (this.tokens.matches3(TokenType.dot, TokenType.name, TokenType.parenL)) {\n const methodName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n const shouldHoist = HOISTED_METHODS.includes(methodName);\n if (shouldHoist) {\n const hoistedFunctionName = this.nameManager.claimFreeName(\"__jestHoist\");\n this.hoistedFunctionNames.push(hoistedFunctionName);\n this.tokens.replaceToken(`function ${hoistedFunctionName}(){${JEST_GLOBAL_NAME}.`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n this.tokens.appendCode(\";}\");\n followsNonHoistedJestCall = false;\n } else {\n if (followsNonHoistedJestCall) {\n this.tokens.copyToken();\n } else {\n this.tokens.replaceToken(`${JEST_GLOBAL_NAME}.`);\n }\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n followsNonHoistedJestCall = true;\n }\n }\n return true;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/NumericSeparatorTransformer.js\n var NumericSeparatorTransformer = class extends Transformer {\n constructor(tokens) {\n super();\n this.tokens = tokens;\n ;\n }\n process() {\n if (this.tokens.matches1(TokenType.num)) {\n const code = this.tokens.currentTokenCode();\n if (code.includes(\"_\")) {\n this.tokens.replaceToken(code.replace(/_/g, \"\"));\n return true;\n }\n }\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/OptionalCatchBindingTransformer.js\n var OptionalCatchBindingTransformer = class extends Transformer {\n constructor(tokens, nameManager) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n ;\n }\n process() {\n if (this.tokens.matches2(TokenType._catch, TokenType.braceL)) {\n this.tokens.copyToken();\n this.tokens.appendCode(` (${this.nameManager.claimFreeName(\"e\")})`);\n return true;\n }\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/OptionalChainingNullishTransformer.js\n var OptionalChainingNullishTransformer = class extends Transformer {\n constructor(tokens, nameManager) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n ;\n }\n process() {\n if (this.tokens.matches1(TokenType.nullishCoalescing)) {\n const token2 = this.tokens.currentToken();\n if (this.tokens.tokens[token2.nullishStartIndex].isAsyncOperation) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(\", async () => (\");\n } else {\n this.tokens.replaceTokenTrimmingLeftWhitespace(\", () => (\");\n }\n return true;\n }\n if (this.tokens.matches1(TokenType._delete)) {\n const nextToken2 = this.tokens.tokenAtRelativeIndex(1);\n if (nextToken2.isOptionalChainStart) {\n this.tokens.removeInitialToken();\n return true;\n }\n }\n const token = this.tokens.currentToken();\n const chainStart = token.subscriptStartIndex;\n if (chainStart != null && this.tokens.tokens[chainStart].isOptionalChainStart && // Super subscripts can't be optional (since super is never null/undefined), and the syntax\n // relies on the subscript being intact, so leave this token alone.\n this.tokens.tokenAtRelativeIndex(-1).type !== TokenType._super) {\n const param = this.nameManager.claimFreeName(\"_\");\n let arrowStartSnippet;\n if (chainStart > 0 && this.tokens.matches1AtIndex(chainStart - 1, TokenType._delete) && this.isLastSubscriptInChain()) {\n arrowStartSnippet = `${param} => delete ${param}`;\n } else {\n arrowStartSnippet = `${param} => ${param}`;\n }\n if (this.tokens.tokens[chainStart].isAsyncOperation) {\n arrowStartSnippet = `async ${arrowStartSnippet}`;\n }\n if (this.tokens.matches2(TokenType.questionDot, TokenType.parenL) || this.tokens.matches2(TokenType.questionDot, TokenType.lessThan)) {\n if (this.justSkippedSuper()) {\n this.tokens.appendCode(\".bind(this)\");\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalCall', ${arrowStartSnippet}`);\n } else if (this.tokens.matches2(TokenType.questionDot, TokenType.bracketL)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${arrowStartSnippet}`);\n } else if (this.tokens.matches1(TokenType.questionDot)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${arrowStartSnippet}.`);\n } else if (this.tokens.matches1(TokenType.dot)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${arrowStartSnippet}.`);\n } else if (this.tokens.matches1(TokenType.bracketL)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${arrowStartSnippet}[`);\n } else if (this.tokens.matches1(TokenType.parenL)) {\n if (this.justSkippedSuper()) {\n this.tokens.appendCode(\".bind(this)\");\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'call', ${arrowStartSnippet}(`);\n } else {\n throw new Error(\"Unexpected subscript operator in optional chain.\");\n }\n return true;\n }\n return false;\n }\n /**\n * Determine if the current token is the last of its chain, so that we know whether it's eligible\n * to have a delete op inserted.\n *\n * We can do this by walking forward until we determine one way or another. Each\n * isOptionalChainStart token must be paired with exactly one isOptionalChainEnd token after it in\n * a nesting way, so we can track depth and walk to the end of the chain (the point where the\n * depth goes negative) and see if any other subscript token is after us in the chain.\n */\n isLastSubscriptInChain() {\n let depth = 0;\n for (let i = this.tokens.currentIndex() + 1; ; i++) {\n if (i >= this.tokens.tokens.length) {\n throw new Error(\"Reached the end of the code while finding the end of the access chain.\");\n }\n if (this.tokens.tokens[i].isOptionalChainStart) {\n depth++;\n } else if (this.tokens.tokens[i].isOptionalChainEnd) {\n depth--;\n }\n if (depth < 0) {\n return true;\n }\n if (depth === 0 && this.tokens.tokens[i].subscriptStartIndex != null) {\n return false;\n }\n }\n }\n /**\n * Determine if we are the open-paren in an expression like super.a()?.b.\n *\n * We can do this by walking backward to find the previous subscript. If that subscript was\n * preceded by a super, then we must be the subscript after it, so if this is a call expression,\n * we'll need to attach the right context.\n */\n justSkippedSuper() {\n let depth = 0;\n let index2 = this.tokens.currentIndex() - 1;\n while (true) {\n if (index2 < 0) {\n throw new Error(\n \"Reached the start of the code while finding the start of the access chain.\"\n );\n }\n if (this.tokens.tokens[index2].isOptionalChainStart) {\n depth--;\n } else if (this.tokens.tokens[index2].isOptionalChainEnd) {\n depth++;\n }\n if (depth < 0) {\n return false;\n }\n if (depth === 0 && this.tokens.tokens[index2].subscriptStartIndex != null) {\n return this.tokens.tokens[index2 - 1].type === TokenType._super;\n }\n index2--;\n }\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ReactDisplayNameTransformer.js\n var ReactDisplayNameTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, importProcessor, options2) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.options = options2;\n ;\n }\n process() {\n const startIndex = this.tokens.currentIndex();\n if (this.tokens.identifierName() === \"createReactClass\") {\n const newName = this.importProcessor && this.importProcessor.getIdentifierReplacement(\"createReactClass\");\n if (newName) {\n this.tokens.replaceToken(`(0, ${newName})`);\n } else {\n this.tokens.copyToken();\n }\n this.tryProcessCreateClassCall(startIndex);\n return true;\n }\n if (this.tokens.matches3(TokenType.name, TokenType.dot, TokenType.name) && this.tokens.identifierName() === \"React\" && this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 2) === \"createClass\") {\n const newName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(\"React\") || \"React\" : \"React\";\n if (newName) {\n this.tokens.replaceToken(newName);\n this.tokens.copyToken();\n this.tokens.copyToken();\n } else {\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.copyToken();\n }\n this.tryProcessCreateClassCall(startIndex);\n return true;\n }\n return false;\n }\n /**\n * This is called with the token position at the open-paren.\n */\n tryProcessCreateClassCall(startIndex) {\n const displayName = this.findDisplayName(startIndex);\n if (!displayName) {\n return;\n }\n if (this.classNeedsDisplayName()) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.tokens.appendCode(`displayName: '${displayName}',`);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.braceR);\n this.tokens.copyExpectedToken(TokenType.parenR);\n }\n }\n findDisplayName(startIndex) {\n if (startIndex < 2) {\n return null;\n }\n if (this.tokens.matches2AtIndex(startIndex - 2, TokenType.name, TokenType.eq)) {\n return this.tokens.identifierNameAtIndex(startIndex - 2);\n }\n if (startIndex >= 2 && this.tokens.tokens[startIndex - 2].identifierRole === IdentifierRole.ObjectKey) {\n return this.tokens.identifierNameAtIndex(startIndex - 2);\n }\n if (this.tokens.matches2AtIndex(startIndex - 2, TokenType._export, TokenType._default)) {\n return this.getDisplayNameFromFilename();\n }\n return null;\n }\n getDisplayNameFromFilename() {\n const filePath = this.options.filePath || \"unknown\";\n const pathSegments = filePath.split(\"/\");\n const filename = pathSegments[pathSegments.length - 1];\n const dotIndex = filename.lastIndexOf(\".\");\n const baseFilename = dotIndex === -1 ? filename : filename.slice(0, dotIndex);\n if (baseFilename === \"index\" && pathSegments[pathSegments.length - 2]) {\n return pathSegments[pathSegments.length - 2];\n } else {\n return baseFilename;\n }\n }\n /**\n * We only want to add a display name when this is a function call containing\n * one argument, which is an object literal without `displayName` as an\n * existing key.\n */\n classNeedsDisplayName() {\n let index2 = this.tokens.currentIndex();\n if (!this.tokens.matches2(TokenType.parenL, TokenType.braceL)) {\n return false;\n }\n const objectStartIndex = index2 + 1;\n const objectContextId = this.tokens.tokens[objectStartIndex].contextId;\n if (objectContextId == null) {\n throw new Error(\"Expected non-null context ID on object open-brace.\");\n }\n for (; index2 < this.tokens.tokens.length; index2++) {\n const token = this.tokens.tokens[index2];\n if (token.type === TokenType.braceR && token.contextId === objectContextId) {\n index2++;\n break;\n }\n if (this.tokens.identifierNameAtIndex(index2) === \"displayName\" && this.tokens.tokens[index2].identifierRole === IdentifierRole.ObjectKey && token.contextId === objectContextId) {\n return false;\n }\n }\n if (index2 === this.tokens.tokens.length) {\n throw new Error(\"Unexpected end of input when processing React class.\");\n }\n return this.tokens.matches1AtIndex(index2, TokenType.parenR) || this.tokens.matches2AtIndex(index2, TokenType.comma, TokenType.parenR);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ReactHotLoaderTransformer.js\n var ReactHotLoaderTransformer = class _ReactHotLoaderTransformer extends Transformer {\n __init() {\n this.extractedDefaultExportName = null;\n }\n constructor(tokens, filePath) {\n super();\n this.tokens = tokens;\n this.filePath = filePath;\n _ReactHotLoaderTransformer.prototype.__init.call(this);\n ;\n }\n setExtractedDefaultExportName(extractedDefaultExportName) {\n this.extractedDefaultExportName = extractedDefaultExportName;\n }\n getPrefixCode() {\n return `\n (function () {\n var enterModule = require('react-hot-loader').enterModule;\n enterModule && enterModule(module);\n })();`.replace(/\\s+/g, \" \").trim();\n }\n getSuffixCode() {\n const topLevelNames = /* @__PURE__ */ new Set();\n for (const token of this.tokens.tokens) {\n if (!token.isType && isTopLevelDeclaration(token) && token.identifierRole !== IdentifierRole.ImportDeclaration) {\n topLevelNames.add(this.tokens.identifierNameForToken(token));\n }\n }\n const namesToRegister = Array.from(topLevelNames).map((name) => ({\n variableName: name,\n uniqueLocalName: name\n }));\n if (this.extractedDefaultExportName) {\n namesToRegister.push({\n variableName: this.extractedDefaultExportName,\n uniqueLocalName: \"default\"\n });\n }\n return `\n;(function () {\n var reactHotLoader = require('react-hot-loader').default;\n var leaveModule = require('react-hot-loader').leaveModule;\n if (!reactHotLoader) {\n return;\n }\n${namesToRegister.map(\n ({ variableName, uniqueLocalName }) => ` reactHotLoader.register(${variableName}, \"${uniqueLocalName}\", ${JSON.stringify(\n this.filePath || \"\"\n )});`\n ).join(\"\\n\")}\n leaveModule(module);\n})();`;\n }\n process() {\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isIdentifier.js\n var RESERVED_WORDS = /* @__PURE__ */ new Set([\n // Reserved keywords as of ECMAScript 2015\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // Future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"await\",\n // Literals that cannot be used as identifiers\n \"false\",\n \"null\",\n \"true\"\n ]);\n function isIdentifier(name) {\n if (name.length === 0) {\n return false;\n }\n if (!IS_IDENTIFIER_START[name.charCodeAt(0)]) {\n return false;\n }\n for (let i = 1; i < name.length; i++) {\n if (!IS_IDENTIFIER_CHAR[name.charCodeAt(i)]) {\n return false;\n }\n }\n return !RESERVED_WORDS.has(name);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/TypeScriptTransformer.js\n var TypeScriptTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, isImportsTransformEnabled) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.isImportsTransformEnabled = isImportsTransformEnabled;\n ;\n }\n process() {\n if (this.rootTransformer.processPossibleArrowParamEnd() || this.rootTransformer.processPossibleAsyncArrowWithTypeParams() || this.rootTransformer.processPossibleTypeRange()) {\n return true;\n }\n if (this.tokens.matches1(TokenType._public) || this.tokens.matches1(TokenType._protected) || this.tokens.matches1(TokenType._private) || this.tokens.matches1(TokenType._abstract) || this.tokens.matches1(TokenType._readonly) || this.tokens.matches1(TokenType._override) || this.tokens.matches1(TokenType.nonNullAssertion)) {\n this.tokens.removeInitialToken();\n return true;\n }\n if (this.tokens.matches1(TokenType._enum) || this.tokens.matches2(TokenType._const, TokenType._enum)) {\n this.processEnum();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._enum) || this.tokens.matches3(TokenType._export, TokenType._const, TokenType._enum)) {\n this.processEnum(true);\n return true;\n }\n return false;\n }\n processEnum(isExport = false) {\n this.tokens.removeInitialToken();\n while (this.tokens.matches1(TokenType._const) || this.tokens.matches1(TokenType._enum)) {\n this.tokens.removeToken();\n }\n const enumName = this.tokens.identifierName();\n this.tokens.removeToken();\n if (isExport && !this.isImportsTransformEnabled) {\n this.tokens.appendCode(\"export \");\n }\n this.tokens.appendCode(`var ${enumName}; (function (${enumName})`);\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.processEnumBody(enumName);\n this.tokens.copyExpectedToken(TokenType.braceR);\n if (isExport && this.isImportsTransformEnabled) {\n this.tokens.appendCode(`)(${enumName} || (exports.${enumName} = ${enumName} = {}));`);\n } else {\n this.tokens.appendCode(`)(${enumName} || (${enumName} = {}));`);\n }\n }\n /**\n * Transform an enum into equivalent JS. This has complexity in a few places:\n * - TS allows string enums, numeric enums, and a mix of the two styles within an enum.\n * - Enum keys are allowed to be referenced in later enum values.\n * - Enum keys are allowed to be strings.\n * - When enum values are omitted, they should follow an auto-increment behavior.\n */\n processEnumBody(enumName) {\n let previousValueCode = null;\n while (true) {\n if (this.tokens.matches1(TokenType.braceR)) {\n break;\n }\n const { nameStringCode, variableName } = this.extractEnumKeyInfo(this.tokens.currentToken());\n this.tokens.removeInitialToken();\n if (this.tokens.matches3(TokenType.eq, TokenType.string, TokenType.comma) || this.tokens.matches3(TokenType.eq, TokenType.string, TokenType.braceR)) {\n this.processStringLiteralEnumMember(enumName, nameStringCode, variableName);\n } else if (this.tokens.matches1(TokenType.eq)) {\n this.processExplicitValueEnumMember(enumName, nameStringCode, variableName);\n } else {\n this.processImplicitValueEnumMember(\n enumName,\n nameStringCode,\n variableName,\n previousValueCode\n );\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n if (variableName != null) {\n previousValueCode = variableName;\n } else {\n previousValueCode = `${enumName}[${nameStringCode}]`;\n }\n }\n }\n /**\n * Detect name information about this enum key, which will be used to determine which code to emit\n * and whether we should declare a variable as part of this declaration.\n *\n * Some cases to keep in mind:\n * - Enum keys can be implicitly referenced later, e.g. `X = 1, Y = X`. In Sucrase, we implement\n * this by declaring a variable `X` so that later expressions can use it.\n * - In addition to the usual identifier key syntax, enum keys are allowed to be string literals,\n * e.g. `\"hello world\" = 3,`. Template literal syntax is NOT allowed.\n * - Even if the enum key is defined as a string literal, it may still be referenced by identifier\n * later, e.g. `\"X\" = 1, Y = X`. That means that we need to detect whether or not a string\n * literal is identifier-like and emit a variable if so, even if the declaration did not use an\n * identifier.\n * - Reserved keywords like `break` are valid enum keys, but are not valid to be referenced later\n * and would be a syntax error if we emitted a variable, so we need to skip the variable\n * declaration in those cases.\n *\n * The variableName return value captures these nuances: if non-null, we can and must emit a\n * variable declaration, and if null, we can't and shouldn't.\n */\n extractEnumKeyInfo(nameToken) {\n if (nameToken.type === TokenType.name) {\n const name = this.tokens.identifierNameForToken(nameToken);\n return {\n nameStringCode: `\"${name}\"`,\n variableName: isIdentifier(name) ? name : null\n };\n } else if (nameToken.type === TokenType.string) {\n const name = this.tokens.stringValueForToken(nameToken);\n return {\n nameStringCode: this.tokens.code.slice(nameToken.start, nameToken.end),\n variableName: isIdentifier(name) ? name : null\n };\n } else {\n throw new Error(\"Expected name or string at beginning of enum element.\");\n }\n }\n /**\n * Handle an enum member where the RHS is just a string literal (not omitted, not a number, and\n * not a complex expression). This is the typical form for TS string enums, and in this case, we\n * do *not* create a reverse mapping.\n *\n * This is called after deleting the key token, when the token processor is at the equals sign.\n *\n * Example 1:\n * someKey = \"some value\"\n * ->\n * const someKey = \"some value\"; MyEnum[\"someKey\"] = someKey;\n *\n * Example 2:\n * \"some key\" = \"some value\"\n * ->\n * MyEnum[\"some key\"] = \"some value\";\n */\n processStringLiteralEnumMember(enumName, nameStringCode, variableName) {\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName}`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.appendCode(`; ${enumName}[${nameStringCode}] = ${variableName};`);\n } else {\n this.tokens.appendCode(`${enumName}[${nameStringCode}]`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.appendCode(\";\");\n }\n }\n /**\n * Handle an enum member initialized with an expression on the right-hand side (other than a\n * string literal). In these cases, we should transform the expression and emit code that sets up\n * a reverse mapping.\n *\n * The TypeScript implementation of this operation distinguishes between expressions that can be\n * \"constant folded\" at compile time (i.e. consist of number literals and simple math operations\n * on those numbers) and ones that are dynamic. For constant expressions, it emits the resolved\n * numeric value, and auto-incrementing is only allowed in that case. Evaluating expressions at\n * compile time would add significant complexity to Sucrase, so Sucrase instead leaves the\n * expression as-is, and will later emit something like `MyEnum[\"previousKey\"] + 1` to implement\n * auto-incrementing.\n *\n * This is called after deleting the key token, when the token processor is at the equals sign.\n *\n * Example 1:\n * someKey = 1 + 1\n * ->\n * const someKey = 1 + 1; MyEnum[MyEnum[\"someKey\"] = someKey] = \"someKey\";\n *\n * Example 2:\n * \"some key\" = 1 + 1\n * ->\n * MyEnum[MyEnum[\"some key\"] = 1 + 1] = \"some key\";\n */\n processExplicitValueEnumMember(enumName, nameStringCode, variableName) {\n const rhsEndIndex = this.tokens.currentToken().rhsEndIndex;\n if (rhsEndIndex == null) {\n throw new Error(\"Expected rhsEndIndex on enum assign.\");\n }\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName}`);\n this.tokens.copyToken();\n while (this.tokens.currentIndex() < rhsEndIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(\n `; ${enumName}[${enumName}[${nameStringCode}] = ${variableName}] = ${nameStringCode};`\n );\n } else {\n this.tokens.appendCode(`${enumName}[${enumName}[${nameStringCode}]`);\n this.tokens.copyToken();\n while (this.tokens.currentIndex() < rhsEndIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(`] = ${nameStringCode};`);\n }\n }\n /**\n * Handle an enum member with no right-hand side expression. In this case, the value is the\n * previous value plus 1, or 0 if there was no previous value. We should also always emit a\n * reverse mapping.\n *\n * Example 1:\n * someKey2\n * ->\n * const someKey2 = someKey1 + 1; MyEnum[MyEnum[\"someKey2\"] = someKey2] = \"someKey2\";\n *\n * Example 2:\n * \"some key 2\"\n * ->\n * MyEnum[MyEnum[\"some key 2\"] = someKey1 + 1] = \"some key 2\";\n */\n processImplicitValueEnumMember(enumName, nameStringCode, variableName, previousValueCode) {\n let valueCode = previousValueCode != null ? `${previousValueCode} + 1` : \"0\";\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName} = ${valueCode}; `);\n valueCode = variableName;\n }\n this.tokens.appendCode(\n `${enumName}[${enumName}[${nameStringCode}] = ${valueCode}] = ${nameStringCode};`\n );\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/RootTransformer.js\n var RootTransformer = class _RootTransformer {\n __init() {\n this.transformers = [];\n }\n __init2() {\n this.generatedVariables = [];\n }\n constructor(sucraseContext, transforms, enableLegacyBabel5ModuleInterop, options2) {\n ;\n _RootTransformer.prototype.__init.call(this);\n _RootTransformer.prototype.__init2.call(this);\n this.nameManager = sucraseContext.nameManager;\n this.helperManager = sucraseContext.helperManager;\n const { tokenProcessor, importProcessor } = sucraseContext;\n this.tokens = tokenProcessor;\n this.isImportsTransformEnabled = transforms.includes(\"imports\");\n this.isReactHotLoaderTransformEnabled = transforms.includes(\"react-hot-loader\");\n this.disableESTransforms = Boolean(options2.disableESTransforms);\n if (!options2.disableESTransforms) {\n this.transformers.push(\n new OptionalChainingNullishTransformer(tokenProcessor, this.nameManager)\n );\n this.transformers.push(new NumericSeparatorTransformer(tokenProcessor));\n this.transformers.push(new OptionalCatchBindingTransformer(tokenProcessor, this.nameManager));\n }\n if (transforms.includes(\"jsx\")) {\n if (options2.jsxRuntime !== \"preserve\") {\n this.transformers.push(\n new JSXTransformer(this, tokenProcessor, importProcessor, this.nameManager, options2)\n );\n }\n this.transformers.push(\n new ReactDisplayNameTransformer(this, tokenProcessor, importProcessor, options2)\n );\n }\n let reactHotLoaderTransformer = null;\n if (transforms.includes(\"react-hot-loader\")) {\n if (!options2.filePath) {\n throw new Error(\"filePath is required when using the react-hot-loader transform.\");\n }\n reactHotLoaderTransformer = new ReactHotLoaderTransformer(tokenProcessor, options2.filePath);\n this.transformers.push(reactHotLoaderTransformer);\n }\n if (transforms.includes(\"imports\")) {\n if (importProcessor === null) {\n throw new Error(\"Expected non-null importProcessor with imports transform enabled.\");\n }\n this.transformers.push(\n new CJSImportTransformer(\n this,\n tokenProcessor,\n importProcessor,\n this.nameManager,\n this.helperManager,\n reactHotLoaderTransformer,\n enableLegacyBabel5ModuleInterop,\n Boolean(options2.enableLegacyTypeScriptModuleInterop),\n transforms.includes(\"typescript\"),\n transforms.includes(\"flow\"),\n Boolean(options2.preserveDynamicImport),\n Boolean(options2.keepUnusedImports)\n )\n );\n } else {\n this.transformers.push(\n new ESMImportTransformer(\n tokenProcessor,\n this.nameManager,\n this.helperManager,\n reactHotLoaderTransformer,\n transforms.includes(\"typescript\"),\n transforms.includes(\"flow\"),\n Boolean(options2.keepUnusedImports),\n options2\n )\n );\n }\n if (transforms.includes(\"flow\")) {\n this.transformers.push(\n new FlowTransformer(this, tokenProcessor, transforms.includes(\"imports\"))\n );\n }\n if (transforms.includes(\"typescript\")) {\n this.transformers.push(\n new TypeScriptTransformer(this, tokenProcessor, transforms.includes(\"imports\"))\n );\n }\n if (transforms.includes(\"jest\")) {\n this.transformers.push(\n new JestHoistTransformer(this, tokenProcessor, this.nameManager, importProcessor)\n );\n }\n }\n transform() {\n this.tokens.reset();\n this.processBalancedCode();\n const shouldAddUseStrict = this.isImportsTransformEnabled;\n let prefix2 = shouldAddUseStrict ? '\"use strict\";' : \"\";\n for (const transformer4 of this.transformers) {\n prefix2 += transformer4.getPrefixCode();\n }\n prefix2 += this.helperManager.emitHelpers();\n prefix2 += this.generatedVariables.map((v) => ` var ${v};`).join(\"\");\n for (const transformer4 of this.transformers) {\n prefix2 += transformer4.getHoistedCode();\n }\n let suffix2 = \"\";\n for (const transformer4 of this.transformers) {\n suffix2 += transformer4.getSuffixCode();\n }\n const result = this.tokens.finish();\n let { code } = result;\n if (code.startsWith(\"#!\")) {\n let newlineIndex = code.indexOf(\"\\n\");\n if (newlineIndex === -1) {\n newlineIndex = code.length;\n code += \"\\n\";\n }\n return {\n code: code.slice(0, newlineIndex + 1) + prefix2 + code.slice(newlineIndex + 1) + suffix2,\n // The hashbang line has no tokens, so shifting the tokens to account\n // for prefix can happen normally.\n mappings: this.shiftMappings(result.mappings, prefix2.length)\n };\n } else {\n return {\n code: prefix2 + code + suffix2,\n mappings: this.shiftMappings(result.mappings, prefix2.length)\n };\n }\n }\n processBalancedCode() {\n let braceDepth = 0;\n let parenDepth = 0;\n while (!this.tokens.isAtEnd()) {\n if (this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.dollarBraceL)) {\n braceDepth++;\n } else if (this.tokens.matches1(TokenType.braceR)) {\n if (braceDepth === 0) {\n return;\n }\n braceDepth--;\n }\n if (this.tokens.matches1(TokenType.parenL)) {\n parenDepth++;\n } else if (this.tokens.matches1(TokenType.parenR)) {\n if (parenDepth === 0) {\n return;\n }\n parenDepth--;\n }\n this.processToken();\n }\n }\n processToken() {\n if (this.tokens.matches1(TokenType._class)) {\n this.processClass();\n return;\n }\n for (const transformer4 of this.transformers) {\n const wasProcessed = transformer4.process();\n if (wasProcessed) {\n return;\n }\n }\n this.tokens.copyToken();\n }\n /**\n * Skip past a class with a name and return that name.\n */\n processNamedClass() {\n if (!this.tokens.matches2(TokenType._class, TokenType.name)) {\n throw new Error(\"Expected identifier for exported class name.\");\n }\n const name = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n this.processClass();\n return name;\n }\n processClass() {\n const classInfo = getClassInfo(this, this.tokens, this.nameManager, this.disableESTransforms);\n const needsCommaExpression = (classInfo.headerInfo.isExpression || !classInfo.headerInfo.className) && classInfo.staticInitializerNames.length + classInfo.instanceInitializerNames.length > 0;\n let className = classInfo.headerInfo.className;\n if (needsCommaExpression) {\n className = this.nameManager.claimFreeName(\"_class\");\n this.generatedVariables.push(className);\n this.tokens.appendCode(` (${className} =`);\n }\n const classToken = this.tokens.currentToken();\n const contextId = classToken.contextId;\n if (contextId == null) {\n throw new Error(\"Expected class to have a context ID.\");\n }\n this.tokens.copyExpectedToken(TokenType._class);\n while (!this.tokens.matchesContextIdAndLabel(TokenType.braceL, contextId)) {\n this.processToken();\n }\n this.processClassBody(classInfo, className);\n const staticInitializerStatements = classInfo.staticInitializerNames.map(\n (name) => `${className}.${name}()`\n );\n if (needsCommaExpression) {\n this.tokens.appendCode(\n `, ${staticInitializerStatements.map((s2) => `${s2}, `).join(\"\")}${className})`\n );\n } else if (classInfo.staticInitializerNames.length > 0) {\n this.tokens.appendCode(` ${staticInitializerStatements.map((s2) => `${s2};`).join(\" \")}`);\n }\n }\n /**\n * We want to just handle class fields in all contexts, since TypeScript supports them. Later,\n * when some JS implementations support class fields, this should be made optional.\n */\n processClassBody(classInfo, className) {\n const {\n headerInfo,\n constructorInsertPos,\n constructorInitializerStatements,\n fields,\n instanceInitializerNames,\n rangesToRemove\n } = classInfo;\n let fieldIndex = 0;\n let rangeToRemoveIndex = 0;\n const classContextId = this.tokens.currentToken().contextId;\n if (classContextId == null) {\n throw new Error(\"Expected non-null context ID on class.\");\n }\n this.tokens.copyExpectedToken(TokenType.braceL);\n if (this.isReactHotLoaderTransformEnabled) {\n this.tokens.appendCode(\n \"__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}\"\n );\n }\n const needsConstructorInit = constructorInitializerStatements.length + instanceInitializerNames.length > 0;\n if (constructorInsertPos === null && needsConstructorInit) {\n const constructorInitializersCode = this.makeConstructorInitCode(\n constructorInitializerStatements,\n instanceInitializerNames,\n className\n );\n if (headerInfo.hasSuperclass) {\n const argsName = this.nameManager.claimFreeName(\"args\");\n this.tokens.appendCode(\n `constructor(...${argsName}) { super(...${argsName}); ${constructorInitializersCode}; }`\n );\n } else {\n this.tokens.appendCode(`constructor() { ${constructorInitializersCode}; }`);\n }\n }\n while (!this.tokens.matchesContextIdAndLabel(TokenType.braceR, classContextId)) {\n if (fieldIndex < fields.length && this.tokens.currentIndex() === fields[fieldIndex].start) {\n let needsCloseBrace = false;\n if (this.tokens.matches1(TokenType.bracketL)) {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this`);\n } else if (this.tokens.matches1(TokenType.string) || this.tokens.matches1(TokenType.num)) {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this[`);\n needsCloseBrace = true;\n } else {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this.`);\n }\n while (this.tokens.currentIndex() < fields[fieldIndex].end) {\n if (needsCloseBrace && this.tokens.currentIndex() === fields[fieldIndex].equalsIndex) {\n this.tokens.appendCode(\"]\");\n }\n this.processToken();\n }\n this.tokens.appendCode(\"}\");\n fieldIndex++;\n } else if (rangeToRemoveIndex < rangesToRemove.length && this.tokens.currentIndex() >= rangesToRemove[rangeToRemoveIndex].start) {\n if (this.tokens.currentIndex() < rangesToRemove[rangeToRemoveIndex].end) {\n this.tokens.removeInitialToken();\n }\n while (this.tokens.currentIndex() < rangesToRemove[rangeToRemoveIndex].end) {\n this.tokens.removeToken();\n }\n rangeToRemoveIndex++;\n } else if (this.tokens.currentIndex() === constructorInsertPos) {\n this.tokens.copyToken();\n if (needsConstructorInit) {\n this.tokens.appendCode(\n `;${this.makeConstructorInitCode(\n constructorInitializerStatements,\n instanceInitializerNames,\n className\n )};`\n );\n }\n this.processToken();\n } else {\n this.processToken();\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n }\n makeConstructorInitCode(constructorInitializerStatements, instanceInitializerNames, className) {\n return [\n ...constructorInitializerStatements,\n ...instanceInitializerNames.map((name) => `${className}.prototype.${name}.call(this)`)\n ].join(\";\");\n }\n /**\n * Normally it's ok to simply remove type tokens, but we need to be more careful when dealing with\n * arrow function return types since they can confuse the parser. In that case, we want to move\n * the close-paren to the same line as the arrow.\n *\n * See https://github.com/alangpierce/sucrase/issues/391 for more details.\n */\n processPossibleArrowParamEnd() {\n if (this.tokens.matches2(TokenType.parenR, TokenType.colon) && this.tokens.tokenAtRelativeIndex(1).isType) {\n let nextNonTypeIndex = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[nextNonTypeIndex].isType) {\n nextNonTypeIndex++;\n }\n if (this.tokens.matches1AtIndex(nextNonTypeIndex, TokenType.arrow)) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentIndex() < nextNonTypeIndex) {\n this.tokens.removeToken();\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(\") =>\");\n return true;\n }\n }\n return false;\n }\n /**\n * An async arrow function might be of the form:\n *\n * async <\n * T\n * >() => {}\n *\n * in which case, removing the type parameters will cause a syntax error. Detect this case and\n * move the open-paren earlier.\n */\n processPossibleAsyncArrowWithTypeParams() {\n if (!this.tokens.matchesContextual(ContextualKeyword._async) && !this.tokens.matches1(TokenType._async)) {\n return false;\n }\n const nextToken2 = this.tokens.tokenAtRelativeIndex(1);\n if (nextToken2.type !== TokenType.lessThan || !nextToken2.isType) {\n return false;\n }\n let nextNonTypeIndex = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[nextNonTypeIndex].isType) {\n nextNonTypeIndex++;\n }\n if (this.tokens.matches1AtIndex(nextNonTypeIndex, TokenType.parenL)) {\n this.tokens.replaceToken(\"async (\");\n this.tokens.removeInitialToken();\n while (this.tokens.currentIndex() < nextNonTypeIndex) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n this.processBalancedCode();\n this.processToken();\n return true;\n }\n return false;\n }\n processPossibleTypeRange() {\n if (this.tokens.currentToken().isType) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentToken().isType) {\n this.tokens.removeToken();\n }\n return true;\n }\n return false;\n }\n shiftMappings(mappings, prefixLength) {\n for (let i = 0; i < mappings.length; i++) {\n const mapping = mappings[i];\n if (mapping !== void 0) {\n mappings[i] = mapping + prefixLength;\n }\n }\n return mappings;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/formatTokens.js\n var import_lines_and_columns = __toESM(require_build());\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getTSImportedNames.js\n function getTSImportedNames(tokens) {\n const importedNames = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n if (tokens.matches1AtIndex(i, TokenType._import) && !tokens.matches3AtIndex(i, TokenType._import, TokenType.name, TokenType.eq)) {\n collectNamesForImport(tokens, i, importedNames);\n }\n }\n return importedNames;\n }\n function collectNamesForImport(tokens, index2, importedNames) {\n index2++;\n if (tokens.matches1AtIndex(index2, TokenType.parenL)) {\n return;\n }\n if (tokens.matches1AtIndex(index2, TokenType.name)) {\n importedNames.add(tokens.identifierNameAtIndex(index2));\n index2++;\n if (tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n }\n }\n if (tokens.matches1AtIndex(index2, TokenType.star)) {\n index2 += 2;\n importedNames.add(tokens.identifierNameAtIndex(index2));\n index2++;\n }\n if (tokens.matches1AtIndex(index2, TokenType.braceL)) {\n index2++;\n collectNamesForNamedImport(tokens, index2, importedNames);\n }\n }\n function collectNamesForNamedImport(tokens, index2, importedNames) {\n while (true) {\n if (tokens.matches1AtIndex(index2, TokenType.braceR)) {\n return;\n }\n const specifierInfo = getImportExportSpecifierInfo(tokens, index2);\n index2 = specifierInfo.endIndex;\n if (!specifierInfo.isType) {\n importedNames.add(specifierInfo.rightName);\n }\n if (tokens.matches2AtIndex(index2, TokenType.comma, TokenType.braceR)) {\n return;\n } else if (tokens.matches1AtIndex(index2, TokenType.braceR)) {\n return;\n } else if (tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(tokens.tokens[index2])}`);\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/index.js\n function transform(code, options2) {\n validateOptions(options2);\n try {\n const sucraseContext = getSucraseContext(code, options2);\n const transformer4 = new RootTransformer(\n sucraseContext,\n options2.transforms,\n Boolean(options2.enableLegacyBabel5ModuleInterop),\n options2\n );\n const transformerResult = transformer4.transform();\n let result = { code: transformerResult.code };\n if (options2.sourceMapOptions) {\n if (!options2.filePath) {\n throw new Error(\"filePath must be specified when generating a source map.\");\n }\n result = {\n ...result,\n sourceMap: computeSourceMap(\n transformerResult,\n options2.filePath,\n options2.sourceMapOptions,\n code,\n sucraseContext.tokenProcessor.tokens\n )\n };\n }\n return result;\n } catch (e) {\n if (options2.filePath) {\n e.message = `Error transforming ${options2.filePath}: ${e.message}`;\n }\n throw e;\n }\n }\n function getSucraseContext(code, options2) {\n const isJSXEnabled2 = options2.transforms.includes(\"jsx\");\n const isTypeScriptEnabled2 = options2.transforms.includes(\"typescript\");\n const isFlowEnabled2 = options2.transforms.includes(\"flow\");\n const disableESTransforms = options2.disableESTransforms === true;\n const file = parse(code, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2);\n const tokens = file.tokens;\n const scopes = file.scopes;\n const nameManager = new NameManager(code, tokens);\n const helperManager = new HelperManager(nameManager);\n const tokenProcessor = new TokenProcessor(\n code,\n tokens,\n isFlowEnabled2,\n disableESTransforms,\n helperManager\n );\n const enableLegacyTypeScriptModuleInterop = Boolean(options2.enableLegacyTypeScriptModuleInterop);\n let importProcessor = null;\n if (options2.transforms.includes(\"imports\")) {\n importProcessor = new CJSImportProcessor(\n nameManager,\n tokenProcessor,\n enableLegacyTypeScriptModuleInterop,\n options2,\n options2.transforms.includes(\"typescript\"),\n Boolean(options2.keepUnusedImports),\n helperManager\n );\n importProcessor.preprocessTokens();\n identifyShadowedGlobals(tokenProcessor, scopes, importProcessor.getGlobalNames());\n if (options2.transforms.includes(\"typescript\") && !options2.keepUnusedImports) {\n importProcessor.pruneTypeOnlyImports();\n }\n } else if (options2.transforms.includes(\"typescript\") && !options2.keepUnusedImports) {\n identifyShadowedGlobals(tokenProcessor, scopes, getTSImportedNames(tokenProcessor));\n }\n return { tokenProcessor, scopes, nameManager, importProcessor, helperManager };\n }\n\n // src/shell/hooks.ts\n var hooks_exports = {};\n __export(hooks_exports, {\n QueryClient: () => QueryClient,\n QueryClientProvider: () => QueryClientProvider,\n infiniteQueryOptions: () => infiniteQueryOptions,\n mutationOptions: () => mutationOptions,\n queryOptions: () => queryOptions,\n skipToken: () => skipToken,\n useInfiniteQuery: () => useInfiniteQuery2,\n useMutation: () => useMutation2,\n useQuery: () => useQuery2,\n useQueryClient: () => useQueryClient2\n });\n var import_react = __toESM(require_react(), 1);\n var invalidationScopes = [];\n var trackInvalidation = (promise) => {\n for (const scope of invalidationScopes) {\n scope.push(promise);\n }\n return promise;\n };\n var trackMutationCallback = async (callback) => {\n const scope = [];\n invalidationScopes.push(scope);\n try {\n const result = await callback();\n await Promise.allSettled(scope);\n return result;\n } finally {\n invalidationScopes.pop();\n }\n };\n var wrapQueryClient = (client) => new Proxy(client, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (prop === \"invalidateQueries\" && typeof value === \"function\") {\n return (...args) => trackInvalidation(\n value.apply(target, args)\n );\n }\n return typeof value === \"function\" ? value.bind(target) : value;\n }\n });\n var useQueryClient2 = (queryClient) => {\n const client = useQueryClient(queryClient);\n const wrappedRef = (0, import_react.useRef)(null);\n if (wrappedRef.current?.client !== client) {\n wrappedRef.current = { client, wrapped: wrapQueryClient(client) };\n }\n return wrappedRef.current.wrapped;\n };\n var wrapMutationOptions = (options2) => ({\n ...options2,\n onSuccess: options2.onSuccess ? (...args) => trackMutationCallback(() => options2.onSuccess?.(...args)) : void 0,\n onError: options2.onError ? (...args) => trackMutationCallback(() => options2.onError?.(...args)) : void 0,\n onSettled: options2.onSettled ? (...args) => trackMutationCallback(() => options2.onSettled?.(...args)) : void 0\n });\n function useQuery2(options2, queryClient) {\n return useQuery(options2, queryClient);\n }\n function useInfiniteQuery2(options2, queryClient) {\n return useInfiniteQuery(options2, queryClient);\n }\n function useMutation2(options2, queryClient) {\n return useMutation(wrapMutationOptions(options2), queryClient);\n }\n\n // src/shell/components.ts\n var components_exports = {};\n __export(components_exports, {\n Accordion: () => Accordion2,\n AccordionContent: () => AccordionContent2,\n AccordionItem: () => AccordionItem2,\n AccordionTrigger: () => AccordionTrigger2,\n Activity: () => Activity,\n Alert: () => Alert,\n AlertCircle: () => CircleAlert,\n AlertDescription: () => AlertDescription,\n AlertTitle: () => AlertTitle,\n AlertTriangle: () => TriangleAlert,\n Area: () => Area,\n AreaChart: () => AreaChart,\n ArrowDown: () => ArrowDown,\n ArrowLeft: () => ArrowLeft,\n ArrowRight: () => ArrowRight,\n ArrowUp: () => ArrowUp,\n ArrowUpRight: () => ArrowUpRight,\n ArtifactEmpty: () => ArtifactEmpty,\n ArtifactError: () => ArtifactError,\n ArtifactLoading: () => ArtifactLoading,\n AtSign: () => AtSign,\n Avatar: () => Avatar2,\n AvatarFallback: () => AvatarFallback2,\n AvatarImage: () => AvatarImage2,\n Badge: () => Badge,\n Bar: () => Bar,\n BarChart: () => BarChart,\n BarChart3: () => ChartColumn,\n Battery: () => Battery,\n Bookmark: () => Bookmark,\n Box: () => Box,\n Brush: () => Brush,\n Button: () => Button,\n Calendar: () => Calendar,\n Card: () => Card,\n CardAction: () => CardAction,\n CardContent: () => CardContent,\n CardDescription: () => CardDescription,\n CardFooter: () => CardFooter,\n CardHeader: () => CardHeader,\n CardTitle: () => CardTitle,\n CartesianGrid: () => CartesianGrid,\n Cell: () => Cell,\n ChartContainer: () => ChartContainer,\n ChartLegend: () => ChartLegend,\n ChartLegendContent: () => ChartLegendContent,\n ChartStyle: () => ChartStyle,\n ChartTooltip: () => ChartTooltip,\n ChartTooltipContent: () => ChartTooltipContent,\n Check: () => Check,\n Checkbox: () => Checkbox2,\n ChevronDown: () => ChevronDown,\n ChevronLeft: () => ChevronLeft,\n ChevronRight: () => ChevronRight,\n ChevronUp: () => ChevronUp,\n ChevronsUpDown: () => ChevronsUpDown,\n Circle: () => Circle,\n Clock: () => Clock,\n CloudRain: () => CloudRain,\n Code: () => Code,\n ComposedChart: () => ComposedChart,\n Copy: () => Copy,\n Cpu: () => Cpu,\n Database: () => Database,\n Dialog: () => Dialog2,\n DialogClose: () => DialogClose2,\n DialogContent: () => DialogContent2,\n DialogDescription: () => DialogDescription2,\n DialogFooter: () => DialogFooter,\n DialogHeader: () => DialogHeader,\n DialogTitle: () => DialogTitle2,\n DialogTrigger: () => DialogTrigger2,\n Download: () => Download,\n DropdownMenu: () => DropdownMenu2,\n DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem2,\n DropdownMenuContent: () => DropdownMenuContent2,\n DropdownMenuGroup: () => DropdownMenuGroup2,\n DropdownMenuItem: () => DropdownMenuItem2,\n DropdownMenuLabel: () => DropdownMenuLabel2,\n DropdownMenuRadioGroup: () => DropdownMenuRadioGroup2,\n DropdownMenuRadioItem: () => DropdownMenuRadioItem2,\n DropdownMenuSeparator: () => DropdownMenuSeparator2,\n DropdownMenuSub: () => DropdownMenuSub2,\n DropdownMenuSubContent: () => DropdownMenuSubContent2,\n DropdownMenuSubTrigger: () => DropdownMenuSubTrigger2,\n DropdownMenuTrigger: () => DropdownMenuTrigger2,\n Edit: () => SquarePen,\n ExternalLink: () => ExternalLink,\n Eye: () => Eye,\n EyeOff: () => EyeOff,\n File: () => File3,\n FileText: () => FileText,\n Filter: () => Funnel,\n Folder: () => Folder,\n FolderOpen: () => FolderOpen,\n Funnel: () => Funnel2,\n FunnelChart: () => FunnelChart,\n GitBranch: () => GitBranch,\n GitCommit: () => GitCommitHorizontal,\n GitPullRequest: () => GitPullRequest,\n Globe: () => Globe,\n Grip: () => Grip,\n GripVertical: () => GripVertical,\n Hash: () => Hash,\n Heart: () => Heart,\n Hexagon: () => Hexagon,\n Home: () => House,\n Image: () => Image2,\n Info: () => Info,\n Input: () => Input,\n Key: () => Key,\n Label: () => Label5,\n Legend: () => Legend,\n Line: () => Line,\n LineChart: () => LineChart,\n Link: () => Link,\n Loader2: () => LoaderCircle,\n Lock: () => Lock,\n Mail: () => Mail,\n MapPin: () => MapPin,\n Menu: () => Menu2,\n MessageSquare: () => MessageSquare,\n Mic: () => Mic,\n Minus: () => Minus,\n Moon: () => Moon,\n MoreHorizontal: () => Ellipsis,\n MoreVertical: () => EllipsisVertical,\n Package: () => Package,\n Paperclip: () => Paperclip,\n Pause: () => Pause,\n Phone: () => Phone,\n Pie: () => Pie,\n PieChart: () => PieChart,\n PieChartIcon: () => ChartPie,\n Play: () => Play,\n Plus: () => Plus,\n PolarAngleAxis: () => PolarAngleAxis,\n PolarGrid: () => PolarGrid,\n PolarRadiusAxis: () => PolarRadiusAxis,\n Popover: () => Popover2,\n PopoverAnchor: () => PopoverAnchor2,\n PopoverContent: () => PopoverContent2,\n PopoverTrigger: () => PopoverTrigger2,\n Progress: () => Progress2,\n Radar: () => Radar,\n RadarChart: () => RadarChart,\n RadialBar: () => RadialBar,\n RadialBarChart: () => RadialBarChart,\n RadioGroup: () => RadioGroup4,\n RadioGroupItem: () => RadioGroupItem2,\n ReferenceArea: () => ReferenceArea,\n ReferenceLine: () => ReferenceLine,\n RefreshCw: () => RefreshCw,\n ResponsiveContainer: () => ResponsiveContainer,\n RotateCcw: () => RotateCcw,\n Scatter: () => Scatter,\n ScatterChart: () => ScatterChart,\n ScrollArea: () => ScrollArea2,\n ScrollBar: () => ScrollBar,\n Search: () => Search,\n Select: () => Select2,\n SelectContent: () => SelectContent2,\n SelectGroup: () => SelectGroup2,\n SelectItem: () => SelectItem2,\n SelectLabel: () => SelectLabel2,\n SelectTrigger: () => SelectTrigger2,\n SelectValue: () => SelectValue2,\n Send: () => Send,\n Separator: () => Separator5,\n Server: () => Server,\n Settings: () => Settings,\n Sheet: () => Sheet,\n SheetClose: () => SheetClose,\n SheetContent: () => SheetContent,\n SheetDescription: () => SheetDescription,\n SheetFooter: () => SheetFooter,\n SheetHeader: () => SheetHeader,\n SheetTitle: () => SheetTitle,\n SheetTrigger: () => SheetTrigger,\n Shield: () => Shield,\n Skeleton: () => Skeleton,\n Slider: () => Slider2,\n SortAsc: () => ArrowUpNarrowWide,\n SortDesc: () => ArrowDownWideNarrow,\n Square: () => Square,\n Star: () => Star,\n Sun: () => Sun,\n Switch: () => Switch2,\n Table: () => Table,\n TableBody: () => TableBody,\n TableCaption: () => TableCaption,\n TableCell: () => TableCell,\n TableFooter: () => TableFooter,\n TableHead: () => TableHead,\n TableHeader: () => TableHeader,\n TableRow: () => TableRow,\n Tabs: () => Tabs2,\n TabsContent: () => TabsContent2,\n TabsList: () => TabsList2,\n TabsTrigger: () => TabsTrigger2,\n Tag: () => Tag,\n Terminal: () => Terminal,\n Textarea: () => Textarea,\n Thermometer: () => Thermometer,\n Toggle: () => Toggle2,\n ToggleGroup: () => ToggleGroup2,\n ToggleGroupItem: () => ToggleGroupItem2,\n Tooltip: () => Tooltip2,\n TooltipContent: () => TooltipContent2,\n TooltipProvider: () => TooltipProvider2,\n TooltipTrigger: () => TooltipTrigger2,\n Trash2: () => Trash2,\n Treemap: () => Treemap,\n TrendingDown: () => TrendingDown,\n TrendingUp: () => TrendingUp,\n Triangle: () => Triangle,\n Unlock: () => LockOpen,\n Upload: () => Upload,\n User: () => User,\n Users: () => Users,\n Video: () => Video,\n Volume2: () => Volume2,\n VolumeX: () => VolumeX,\n Wifi: () => Wifi,\n WifiOff: () => WifiOff,\n X: () => X,\n XAxis: () => XAxis,\n YAxis: () => YAxis,\n Zap: () => Zap,\n cn: () => cn\n });\n\n // ../../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\n function r(e) {\n var t2, f, n = \"\";\n if (\"string\" == typeof e || \"number\" == typeof e) n += e;\n else if (\"object\" == typeof e) if (Array.isArray(e)) {\n var o = e.length;\n for (t2 = 0; t2 < o; t2++) e[t2] && (f = r(e[t2])) && (n && (n += \" \"), n += f);\n } else for (f in e) e[f] && (n && (n += \" \"), n += f);\n return n;\n }\n function clsx() {\n for (var e, t2, f = 0, n = \"\", o = arguments.length; f < o; f++) (e = arguments[f]) && (t2 = r(e)) && (n && (n += \" \"), n += t2);\n return n;\n }\n\n // ../../../node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs\n var concatArrays = (array1, array2) => {\n const combinedArray = new Array(array1.length + array2.length);\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i];\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i];\n }\n return combinedArray;\n };\n var createClassValidatorObject = (classGroupId, validator) => ({\n classGroupId,\n validator\n });\n var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({\n nextPart,\n validators,\n classGroupId\n });\n var CLASS_PART_SEPARATOR = \"-\";\n var EMPTY_CONFLICTS = [];\n var ARBITRARY_PROPERTY_PREFIX = \"arbitrary..\";\n var createClassGroupUtils = (config) => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = (className) => {\n if (className.startsWith(\"[\") && className.endsWith(\"]\")) {\n return getGroupIdForArbitraryProperty(className);\n }\n const classParts = className.split(CLASS_PART_SEPARATOR);\n const startIndex = classParts[0] === \"\" && classParts.length > 1 ? 1 : 0;\n return getGroupRecursive(classParts, startIndex, classMap);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId];\n const baseConflicts = conflictingClassGroups[classGroupId];\n if (modifierConflicts) {\n if (baseConflicts) {\n return concatArrays(baseConflicts, modifierConflicts);\n }\n return modifierConflicts;\n }\n return baseConflicts || EMPTY_CONFLICTS;\n }\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n };\n var getGroupRecursive = (classParts, startIndex, classPartObject) => {\n const classPathsLength = classParts.length - startIndex;\n if (classPathsLength === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[startIndex];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);\n if (result) return result;\n }\n const validators = classPartObject.validators;\n if (validators === null) {\n return void 0;\n }\n const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);\n const validatorsLength = validators.length;\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i];\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId;\n }\n }\n return void 0;\n };\n var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(\":\") === -1 ? void 0 : (() => {\n const content = className.slice(1, -1);\n const colonIndex = content.indexOf(\":\");\n const property = content.slice(0, colonIndex);\n return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;\n })();\n var createClassMap = (config) => {\n const {\n theme,\n classGroups\n } = config;\n return processClassGroups(classGroups, theme);\n };\n var processClassGroups = (classGroups, theme) => {\n const classMap = createClassPartObject();\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId];\n processClassesRecursively(group, classMap, classGroupId, theme);\n }\n return classMap;\n };\n var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n const len = classGroup.length;\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i];\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme);\n }\n };\n var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (typeof classDefinition === \"string\") {\n processStringDefinition(classDefinition, classPartObject, classGroupId);\n return;\n }\n if (typeof classDefinition === \"function\") {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);\n return;\n }\n processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);\n };\n var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {\n const classPartObjectToEdit = classDefinition === \"\" ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n };\n var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n if (classPartObject.validators === null) {\n classPartObject.validators = [];\n }\n classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));\n };\n var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n const entries = Object.entries(classDefinition);\n const len = entries.length;\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i];\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);\n }\n };\n var getPart = (classPartObject, path2) => {\n let current3 = classPartObject;\n const parts = path2.split(CLASS_PART_SEPARATOR);\n const len = parts.length;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n let next2 = current3.nextPart.get(part);\n if (!next2) {\n next2 = createClassPartObject();\n current3.nextPart.set(part, next2);\n }\n current3 = next2;\n }\n return current3;\n };\n var isThemeGetter = (func) => \"isThemeGetter\" in func && func.isThemeGetter === true;\n var createLruCache = (maxCacheSize) => {\n if (maxCacheSize < 1) {\n return {\n get: () => void 0,\n set: () => {\n }\n };\n }\n let cacheSize = 0;\n let cache = /* @__PURE__ */ Object.create(null);\n let previousCache = /* @__PURE__ */ Object.create(null);\n const update = (key, value) => {\n cache[key] = value;\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = /* @__PURE__ */ Object.create(null);\n }\n };\n return {\n get(key) {\n let value = cache[key];\n if (value !== void 0) {\n return value;\n }\n if ((value = previousCache[key]) !== void 0) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value;\n } else {\n update(key, value);\n }\n }\n };\n };\n var IMPORTANT_MODIFIER = \"!\";\n var MODIFIER_SEPARATOR = \":\";\n var EMPTY_MODIFIERS = [];\n var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal\n });\n var createParseClassName = (config) => {\n const {\n prefix: prefix2,\n experimentalParseClassName\n } = config;\n let parseClassName = (className) => {\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n const len = className.length;\n for (let index2 = 0; index2 < len; index2++) {\n const currentCharacter = className[index2];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index2));\n modifierStart = index2 + 1;\n continue;\n }\n if (currentCharacter === \"/\") {\n postfixModifierPosition = index2;\n continue;\n }\n }\n if (currentCharacter === \"[\") bracketDepth++;\n else if (currentCharacter === \"]\") bracketDepth--;\n else if (currentCharacter === \"(\") parenDepth++;\n else if (currentCharacter === \")\") parenDepth--;\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);\n let baseClassName = baseClassNameWithImportantModifier;\n let hasImportantModifier = false;\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1);\n hasImportantModifier = true;\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n ) {\n baseClassName = baseClassNameWithImportantModifier.slice(1);\n hasImportantModifier = true;\n }\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;\n return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);\n };\n if (prefix2) {\n const fullPrefix = prefix2 + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = (className) => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n };\n var createSortModifiers = (config) => {\n const modifierWeights = /* @__PURE__ */ new Map();\n config.orderSensitiveModifiers.forEach((mod, index2) => {\n modifierWeights.set(mod, 1e6 + index2);\n });\n return (modifiers) => {\n const result = [];\n let currentSegment = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n const isArbitrary = modifier[0] === \"[\";\n const isOrderSensitive = modifierWeights.has(modifier);\n if (isArbitrary || isOrderSensitive) {\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n currentSegment = [];\n }\n result.push(modifier);\n } else {\n currentSegment.push(modifier);\n }\n }\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n }\n return result;\n };\n };\n var createConfigUtils = (config) => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n });\n var SPLIT_CLASSES_REGEX = /\\s+/;\n var mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = \"\";\n for (let index2 = classNames.length - 1; index2 >= 0; index2 -= 1) {\n const originalClassName = classNames[index2];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = modifiers.length === 0 ? \"\" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(\":\");\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.indexOf(classId) > -1) {\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n }\n return result;\n };\n var twJoin = (...classLists) => {\n let index2 = 0;\n let argument;\n let resolvedValue;\n let string = \"\";\n while (index2 < classLists.length) {\n if (argument = classLists[index2++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += \" \");\n string += resolvedValue;\n }\n }\n }\n return string;\n };\n var toValue = (mix) => {\n if (typeof mix === \"string\") {\n return mix;\n }\n let resolvedValue;\n let string = \"\";\n for (let k2 = 0; k2 < mix.length; k2++) {\n if (mix[k2]) {\n if (resolvedValue = toValue(mix[k2])) {\n string && (string += \" \");\n string += resolvedValue;\n }\n }\n }\n return string;\n };\n var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall;\n const initTailwindMerge = (classList) => {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n };\n const tailwindMerge = (classList) => {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n };\n functionToCall = initTailwindMerge;\n return (...args) => functionToCall(twJoin(...args));\n };\n var fallbackThemeArr = [];\n var fromTheme = (key) => {\n const themeGetter = (theme) => theme[key] || fallbackThemeArr;\n themeGetter.isThemeGetter = true;\n return themeGetter;\n };\n var arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\n var arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\n var fractionRegex = /^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/;\n var tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\n var lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\n var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n var shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\n var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\n var isFraction = (value) => fractionRegex.test(value);\n var isNumber = (value) => !!value && !Number.isNaN(Number(value));\n var isInteger = (value) => !!value && Number.isInteger(Number(value));\n var isPercent = (value) => value.endsWith(\"%\") && isNumber(value.slice(0, -1));\n var isTshirtSize = (value) => tshirtUnitRegex.test(value);\n var isAny = () => true;\n var isLengthOnly = (value) => (\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n );\n var isNever = () => false;\n var isShadow = (value) => shadowRegex.test(value);\n var isImage = (value) => imageRegex.test(value);\n var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);\n var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);\n var isArbitraryValue = (value) => arbitraryValueRegex.test(value);\n var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\n var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);\n var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);\n var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);\n var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);\n var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);\n var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);\n var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);\n var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);\n var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);\n var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);\n var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);\n var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);\n var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);\n var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);\n var getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n };\n var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n };\n var isLabelPosition = (label) => label === \"position\" || label === \"percentage\";\n var isLabelImage = (label) => label === \"image\" || label === \"url\";\n var isLabelSize = (label) => label === \"length\" || label === \"size\" || label === \"bg-size\";\n var isLabelLength = (label) => label === \"length\";\n var isLabelNumber = (label) => label === \"number\";\n var isLabelFamilyName = (label) => label === \"family-name\";\n var isLabelWeight = (label) => label === \"number\" || label === \"weight\";\n var isLabelShadow = (label) => label === \"shadow\";\n var getDefaultConfig = () => {\n const themeColor = fromTheme(\"color\");\n const themeFont = fromTheme(\"font\");\n const themeText = fromTheme(\"text\");\n const themeFontWeight = fromTheme(\"font-weight\");\n const themeTracking = fromTheme(\"tracking\");\n const themeLeading = fromTheme(\"leading\");\n const themeBreakpoint = fromTheme(\"breakpoint\");\n const themeContainer = fromTheme(\"container\");\n const themeSpacing = fromTheme(\"spacing\");\n const themeRadius = fromTheme(\"radius\");\n const themeShadow = fromTheme(\"shadow\");\n const themeInsetShadow = fromTheme(\"inset-shadow\");\n const themeTextShadow = fromTheme(\"text-shadow\");\n const themeDropShadow = fromTheme(\"drop-shadow\");\n const themeBlur = fromTheme(\"blur\");\n const themePerspective = fromTheme(\"perspective\");\n const themeAspect = fromTheme(\"aspect\");\n const themeEase = fromTheme(\"ease\");\n const themeAnimate = fromTheme(\"animate\");\n const scaleBreak = () => [\"auto\", \"avoid\", \"all\", \"avoid-page\", \"page\", \"left\", \"right\", \"column\"];\n const scalePosition = () => [\n \"center\",\n \"top\",\n \"bottom\",\n \"left\",\n \"right\",\n \"top-left\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"left-top\",\n \"top-right\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"right-top\",\n \"bottom-right\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"right-bottom\",\n \"bottom-left\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"left-bottom\"\n ];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => [\"auto\", \"hidden\", \"clip\", \"visible\", \"scroll\"];\n const scaleOverscroll = () => [\"auto\", \"contain\", \"none\"];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, \"full\", \"auto\", ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, \"none\", \"subgrid\", isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => [\"auto\", {\n span: [\"full\", isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, \"auto\", isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => [\"auto\", \"min\", \"max\", \"fr\", isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => [\"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\"];\n const scaleAlignSecondaryAxis = () => [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\"];\n const scaleMargin = () => [\"auto\", ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, \"auto\", \"full\", \"dvw\", \"dvh\", \"lvw\", \"lvh\", \"svw\", \"svh\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleSizingInline = () => [isFraction, \"screen\", \"full\", \"dvw\", \"lvw\", \"svw\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleSizingBlock = () => [isFraction, \"screen\", \"full\", \"lh\", \"dvh\", \"lvh\", \"svh\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => [\"no-repeat\", {\n repeat: [\"\", \"x\", \"y\", \"space\", \"round\"]\n }];\n const scaleBgSize = () => [\"auto\", \"cover\", \"contain\", isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n \"full\",\n themeRadius,\n isArbitraryVariable,\n isArbitraryValue\n ];\n const scaleBorderWidth = () => [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => [\"solid\", \"dashed\", \"dotted\", \"double\"];\n const scaleBlendMode = () => [\"normal\", \"multiply\", \"screen\", \"overlay\", \"darken\", \"lighten\", \"color-dodge\", \"color-burn\", \"hard-light\", \"soft-light\", \"difference\", \"exclusion\", \"hue\", \"saturation\", \"color\", \"luminosity\"];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeBlur,\n isArbitraryVariable,\n isArbitraryValue\n ];\n const scaleRotate = () => [\"none\", isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => [\"none\", isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, \"full\", ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: [\"spin\", \"ping\", \"pulse\", \"bounce\"],\n aspect: [\"video\"],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n \"drop-shadow\": [isTshirtSize],\n ease: [\"in\", \"out\", \"in-out\"],\n font: [isAnyNonArbitrary],\n \"font-weight\": [\"thin\", \"extralight\", \"light\", \"normal\", \"medium\", \"semibold\", \"bold\", \"extrabold\", \"black\"],\n \"inset-shadow\": [isTshirtSize],\n leading: [\"none\", \"tight\", \"snug\", \"normal\", \"relaxed\", \"loose\"],\n perspective: [\"dramatic\", \"near\", \"normal\", \"midrange\", \"distant\", \"none\"],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: [\"px\", isNumber],\n text: [isTshirtSize],\n \"text-shadow\": [isTshirtSize],\n tracking: [\"tighter\", \"tight\", \"normal\", \"wide\", \"wider\", \"widest\"]\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: [\"auto\", \"square\", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: [\"container\"],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n \"break-after\": [{\n \"break-after\": scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n \"break-before\": [{\n \"break-before\": scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n \"break-inside\": [{\n \"break-inside\": [\"auto\", \"avoid\", \"avoid-page\", \"avoid-column\"]\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n \"box-decoration\": [{\n \"box-decoration\": [\"slice\", \"clone\"]\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: [\"border\", \"content\"]\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\"block\", \"inline-block\", \"inline\", \"flex\", \"inline-flex\", \"table\", \"inline-table\", \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\", \"table-footer-group\", \"table-header-group\", \"table-row-group\", \"table-row\", \"flow-root\", \"grid\", \"inline-grid\", \"contents\", \"list-item\", \"hidden\"],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: [\"sr-only\", \"not-sr-only\"],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: [\"right\", \"left\", \"none\", \"start\", \"end\"]\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: [\"left\", \"right\", \"both\", \"none\", \"start\", \"end\"]\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: [\"isolate\", \"isolation-auto\"],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n \"object-fit\": [{\n object: [\"contain\", \"cover\", \"fill\", \"none\", \"scale-down\"]\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n \"object-position\": [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n \"overflow-x\": [{\n \"overflow-x\": scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n \"overflow-y\": [{\n \"overflow-y\": scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n \"overscroll-x\": [{\n \"overscroll-x\": scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n \"overscroll-y\": [{\n \"overscroll-y\": scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: [\"static\", \"fixed\", \"absolute\", \"relative\", \"sticky\"],\n /**\n * Inset\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Inset Inline\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-x\": [{\n \"inset-x\": scaleInset()\n }],\n /**\n * Inset Block\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-y\": [{\n \"inset-y\": scaleInset()\n }],\n /**\n * Inset Inline Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-s` in next major release\n */\n start: [{\n \"inset-s\": scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n start: scaleInset()\n }],\n /**\n * Inset Inline End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-e` in next major release\n */\n end: [{\n \"inset-e\": scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n end: scaleInset()\n }],\n /**\n * Inset Block Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-bs\": [{\n \"inset-bs\": scaleInset()\n }],\n /**\n * Inset Block End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-be\": [{\n \"inset-be\": scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: [\"visible\", \"invisible\", \"collapse\"],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, \"auto\", isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, \"full\", \"auto\", themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n \"flex-direction\": [{\n flex: [\"row\", \"row-reverse\", \"col\", \"col-reverse\"]\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n \"flex-wrap\": [{\n flex: [\"nowrap\", \"wrap\", \"wrap-reverse\"]\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, \"auto\", \"initial\", \"none\", isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, \"first\", \"last\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n \"grid-cols\": [{\n \"grid-cols\": scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-start-end\": [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-start\": [{\n \"col-start\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-end\": [{\n \"col-end\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n \"grid-rows\": [{\n \"grid-rows\": scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-start-end\": [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-start\": [{\n \"row-start\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-end\": [{\n \"row-end\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n \"grid-flow\": [{\n \"grid-flow\": [\"row\", \"col\", \"dense\", \"row-dense\", \"col-dense\"]\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n \"auto-cols\": [{\n \"auto-cols\": scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n \"auto-rows\": [{\n \"auto-rows\": scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n \"gap-x\": [{\n \"gap-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n \"gap-y\": [{\n \"gap-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n \"justify-content\": [{\n justify: [...scaleAlignPrimaryAxis(), \"normal\"]\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n \"justify-items\": [{\n \"justify-items\": [...scaleAlignSecondaryAxis(), \"normal\"]\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n \"justify-self\": [{\n \"justify-self\": [\"auto\", ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n \"align-content\": [{\n content: [\"normal\", ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n \"align-items\": [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: [\"\", \"last\"]\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n \"align-self\": [{\n self: [\"auto\", ...scaleAlignSecondaryAxis(), {\n baseline: [\"\", \"last\"]\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n \"place-content\": [{\n \"place-content\": scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n \"place-items\": [{\n \"place-items\": [...scaleAlignSecondaryAxis(), \"baseline\"]\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n \"place-self\": [{\n \"place-self\": [\"auto\", ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block Start\n * @see https://tailwindcss.com/docs/padding\n */\n pbs: [{\n pbs: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block End\n * @see https://tailwindcss.com/docs/padding\n */\n pbe: [{\n pbe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin Inline\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Block\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Inline Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin Inline End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Block Start\n * @see https://tailwindcss.com/docs/margin\n */\n mbs: [{\n mbs: scaleMargin()\n }],\n /**\n * Margin Block End\n * @see https://tailwindcss.com/docs/margin\n */\n mbe: [{\n mbe: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-x\": [{\n \"space-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-x-reverse\": [\"space-x-reverse\"],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-y\": [{\n \"space-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-y-reverse\": [\"space-y-reverse\"],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Inline Size\n * @see https://tailwindcss.com/docs/width\n */\n \"inline-size\": [{\n inline: [\"auto\", ...scaleSizingInline()]\n }],\n /**\n * Min-Inline Size\n * @see https://tailwindcss.com/docs/min-width\n */\n \"min-inline-size\": [{\n \"min-inline\": [\"auto\", ...scaleSizingInline()]\n }],\n /**\n * Max-Inline Size\n * @see https://tailwindcss.com/docs/max-width\n */\n \"max-inline-size\": [{\n \"max-inline\": [\"none\", ...scaleSizingInline()]\n }],\n /**\n * Block Size\n * @see https://tailwindcss.com/docs/height\n */\n \"block-size\": [{\n block: [\"auto\", ...scaleSizingBlock()]\n }],\n /**\n * Min-Block Size\n * @see https://tailwindcss.com/docs/min-height\n */\n \"min-block-size\": [{\n \"min-block\": [\"auto\", ...scaleSizingBlock()]\n }],\n /**\n * Max-Block Size\n * @see https://tailwindcss.com/docs/max-height\n */\n \"max-block-size\": [{\n \"max-block\": [\"none\", ...scaleSizingBlock()]\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, \"screen\", ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n \"min-w\": [{\n \"min-w\": [\n themeContainer,\n \"screen\",\n /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n \"none\",\n ...scaleSizing()\n ]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n \"max-w\": [{\n \"max-w\": [\n themeContainer,\n \"screen\",\n \"none\",\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n \"prose\",\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n },\n ...scaleSizing()\n ]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: [\"screen\", \"lh\", ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n \"min-h\": [{\n \"min-h\": [\"screen\", \"lh\", \"none\", ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n \"max-h\": [{\n \"max-h\": [\"screen\", \"lh\", ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n \"font-size\": [{\n text: [\"base\", themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n \"font-smoothing\": [\"antialiased\", \"subpixel-antialiased\"],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n \"font-style\": [\"italic\", \"not-italic\"],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n \"font-weight\": [{\n font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n \"font-stretch\": [{\n \"font-stretch\": [\"ultra-condensed\", \"extra-condensed\", \"condensed\", \"semi-condensed\", \"normal\", \"semi-expanded\", \"expanded\", \"extra-expanded\", \"ultra-expanded\", isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n \"font-family\": [{\n font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]\n }],\n /**\n * Font Feature Settings\n * @see https://tailwindcss.com/docs/font-feature-settings\n */\n \"font-features\": [{\n \"font-features\": [isArbitraryValue]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-normal\": [\"normal-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-ordinal\": [\"ordinal\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-slashed-zero\": [\"slashed-zero\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-figure\": [\"lining-nums\", \"oldstyle-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-spacing\": [\"proportional-nums\", \"tabular-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-fraction\": [\"diagonal-fractions\", \"stacked-fractions\"],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n \"line-clamp\": [{\n \"line-clamp\": [isNumber, \"none\", isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading,\n ...scaleUnambiguousSpacing()\n ]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n \"list-image\": [{\n \"list-image\": [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n \"list-style-position\": [{\n list: [\"inside\", \"outside\"]\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n \"list-style-type\": [{\n list: [\"disc\", \"decimal\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n \"text-alignment\": [{\n text: [\"left\", \"center\", \"right\", \"justify\", \"start\", \"end\"]\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n \"placeholder-color\": [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n \"text-color\": [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n \"text-decoration\": [\"underline\", \"overline\", \"line-through\", \"no-underline\"],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n \"text-decoration-style\": [{\n decoration: [...scaleLineStyle(), \"wavy\"]\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n \"text-decoration-thickness\": [{\n decoration: [isNumber, \"from-font\", \"auto\", isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n \"text-decoration-color\": [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n \"underline-offset\": [{\n \"underline-offset\": [isNumber, \"auto\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n \"text-transform\": [\"uppercase\", \"lowercase\", \"capitalize\", \"normal-case\"],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n \"text-overflow\": [\"truncate\", \"text-ellipsis\", \"text-clip\"],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n \"text-wrap\": [{\n text: [\"wrap\", \"nowrap\", \"balance\", \"pretty\"]\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n \"vertical-align\": [{\n align: [\"baseline\", \"top\", \"middle\", \"bottom\", \"text-top\", \"text-bottom\", \"sub\", \"super\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\"]\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: [\"normal\", \"words\", \"all\", \"keep\"]\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: [\"break-word\", \"anywhere\", \"normal\"]\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: [\"none\", \"manual\", \"auto\"]\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n \"bg-attachment\": [{\n bg: [\"fixed\", \"local\", \"scroll\"]\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n \"bg-clip\": [{\n \"bg-clip\": [\"border\", \"padding\", \"content\", \"text\"]\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n \"bg-origin\": [{\n \"bg-origin\": [\"border\", \"padding\", \"content\"]\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n \"bg-position\": [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n \"bg-repeat\": [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n \"bg-size\": [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n \"bg-image\": [{\n bg: [\"none\", {\n linear: [{\n to: [\"t\", \"tr\", \"r\", \"br\", \"b\", \"bl\", \"l\", \"tl\"]\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: [\"\", isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n \"bg-color\": [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-from-pos\": [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-via-pos\": [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-to-pos\": [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-from\": [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-via\": [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-to\": [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-s\": [{\n \"rounded-s\": scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-e\": [{\n \"rounded-e\": scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-t\": [{\n \"rounded-t\": scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-r\": [{\n \"rounded-r\": scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-b\": [{\n \"rounded-b\": scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-l\": [{\n \"rounded-l\": scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-ss\": [{\n \"rounded-ss\": scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-se\": [{\n \"rounded-se\": scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-ee\": [{\n \"rounded-ee\": scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-es\": [{\n \"rounded-es\": scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-tl\": [{\n \"rounded-tl\": scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-tr\": [{\n \"rounded-tr\": scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-br\": [{\n \"rounded-br\": scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-bl\": [{\n \"rounded-bl\": scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w\": [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width Inline\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-x\": [{\n \"border-x\": scaleBorderWidth()\n }],\n /**\n * Border Width Block\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-y\": [{\n \"border-y\": scaleBorderWidth()\n }],\n /**\n * Border Width Inline Start\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-s\": [{\n \"border-s\": scaleBorderWidth()\n }],\n /**\n * Border Width Inline End\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-e\": [{\n \"border-e\": scaleBorderWidth()\n }],\n /**\n * Border Width Block Start\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-bs\": [{\n \"border-bs\": scaleBorderWidth()\n }],\n /**\n * Border Width Block End\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-be\": [{\n \"border-be\": scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-t\": [{\n \"border-t\": scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-r\": [{\n \"border-r\": scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-b\": [{\n \"border-b\": scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-l\": [{\n \"border-l\": scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-x\": [{\n \"divide-x\": scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-x-reverse\": [\"divide-x-reverse\"],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-y\": [{\n \"divide-y\": scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-y-reverse\": [\"divide-y-reverse\"],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n \"border-style\": [{\n border: [...scaleLineStyle(), \"hidden\", \"none\"]\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n \"divide-style\": [{\n divide: [...scaleLineStyle(), \"hidden\", \"none\"]\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color\": [{\n border: scaleColor()\n }],\n /**\n * Border Color Inline\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-x\": [{\n \"border-x\": scaleColor()\n }],\n /**\n * Border Color Block\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-y\": [{\n \"border-y\": scaleColor()\n }],\n /**\n * Border Color Inline Start\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-s\": [{\n \"border-s\": scaleColor()\n }],\n /**\n * Border Color Inline End\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-e\": [{\n \"border-e\": scaleColor()\n }],\n /**\n * Border Color Block Start\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-bs\": [{\n \"border-bs\": scaleColor()\n }],\n /**\n * Border Color Block End\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-be\": [{\n \"border-be\": scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-t\": [{\n \"border-t\": scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-r\": [{\n \"border-r\": scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-b\": [{\n \"border-b\": scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-l\": [{\n \"border-l\": scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n \"divide-color\": [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n \"outline-style\": [{\n outline: [...scaleLineStyle(), \"none\", \"hidden\"]\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n \"outline-offset\": [{\n \"outline-offset\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n \"outline-w\": [{\n outline: [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n \"outline-color\": [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow\n ]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n \"shadow-color\": [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n \"inset-shadow\": [{\n \"inset-shadow\": [\"none\", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n \"inset-shadow-color\": [{\n \"inset-shadow\": scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n \"ring-w\": [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-w-inset\": [\"ring-inset\"],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n \"ring-color\": [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-offset-w\": [{\n \"ring-offset\": [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-offset-color\": [{\n \"ring-offset\": scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n \"inset-ring-w\": [{\n \"inset-ring\": scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n \"inset-ring-color\": [{\n \"inset-ring\": scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n \"text-shadow\": [{\n \"text-shadow\": [\"none\", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n \"text-shadow-color\": [{\n \"text-shadow\": scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n \"mix-blend\": [{\n \"mix-blend\": [...scaleBlendMode(), \"plus-darker\", \"plus-lighter\"]\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n \"bg-blend\": [{\n \"bg-blend\": scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n \"mask-clip\": [{\n \"mask-clip\": [\"border\", \"padding\", \"content\", \"fill\", \"stroke\", \"view\"]\n }, \"mask-no-clip\"],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n \"mask-composite\": [{\n mask: [\"add\", \"subtract\", \"intersect\", \"exclude\"]\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n \"mask-image-linear-pos\": [{\n \"mask-linear\": [isNumber]\n }],\n \"mask-image-linear-from-pos\": [{\n \"mask-linear-from\": scaleMaskImagePosition()\n }],\n \"mask-image-linear-to-pos\": [{\n \"mask-linear-to\": scaleMaskImagePosition()\n }],\n \"mask-image-linear-from-color\": [{\n \"mask-linear-from\": scaleColor()\n }],\n \"mask-image-linear-to-color\": [{\n \"mask-linear-to\": scaleColor()\n }],\n \"mask-image-t-from-pos\": [{\n \"mask-t-from\": scaleMaskImagePosition()\n }],\n \"mask-image-t-to-pos\": [{\n \"mask-t-to\": scaleMaskImagePosition()\n }],\n \"mask-image-t-from-color\": [{\n \"mask-t-from\": scaleColor()\n }],\n \"mask-image-t-to-color\": [{\n \"mask-t-to\": scaleColor()\n }],\n \"mask-image-r-from-pos\": [{\n \"mask-r-from\": scaleMaskImagePosition()\n }],\n \"mask-image-r-to-pos\": [{\n \"mask-r-to\": scaleMaskImagePosition()\n }],\n \"mask-image-r-from-color\": [{\n \"mask-r-from\": scaleColor()\n }],\n \"mask-image-r-to-color\": [{\n \"mask-r-to\": scaleColor()\n }],\n \"mask-image-b-from-pos\": [{\n \"mask-b-from\": scaleMaskImagePosition()\n }],\n \"mask-image-b-to-pos\": [{\n \"mask-b-to\": scaleMaskImagePosition()\n }],\n \"mask-image-b-from-color\": [{\n \"mask-b-from\": scaleColor()\n }],\n \"mask-image-b-to-color\": [{\n \"mask-b-to\": scaleColor()\n }],\n \"mask-image-l-from-pos\": [{\n \"mask-l-from\": scaleMaskImagePosition()\n }],\n \"mask-image-l-to-pos\": [{\n \"mask-l-to\": scaleMaskImagePosition()\n }],\n \"mask-image-l-from-color\": [{\n \"mask-l-from\": scaleColor()\n }],\n \"mask-image-l-to-color\": [{\n \"mask-l-to\": scaleColor()\n }],\n \"mask-image-x-from-pos\": [{\n \"mask-x-from\": scaleMaskImagePosition()\n }],\n \"mask-image-x-to-pos\": [{\n \"mask-x-to\": scaleMaskImagePosition()\n }],\n \"mask-image-x-from-color\": [{\n \"mask-x-from\": scaleColor()\n }],\n \"mask-image-x-to-color\": [{\n \"mask-x-to\": scaleColor()\n }],\n \"mask-image-y-from-pos\": [{\n \"mask-y-from\": scaleMaskImagePosition()\n }],\n \"mask-image-y-to-pos\": [{\n \"mask-y-to\": scaleMaskImagePosition()\n }],\n \"mask-image-y-from-color\": [{\n \"mask-y-from\": scaleColor()\n }],\n \"mask-image-y-to-color\": [{\n \"mask-y-to\": scaleColor()\n }],\n \"mask-image-radial\": [{\n \"mask-radial\": [isArbitraryVariable, isArbitraryValue]\n }],\n \"mask-image-radial-from-pos\": [{\n \"mask-radial-from\": scaleMaskImagePosition()\n }],\n \"mask-image-radial-to-pos\": [{\n \"mask-radial-to\": scaleMaskImagePosition()\n }],\n \"mask-image-radial-from-color\": [{\n \"mask-radial-from\": scaleColor()\n }],\n \"mask-image-radial-to-color\": [{\n \"mask-radial-to\": scaleColor()\n }],\n \"mask-image-radial-shape\": [{\n \"mask-radial\": [\"circle\", \"ellipse\"]\n }],\n \"mask-image-radial-size\": [{\n \"mask-radial\": [{\n closest: [\"side\", \"corner\"],\n farthest: [\"side\", \"corner\"]\n }]\n }],\n \"mask-image-radial-pos\": [{\n \"mask-radial-at\": scalePosition()\n }],\n \"mask-image-conic-pos\": [{\n \"mask-conic\": [isNumber]\n }],\n \"mask-image-conic-from-pos\": [{\n \"mask-conic-from\": scaleMaskImagePosition()\n }],\n \"mask-image-conic-to-pos\": [{\n \"mask-conic-to\": scaleMaskImagePosition()\n }],\n \"mask-image-conic-from-color\": [{\n \"mask-conic-from\": scaleColor()\n }],\n \"mask-image-conic-to-color\": [{\n \"mask-conic-to\": scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n \"mask-mode\": [{\n mask: [\"alpha\", \"luminance\", \"match\"]\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n \"mask-origin\": [{\n \"mask-origin\": [\"border\", \"padding\", \"content\", \"fill\", \"stroke\", \"view\"]\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n \"mask-position\": [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n \"mask-repeat\": [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n \"mask-size\": [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n \"mask-type\": [{\n \"mask-type\": [\"alpha\", \"luminance\"]\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n \"mask-image\": [{\n mask: [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n \"\",\n \"none\",\n isArbitraryVariable,\n isArbitraryValue\n ]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n \"drop-shadow\": [{\n \"drop-shadow\": [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeDropShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow\n ]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n \"drop-shadow-color\": [{\n \"drop-shadow\": scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n \"hue-rotate\": [{\n \"hue-rotate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n \"backdrop-filter\": [{\n \"backdrop-filter\": [\n // Deprecated since Tailwind CSS v3.0.0\n \"\",\n \"none\",\n isArbitraryVariable,\n isArbitraryValue\n ]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n \"backdrop-blur\": [{\n \"backdrop-blur\": scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n \"backdrop-brightness\": [{\n \"backdrop-brightness\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n \"backdrop-contrast\": [{\n \"backdrop-contrast\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n \"backdrop-grayscale\": [{\n \"backdrop-grayscale\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n \"backdrop-hue-rotate\": [{\n \"backdrop-hue-rotate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n \"backdrop-invert\": [{\n \"backdrop-invert\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n \"backdrop-opacity\": [{\n \"backdrop-opacity\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n \"backdrop-saturate\": [{\n \"backdrop-saturate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n \"backdrop-sepia\": [{\n \"backdrop-sepia\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n \"border-collapse\": [{\n border: [\"collapse\", \"separate\"]\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing\": [{\n \"border-spacing\": scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing-x\": [{\n \"border-spacing-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing-y\": [{\n \"border-spacing-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n \"table-layout\": [{\n table: [\"auto\", \"fixed\"]\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: [\"top\", \"bottom\"]\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: [\"\", \"all\", \"colors\", \"opacity\", \"shadow\", \"transform\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n \"transition-behavior\": [{\n transition: [\"normal\", \"discrete\"]\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, \"initial\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: [\"linear\", \"initial\", themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: [\"none\", themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: [\"hidden\", \"visible\"]\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n \"perspective-origin\": [{\n \"perspective-origin\": scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-x\": [{\n \"rotate-x\": scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-y\": [{\n \"rotate-y\": scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-z\": [{\n \"rotate-z\": scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-x\": [{\n \"scale-x\": scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-y\": [{\n \"scale-y\": scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-z\": [{\n \"scale-z\": scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-3d\": [\"scale-3d\"],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n \"skew-x\": [{\n \"skew-x\": scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n \"skew-y\": [{\n \"skew-y\": scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, \"\", \"none\", \"gpu\", \"cpu\"]\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n \"transform-origin\": [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n \"transform-style\": [{\n transform: [\"3d\", \"flat\"]\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-x\": [{\n \"translate-x\": scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-y\": [{\n \"translate-y\": scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-z\": [{\n \"translate-z\": scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-none\": [\"translate-none\"],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: [\"none\", \"auto\"]\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n \"caret-color\": [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n \"color-scheme\": [{\n scheme: [\"normal\", \"dark\", \"light\", \"light-dark\", \"only-dark\", \"only-light\"]\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: [\"auto\", \"default\", \"pointer\", \"wait\", \"text\", \"move\", \"help\", \"not-allowed\", \"none\", \"context-menu\", \"progress\", \"cell\", \"crosshair\", \"vertical-text\", \"alias\", \"copy\", \"no-drop\", \"grab\", \"grabbing\", \"all-scroll\", \"col-resize\", \"row-resize\", \"n-resize\", \"e-resize\", \"s-resize\", \"w-resize\", \"ne-resize\", \"nw-resize\", \"se-resize\", \"sw-resize\", \"ew-resize\", \"ns-resize\", \"nesw-resize\", \"nwse-resize\", \"zoom-in\", \"zoom-out\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n \"field-sizing\": [{\n \"field-sizing\": [\"fixed\", \"content\"]\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n \"pointer-events\": [{\n \"pointer-events\": [\"auto\", \"none\"]\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: [\"none\", \"\", \"y\", \"x\"]\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n \"scroll-behavior\": [{\n scroll: [\"auto\", \"smooth\"]\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-m\": [{\n \"scroll-m\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mx\": [{\n \"scroll-mx\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-my\": [{\n \"scroll-my\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-ms\": [{\n \"scroll-ms\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-me\": [{\n \"scroll-me\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mbs\": [{\n \"scroll-mbs\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mbe\": [{\n \"scroll-mbe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mt\": [{\n \"scroll-mt\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mr\": [{\n \"scroll-mr\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mb\": [{\n \"scroll-mb\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-ml\": [{\n \"scroll-ml\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-p\": [{\n \"scroll-p\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-px\": [{\n \"scroll-px\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-py\": [{\n \"scroll-py\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-ps\": [{\n \"scroll-ps\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pe\": [{\n \"scroll-pe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pbs\": [{\n \"scroll-pbs\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pbe\": [{\n \"scroll-pbe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pt\": [{\n \"scroll-pt\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pr\": [{\n \"scroll-pr\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pb\": [{\n \"scroll-pb\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pl\": [{\n \"scroll-pl\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n \"snap-align\": [{\n snap: [\"start\", \"end\", \"center\", \"align-none\"]\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n \"snap-stop\": [{\n snap: [\"normal\", \"always\"]\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n \"snap-type\": [{\n snap: [\"none\", \"x\", \"y\", \"both\"]\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n \"snap-strictness\": [{\n snap: [\"mandatory\", \"proximity\"]\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: [\"auto\", \"none\", \"manipulation\"]\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-x\": [{\n \"touch-pan\": [\"x\", \"left\", \"right\"]\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-y\": [{\n \"touch-pan\": [\"y\", \"up\", \"down\"]\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-pz\": [\"touch-pinch-zoom\"],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: [\"none\", \"text\", \"all\", \"auto\"]\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n \"will-change\": [{\n \"will-change\": [\"auto\", \"scroll\", \"contents\", \"transform\", isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: [\"none\", ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n \"stroke-w\": [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: [\"none\", ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n \"forced-color-adjust\": [{\n \"forced-color-adjust\": [\"auto\", \"none\"]\n }]\n },\n conflictingClassGroups: {\n overflow: [\"overflow-x\", \"overflow-y\"],\n overscroll: [\"overscroll-x\", \"overscroll-y\"],\n inset: [\"inset-x\", \"inset-y\", \"inset-bs\", \"inset-be\", \"start\", \"end\", \"top\", \"right\", \"bottom\", \"left\"],\n \"inset-x\": [\"right\", \"left\"],\n \"inset-y\": [\"top\", \"bottom\"],\n flex: [\"basis\", \"grow\", \"shrink\"],\n gap: [\"gap-x\", \"gap-y\"],\n p: [\"px\", \"py\", \"ps\", \"pe\", \"pbs\", \"pbe\", \"pt\", \"pr\", \"pb\", \"pl\"],\n px: [\"pr\", \"pl\"],\n py: [\"pt\", \"pb\"],\n m: [\"mx\", \"my\", \"ms\", \"me\", \"mbs\", \"mbe\", \"mt\", \"mr\", \"mb\", \"ml\"],\n mx: [\"mr\", \"ml\"],\n my: [\"mt\", \"mb\"],\n size: [\"w\", \"h\"],\n \"font-size\": [\"leading\"],\n \"fvn-normal\": [\"fvn-ordinal\", \"fvn-slashed-zero\", \"fvn-figure\", \"fvn-spacing\", \"fvn-fraction\"],\n \"fvn-ordinal\": [\"fvn-normal\"],\n \"fvn-slashed-zero\": [\"fvn-normal\"],\n \"fvn-figure\": [\"fvn-normal\"],\n \"fvn-spacing\": [\"fvn-normal\"],\n \"fvn-fraction\": [\"fvn-normal\"],\n \"line-clamp\": [\"display\", \"overflow\"],\n rounded: [\"rounded-s\", \"rounded-e\", \"rounded-t\", \"rounded-r\", \"rounded-b\", \"rounded-l\", \"rounded-ss\", \"rounded-se\", \"rounded-ee\", \"rounded-es\", \"rounded-tl\", \"rounded-tr\", \"rounded-br\", \"rounded-bl\"],\n \"rounded-s\": [\"rounded-ss\", \"rounded-es\"],\n \"rounded-e\": [\"rounded-se\", \"rounded-ee\"],\n \"rounded-t\": [\"rounded-tl\", \"rounded-tr\"],\n \"rounded-r\": [\"rounded-tr\", \"rounded-br\"],\n \"rounded-b\": [\"rounded-br\", \"rounded-bl\"],\n \"rounded-l\": [\"rounded-tl\", \"rounded-bl\"],\n \"border-spacing\": [\"border-spacing-x\", \"border-spacing-y\"],\n \"border-w\": [\"border-w-x\", \"border-w-y\", \"border-w-s\", \"border-w-e\", \"border-w-bs\", \"border-w-be\", \"border-w-t\", \"border-w-r\", \"border-w-b\", \"border-w-l\"],\n \"border-w-x\": [\"border-w-r\", \"border-w-l\"],\n \"border-w-y\": [\"border-w-t\", \"border-w-b\"],\n \"border-color\": [\"border-color-x\", \"border-color-y\", \"border-color-s\", \"border-color-e\", \"border-color-bs\", \"border-color-be\", \"border-color-t\", \"border-color-r\", \"border-color-b\", \"border-color-l\"],\n \"border-color-x\": [\"border-color-r\", \"border-color-l\"],\n \"border-color-y\": [\"border-color-t\", \"border-color-b\"],\n translate: [\"translate-x\", \"translate-y\", \"translate-none\"],\n \"translate-none\": [\"translate\", \"translate-x\", \"translate-y\", \"translate-z\"],\n \"scroll-m\": [\"scroll-mx\", \"scroll-my\", \"scroll-ms\", \"scroll-me\", \"scroll-mbs\", \"scroll-mbe\", \"scroll-mt\", \"scroll-mr\", \"scroll-mb\", \"scroll-ml\"],\n \"scroll-mx\": [\"scroll-mr\", \"scroll-ml\"],\n \"scroll-my\": [\"scroll-mt\", \"scroll-mb\"],\n \"scroll-p\": [\"scroll-px\", \"scroll-py\", \"scroll-ps\", \"scroll-pe\", \"scroll-pbs\", \"scroll-pbe\", \"scroll-pt\", \"scroll-pr\", \"scroll-pb\", \"scroll-pl\"],\n \"scroll-px\": [\"scroll-pr\", \"scroll-pl\"],\n \"scroll-py\": [\"scroll-pt\", \"scroll-pb\"],\n touch: [\"touch-x\", \"touch-y\", \"touch-pz\"],\n \"touch-x\": [\"touch\"],\n \"touch-y\": [\"touch\"],\n \"touch-pz\": [\"touch\"]\n },\n conflictingClassGroupModifiers: {\n \"font-size\": [\"leading\"]\n },\n orderSensitiveModifiers: [\"*\", \"**\", \"after\", \"backdrop\", \"before\", \"details-content\", \"file\", \"first-letter\", \"first-line\", \"marker\", \"placeholder\", \"selection\"]\n };\n };\n var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);\n\n // ../../react/src/lib/utils.ts\n function cn(...inputs) {\n return twMerge(clsx(inputs));\n }\n\n // ../../react/src/components/card.tsx\n var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);\n function Card({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card\",\n className: cn(\n \"flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm\",\n className\n ),\n ...props\n }\n );\n }\n function CardHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-header\",\n className: cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n ),\n ...props\n }\n );\n }\n function CardTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-title\",\n className: cn(\"leading-none font-semibold\", className),\n ...props\n }\n );\n }\n function CardDescription({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n function CardAction({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-action\",\n className: cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className),\n ...props\n }\n );\n }\n function CardContent({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"div\", { \"data-slot\": \"card-content\", className: cn(\"px-6\", className), ...props });\n }\n function CardFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-footer\",\n className: cn(\"flex items-center px-6 [.border-t]:pt-6\", className),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+119c4f3973a6d299/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n var React10 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+119c4f3973a6d299/node_modules/@radix-ui/react-primitive/dist/index.mjs\n var React9 = __toESM(require_react(), 1);\n var ReactDOM = __toESM(require_react_dom(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-slot@1.2.3+b2e33729a97476bf/node_modules/@radix-ui/react-slot/dist/index.mjs\n var dist_exports = {};\n __export(dist_exports, {\n Root: () => Slot,\n Slot: () => Slot,\n Slottable: () => Slottable,\n createSlot: () => createSlot,\n createSlottable: () => createSlottable\n });\n var React8 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-compose-refs@1.1.2+b2e33729a97476bf/node_modules/@radix-ui/react-compose-refs/dist/index.mjs\n var React7 = __toESM(require_react(), 1);\n function setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n }\n function composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n }\n function useComposedRefs(...refs) {\n return React7.useCallback(composeRefs(...refs), refs);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-slot@1.2.3+b2e33729a97476bf/node_modules/@radix-ui/react-slot/dist/index.mjs\n var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);\n // @__NO_SIDE_EFFECTS__\n function createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot22 = React8.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React8.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React8.Children.count(newElement) > 1) return React8.Children.only(null);\n return React8.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot22.displayName = `${ownerName}.Slot`;\n return Slot22;\n }\n var Slot = /* @__PURE__ */ createSlot(\"Slot\");\n // @__NO_SIDE_EFFECTS__\n function createSlotClone(ownerName) {\n const SlotClone = React8.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React8.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React8.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React8.cloneElement(children, props2);\n }\n return React8.Children.count(children) > 1 ? React8.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n }\n var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol(\"radix.slottable\");\n // @__NO_SIDE_EFFECTS__\n function createSlottable(ownerName) {\n const Slottable22 = ({ children }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children });\n };\n Slottable22.displayName = `${ownerName}.Slottable`;\n Slottable22.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable22;\n }\n var Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\n function isSlottable(child) {\n return React8.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n }\n function mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n }\n function getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+119c4f3973a6d299/node_modules/@radix-ui/react-primitive/dist/index.mjs\n var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);\n var NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n ];\n var Primitive = NODES.reduce((primitive, node) => {\n const Slot6 = createSlot(`Primitive.${node}`);\n const Node2 = React9.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot6 : node;\n if (typeof window !== \"undefined\") {\n window[/* @__PURE__ */ Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node2.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node2 };\n }, {});\n function dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+119c4f3973a6d299/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);\n var VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n });\n var NAME = \"VisuallyHidden\";\n var VisuallyHidden = React10.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n );\n VisuallyHidden.displayName = NAME;\n var Root = VisuallyHidden;\n\n // ../../../node_modules/.bun/@radix-ui+react-accordion@1.2.12+119c4f3973a6d299/node_modules/@radix-ui/react-accordion/dist/index.mjs\n var dist_exports2 = {};\n __export(dist_exports2, {\n Accordion: () => Accordion,\n AccordionContent: () => AccordionContent,\n AccordionHeader: () => AccordionHeader,\n AccordionItem: () => AccordionItem,\n AccordionTrigger: () => AccordionTrigger,\n Content: () => Content2,\n Header: () => Header,\n Item: () => Item,\n Root: () => Root22,\n Trigger: () => Trigger2,\n createAccordionScope: () => createAccordionScope\n });\n var import_react4 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-context@1.1.2+b2e33729a97476bf/node_modules/@radix-ui/react-context/dist/index.mjs\n var React11 = __toESM(require_react(), 1);\n var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);\n function createContext22(rootComponentName, defaultContext) {\n const Context = React11.createContext(defaultContext);\n const Provider3 = (props) => {\n const { children, ...context } = props;\n const value = React11.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Context.Provider, { value, children });\n };\n Provider3.displayName = rootComponentName + \"Provider\";\n function useContext25(consumerName) {\n const context = React11.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider3, useContext25];\n }\n function createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext32(rootComponentName, defaultContext) {\n const BaseContext = React11.createContext(defaultContext);\n const index2 = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider3 = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index2] || BaseContext;\n const value = React11.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Context.Provider, { value, children });\n };\n Provider3.displayName = rootComponentName + \"Provider\";\n function useContext25(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index2] || BaseContext;\n const context = React11.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider3, useContext25];\n }\n const createScope3 = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React11.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React11.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope3.scopeName = scopeName;\n return [createContext32, composeContextScopes(createScope3, ...createContextScopeDeps)];\n }\n function composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope3 = () => {\n const scopeHooks = scopes.map((createScope22) => ({\n useScope: createScope22(),\n scopeName: createScope22.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope3 = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope3 };\n }, {});\n return React11.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope3.scopeName = baseScope.scopeName;\n return createScope3;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collection@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-collection/dist/index.mjs\n var import_react2 = __toESM(require_react(), 1);\n var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);\n var import_react3 = __toESM(require_react(), 1);\n var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);\n function createCollection(name) {\n const PROVIDER_NAME2 = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope6] = createContextScope(PROVIDER_NAME2);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME2,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = import_react2.default.useRef(null);\n const itemMap = import_react2.default.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME2;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = import_react2.default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = import_react2.default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = import_react2.default.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n import_react2.default.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection6(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = import_react2.default.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a2, b) => orderedNodes.indexOf(a2.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection6,\n createCollectionScope6\n ];\n }\n\n // ../../../node_modules/.bun/@radix-ui+primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.mjs\n var canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-controllable-state@1.2.2+b2e33729a97476bf/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\n var React14 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-layout-effect@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\n var React13 = __toESM(require_react(), 1);\n var useLayoutEffect2 = globalThis?.document ? React13.useLayoutEffect : () => {\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-use-controllable-state@1.2.2+b2e33729a97476bf/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\n var React23 = __toESM(require_react(), 1);\n var useInsertionEffect = React14[\" useInsertionEffect \".trim().toString()] || useLayoutEffect2;\n function useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n }) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React14.useRef(prop !== void 0);\n React14.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from2 = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to2 = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from2} to ${to2}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React14.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n }\n function useUncontrolledState({\n defaultProp,\n onChange\n }) {\n const [value, setValue] = React14.useState(defaultProp);\n const prevValueRef = React14.useRef(value);\n const onChangeRef = React14.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React14.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n }\n function isFunction(value) {\n return typeof value === \"function\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collapsible@1.1.12+119c4f3973a6d299/node_modules/@radix-ui/react-collapsible/dist/index.mjs\n var React17 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-presence@1.1.5+119c4f3973a6d299/node_modules/@radix-ui/react-presence/dist/index.mjs\n var React24 = __toESM(require_react(), 1);\n var React15 = __toESM(require_react(), 1);\n function useStateMachine(initialState15, machine) {\n return React15.useReducer((state2, event) => {\n const nextState = machine[state2][event];\n return nextState ?? state2;\n }, initialState15);\n }\n var Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React24.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef2(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React24.cloneElement(child, { ref }) : null;\n };\n Presence.displayName = \"Presence\";\n function usePresence(present) {\n const [node, setNode] = React24.useState();\n const stylesRef = React24.useRef(null);\n const prevPresentRef = React24.useRef(present);\n const prevAnimationNameRef = React24.useRef(\"none\");\n const initialState15 = present ? \"mounted\" : \"unmounted\";\n const [state2, send] = useStateMachine(initialState15, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React24.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state2 === \"mounted\" ? currentAnimationName : \"none\";\n }, [state2]);\n useLayoutEffect2(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect2(() => {\n if (node) {\n let timeoutId4;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId4 = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId4);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state2),\n ref: React24.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n }\n function getAnimationName(styles) {\n return styles?.animationName || \"none\";\n }\n function getElementRef2(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-id@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-id/dist/index.mjs\n var React16 = __toESM(require_react(), 1);\n var useReactId = React16[\" useId \".trim().toString()] || (() => void 0);\n var count = 0;\n function useId(deterministicId) {\n const [id, setId] = React16.useState(useReactId());\n useLayoutEffect2(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collapsible@1.1.12+119c4f3973a6d299/node_modules/@radix-ui/react-collapsible/dist/index.mjs\n var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);\n var COLLAPSIBLE_NAME = \"Collapsible\";\n var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\n var Collapsible = React17.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React17.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n Collapsible.displayName = COLLAPSIBLE_NAME;\n var TRIGGER_NAME = \"CollapsibleTrigger\";\n var CollapsibleTrigger = React17.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n );\n CollapsibleTrigger.displayName = TRIGGER_NAME;\n var CONTENT_NAME = \"CollapsibleContent\";\n var CollapsibleContent = React17.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n );\n CollapsibleContent.displayName = CONTENT_NAME;\n var CollapsibleContentImpl = React17.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React17.useState(present);\n const ref = React17.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React17.useRef(0);\n const height = heightRef.current;\n const widthRef = React17.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React17.useRef(isOpen);\n const originalStylesRef = React17.useRef(void 0);\n React17.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect2(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n });\n function getState(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root2 = Collapsible;\n var Trigger = CollapsibleTrigger;\n var Content = CollapsibleContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-direction@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-direction/dist/index.mjs\n var React18 = __toESM(require_react(), 1);\n var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);\n var DirectionContext = React18.createContext(void 0);\n function useDirection(localDir) {\n const globalDir = React18.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-accordion@1.2.12+119c4f3973a6d299/node_modules/@radix-ui/react-accordion/dist/index.mjs\n var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);\n var ACCORDION_NAME = \"Accordion\";\n var ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\n var [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\n var [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n ]);\n var useCollapsibleScope = createCollapsibleScope();\n var Accordion = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n );\n Accordion.displayName = ACCORDION_NAME;\n var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\n var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n );\n var AccordionImplSingle = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: import_react4.default.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: import_react4.default.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n );\n var AccordionImplMultiple = import_react4.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = import_react4.default.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = import_react4.default.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n });\n var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\n var AccordionImpl = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = import_react4.default.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n );\n var ITEM_NAME = \"AccordionItem\";\n var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\n var AccordionItem = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Root2,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState2(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n );\n AccordionItem.displayName = ITEM_NAME;\n var HEADER_NAME = \"AccordionHeader\";\n var AccordionHeader = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState2(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n );\n AccordionHeader.displayName = HEADER_NAME;\n var TRIGGER_NAME2 = \"AccordionTrigger\";\n var AccordionTrigger = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME2, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME2, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n AccordionTrigger.displayName = TRIGGER_NAME2;\n var CONTENT_NAME2 = \"AccordionContent\";\n var AccordionContent = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME2, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n );\n AccordionContent.displayName = CONTENT_NAME2;\n function getState2(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root22 = Accordion;\n var Item = AccordionItem;\n var Header = AccordionHeader;\n var Trigger2 = AccordionTrigger;\n var Content2 = AccordionContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-dialog/dist/index.mjs\n var dist_exports4 = {};\n __export(dist_exports4, {\n Close: () => Close,\n Content: () => Content3,\n Description: () => Description,\n Dialog: () => Dialog,\n DialogClose: () => DialogClose,\n DialogContent: () => DialogContent,\n DialogDescription: () => DialogDescription,\n DialogOverlay: () => DialogOverlay,\n DialogPortal: () => DialogPortal,\n DialogTitle: () => DialogTitle,\n DialogTrigger: () => DialogTrigger,\n Overlay: () => Overlay,\n Portal: () => Portal2,\n Root: () => Root3,\n Title: () => Title,\n Trigger: () => Trigger3,\n WarningProvider: () => WarningProvider,\n createDialogScope: () => createDialogScope\n });\n var React36 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\n var React25 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-callback-ref@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\n var React20 = __toESM(require_react(), 1);\n function useCallbackRef(callback) {\n const callbackRef = React20.useRef(callback);\n React20.useEffect(() => {\n callbackRef.current = callback;\n });\n return React20.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-escape-keydown@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs\n var React21 = __toESM(require_react(), 1);\n function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React21.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\n var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);\n var DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\n var CONTEXT_UPDATE = \"dismissableLayer.update\";\n var POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\n var FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\n var originalBodyPointerEvents;\n var DismissableLayerContext = React25.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n });\n var DismissableLayer = React25.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React25.useContext(DismissableLayerContext);\n const [node, setNode] = React25.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React25.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index2 = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index2 >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index2 === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React25.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React25.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React25.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n );\n DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\n var BRANCH_NAME = \"DismissableLayerBranch\";\n var DismissableLayerBranch = React25.forwardRef((props, forwardedRef) => {\n const context = React25.useContext(DismissableLayerContext);\n const ref = React25.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React25.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Primitive.div, { ...props, ref: composedRefs });\n });\n DismissableLayerBranch.displayName = BRANCH_NAME;\n function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React25.useRef(false);\n const handleClickRef = React25.useRef(() => {\n });\n React25.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n }\n function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React25.useRef(false);\n React25.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n }\n function dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n }\n function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-focus-scope@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-focus-scope/dist/index.mjs\n var React26 = __toESM(require_react(), 1);\n var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);\n var AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\n var AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\n var EVENT_OPTIONS = { bubbles: false, cancelable: true };\n var FOCUS_SCOPE_NAME = \"FocusScope\";\n var FocusScope = React26.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React26.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React26.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React26.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React26.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React26.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React26.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last2] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last2;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last2) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last2, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n });\n FocusScope.displayName = FOCUS_SCOPE_NAME;\n function focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n }\n function getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last2 = findVisible(candidates.reverse(), container);\n return [first, last2];\n }\n function getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n }\n function findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n }\n function isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n }\n function isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n }\n function focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n }\n var focusScopesStack = createFocusScopesStack();\n function createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n }\n function arrayRemove(array2, item) {\n const updatedArray = [...array2];\n const index2 = updatedArray.indexOf(item);\n if (index2 !== -1) {\n updatedArray.splice(index2, 1);\n }\n return updatedArray;\n }\n function removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-portal@1.1.9+119c4f3973a6d299/node_modules/@radix-ui/react-portal/dist/index.mjs\n var React27 = __toESM(require_react(), 1);\n var import_react_dom = __toESM(require_react_dom(), 1);\n var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);\n var PORTAL_NAME = \"Portal\";\n var Portal = React27.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React27.useState(false);\n useLayoutEffect2(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n });\n Portal.displayName = PORTAL_NAME;\n\n // ../../../node_modules/.bun/@radix-ui+react-focus-guards@1.1.3+b2e33729a97476bf/node_modules/@radix-ui/react-focus-guards/dist/index.mjs\n var React28 = __toESM(require_react(), 1);\n var count2 = 0;\n function useFocusGuards() {\n React28.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count2++;\n return () => {\n if (count2 === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count2--;\n };\n }, []);\n }\n function createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n }\n\n // ../../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs\n var __assign = function() {\n __assign = Object.assign || function __assign2(t2) {\n for (var s2, i = 1, n = arguments.length; i < n; i++) {\n s2 = arguments[i];\n for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p)) t2[p] = s2[p];\n }\n return t2;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s2, e) {\n var t2 = {};\n for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p) && e.indexOf(p) < 0)\n t2[p] = s2[p];\n if (s2 != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s2); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p[i]))\n t2[p[i]] = s2[p[i]];\n }\n return t2;\n }\n function __spreadArray(to2, from2, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from2.length, ar; i < l; i++) {\n if (ar || !(i in from2)) {\n if (!ar) ar = Array.prototype.slice.call(from2, 0, i);\n ar[i] = from2[i];\n }\n }\n return to2.concat(ar || Array.prototype.slice.call(from2));\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/Combination.js\n var React35 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/UI.js\n var React31 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/constants.js\n var zeroRightClassName = \"right-scroll-bar-position\";\n var fullWidthClassName = \"width-before-scroll-bar\";\n var noScrollbarsClassName = \"with-scroll-bars-hidden\";\n var removedBarSizeVariable = \"--removed-body-scroll-bar-size\";\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/assignRef.js\n function assignRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n return ref;\n }\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/useRef.js\n var import_react5 = __toESM(require_react());\n function useCallbackRef2(initialValue, callback) {\n var ref = (0, import_react5.useState)(function() {\n return {\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last2 = ref.value;\n if (last2 !== value) {\n ref.value = value;\n ref.callback(value, last2);\n }\n }\n }\n };\n })[0];\n ref.callback = callback;\n return ref.facade;\n }\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/useMergeRef.js\n var React29 = __toESM(require_react());\n var useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? React29.useLayoutEffect : React29.useEffect;\n var currentValues = /* @__PURE__ */ new WeakMap();\n function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {\n return refs.forEach(function(ref) {\n return assignRef(ref, newValue);\n });\n });\n useIsomorphicLayoutEffect(function() {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function(ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function(ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n }\n\n // ../../../node_modules/.bun/use-sidecar@1.1.3+b2e33729a97476bf/node_modules/use-sidecar/dist/es2015/medium.js\n function ItoI(a2) {\n return a2;\n }\n function innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function() {\n if (assigned) {\n throw new Error(\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\");\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function(data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function() {\n buffer = buffer.filter(function(x2) {\n return x2 !== item;\n });\n };\n },\n assignSyncMedium: function(cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function(x2) {\n return cb(x2);\n },\n filter: function() {\n return buffer;\n }\n };\n },\n assignMedium: function(cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function() {\n var cbs2 = pendingQueue;\n pendingQueue = [];\n cbs2.forEach(cb);\n };\n var cycle = function() {\n return Promise.resolve().then(executeQueue);\n };\n cycle();\n buffer = {\n push: function(x2) {\n pendingQueue.push(x2);\n cycle();\n },\n filter: function(filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n }\n function createSidecarMedium(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options2);\n return medium;\n }\n\n // ../../../node_modules/.bun/use-sidecar@1.1.3+b2e33729a97476bf/node_modules/use-sidecar/dist/es2015/exports.js\n var React30 = __toESM(require_react());\n var SideCar = function(_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error(\"Sidecar: please provide `sideCar` property to import the right car\");\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error(\"Sidecar medium not found\");\n }\n return React30.createElement(Target, __assign({}, rest));\n };\n SideCar.isSideCarExport = true;\n function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/medium.js\n var effectCar = createSidecarMedium();\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/UI.js\n var nothing = function() {\n return;\n };\n var RemoveScroll = React31.forwardRef(function(props, parentRef) {\n var ref = React31.useRef(null);\n var _a = React31.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? \"div\" : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar2 = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return React31.createElement(\n React31.Fragment,\n null,\n enabled && React31.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),\n forwardProps ? React31.cloneElement(React31.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React31.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)\n );\n });\n RemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n };\n RemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/SideEffect.js\n var React34 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/component.js\n var React33 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/hook.js\n var React32 = __toESM(require_react());\n\n // ../../../node_modules/.bun/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js\n var currentNonce;\n var getNonce = function() {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== \"undefined\") {\n return __webpack_nonce__;\n }\n return void 0;\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/singleton.js\n function makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement(\"style\");\n tag.type = \"text/css\";\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute(\"nonce\", nonce);\n }\n return tag;\n }\n function injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n }\n function insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n head.appendChild(tag);\n }\n var stylesheetSingleton = function() {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function(style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function() {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/hook.js\n var styleHookSingleton = function() {\n var sheet = stylesheetSingleton();\n return function(styles, isDynamic) {\n React32.useEffect(function() {\n sheet.add(styles);\n return function() {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/component.js\n var styleSingleton = function() {\n var useStyle = styleHookSingleton();\n var Sheet2 = function(_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet2;\n };\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/utils.js\n var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n };\n var parse2 = function(x2) {\n return parseInt(x2 || \"\", 10) || 0;\n };\n var getOffset = function(gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === \"padding\" ? \"paddingLeft\" : \"marginLeft\"];\n var top = cs[gapMode === \"padding\" ? \"paddingTop\" : \"marginTop\"];\n var right = cs[gapMode === \"padding\" ? \"paddingRight\" : \"marginRight\"];\n return [parse2(left), parse2(top), parse2(right)];\n };\n var getGapWidth = function(gapMode) {\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n if (typeof window === \"undefined\") {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n };\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/component.js\n var Style = styleSingleton();\n var lockAttribute = \"data-scroll-locked\";\n var getStyles = function(_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === \"margin\" && \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === \"padding\" && \"padding-right: \".concat(gap, \"px \").concat(important, \";\")\n ].filter(Boolean).join(\"\"), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n };\n var getCurrentUseCounter = function() {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || \"0\", 10);\n return isFinite(counter) ? counter : 0;\n };\n var useLockAttribute = function() {\n React33.useEffect(function() {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function() {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n } else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n };\n var RemoveScrollBar = function(_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? \"margin\" : _b;\n useLockAttribute();\n var gap = React33.useMemo(function() {\n return getGapWidth(gapMode);\n }, [gapMode]);\n return React33.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : \"\") });\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js\n var passiveSupported = false;\n if (typeof window !== \"undefined\") {\n try {\n options2 = Object.defineProperty({}, \"passive\", {\n get: function() {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener(\"test\", options2, options2);\n window.removeEventListener(\"test\", options2, options2);\n } catch (err) {\n passiveSupported = false;\n }\n }\n var options2;\n var nonPassive = passiveSupported ? { passive: false } : false;\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/handleScroll.js\n var alwaysContainsScroll = function(node) {\n return node.tagName === \"TEXTAREA\";\n };\n var elementCanBeScrolled = function(node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== \"hidden\" && // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === \"visible\")\n );\n };\n var elementCouldBeVScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowY\");\n };\n var elementCouldBeHScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowX\");\n };\n var locationCouldBeScrolled = function(axis, node) {\n var ownerDocument = node.ownerDocument;\n var current3 = node;\n do {\n if (typeof ShadowRoot !== \"undefined\" && current3 instanceof ShadowRoot) {\n current3 = current3.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current3);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current3), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current3 = current3.parentNode;\n } while (current3 && current3 !== ownerDocument.body);\n return false;\n };\n var getVScrollVariables = function(_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight\n ];\n };\n var getHScrollVariables = function(_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth\n ];\n };\n var elementCouldBeScrolled = function(axis, node) {\n return axis === \"v\" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n };\n var getScrollVariables = function(axis, node) {\n return axis === \"v\" ? getVScrollVariables(node) : getHScrollVariables(node);\n };\n var getDirectionFactor = function(axis, direction) {\n return axis === \"h\" && direction === \"rtl\" ? -1 : 1;\n };\n var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position2 = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position2;\n if (position2 || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position2;\n }\n }\n var parent_1 = target.parentNode;\n target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1;\n } while (\n // portaled content\n !targetInLock && target !== document.body || // self content\n targetInLock && (endTarget.contains(target) || endTarget === target)\n );\n if (isDeltaPositive && (noOverscroll && Math.abs(availableScroll) < 1 || !noOverscroll && delta > availableScroll)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (noOverscroll && Math.abs(availableScrollTop) < 1 || !noOverscroll && -delta > availableScrollTop)) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/SideEffect.js\n var getTouchXY = function(event) {\n return \"changedTouches\" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n };\n var getDeltaXY = function(event) {\n return [event.deltaX, event.deltaY];\n };\n var extractRef = function(ref) {\n return ref && \"current\" in ref ? ref.current : ref;\n };\n var deltaCompare = function(x2, y2) {\n return x2[0] === y2[0] && x2[1] === y2[1];\n };\n var generateStyle = function(id) {\n return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\");\n };\n var idCounter = 0;\n var lockStack = [];\n function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React34.useRef([]);\n var touchStartRef = React34.useRef([0, 0]);\n var activeAxis = React34.useRef();\n var id = React34.useState(idCounter++)[0];\n var Style2 = React34.useState(styleSingleton)[0];\n var lastProps = React34.useRef(props);\n React34.useEffect(function() {\n lastProps.current = props;\n }, [props]);\n React34.useEffect(function() {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function(el) {\n return el.classList.add(\"allow-interactivity-\".concat(id));\n });\n return function() {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function(el) {\n return el.classList.remove(\"allow-interactivity-\".concat(id));\n });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React34.useCallback(function(event, parent) {\n if (\"touches\" in event && event.touches.length === 2 || event.type === \"wheel\" && event.ctrlKey) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = \"deltaX\" in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = \"deltaY\" in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? \"h\" : \"v\";\n if (\"touches\" in event && moveDirection === \"h\" && target.type === \"range\") {\n return false;\n }\n var selection = window.getSelection();\n var anchorNode = selection && selection.anchorNode;\n var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false;\n if (isTouchingSelection) {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === \"v\" ? \"h\" : \"v\";\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && \"changedTouches\" in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === \"h\" ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React34.useCallback(function(_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {\n return;\n }\n var delta = \"deltaY\" in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function(e) {\n return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta);\n })[0];\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React34.useCallback(function(name, delta, target, should) {\n var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function() {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React34.useCallback(function(event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = void 0;\n }, []);\n var scrollWheel = React34.useCallback(function(event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React34.useCallback(function(event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React34.useEffect(function() {\n lockStack.push(Style2);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n return function() {\n lockStack = lockStack.filter(function(inst) {\n return inst !== Style2;\n });\n document.removeEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return React34.createElement(\n React34.Fragment,\n null,\n inert ? React34.createElement(Style2, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React34.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null\n );\n }\n function getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/sidecar.js\n var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/Combination.js\n var ReactRemoveScroll = React35.forwardRef(function(props, ref) {\n return React35.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));\n });\n ReactRemoveScroll.classNames = RemoveScroll.classNames;\n var Combination_default = ReactRemoveScroll;\n\n // ../../../node_modules/.bun/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js\n var getDefaultParent = function(originalTarget) {\n if (typeof document === \"undefined\") {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n };\n var counterMap = /* @__PURE__ */ new WeakMap();\n var uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n var markerMap = {};\n var lockCount = 0;\n var unwrapHost = function(node) {\n return node && (node.host || unwrapHost(node.parentNode));\n };\n var correctTargets = function(parent, targets) {\n return targets.map(function(target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error(\"aria-hidden\", target, \"in not contained inside\", parent, \". Doing nothing\");\n return null;\n }).filter(function(x2) {\n return Boolean(x2);\n });\n };\n var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = /* @__PURE__ */ new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = /* @__PURE__ */ new Set();\n var elementsToStop = new Set(targets);\n var keep = function(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function(node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== \"false\";\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, \"true\");\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, \"true\");\n }\n } catch (e) {\n console.error(\"aria-hidden: cannot operate on \", node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function() {\n hiddenNodes.forEach(function(node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = /* @__PURE__ */ new WeakMap();\n counterMap = /* @__PURE__ */ new WeakMap();\n uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n markerMap = {};\n }\n };\n };\n var hideOthers = function(originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = \"data-aria-hidden\";\n }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function() {\n return null;\n };\n }\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll(\"[aria-live], script\")));\n return applyAttributeToOthers(targets, activeParentNode, markerName, \"aria-hidden\");\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-dialog/dist/index.mjs\n var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);\n var DIALOG_NAME = \"Dialog\";\n var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\n var Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React36.useRef(null);\n const contentRef = React36.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React36.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n };\n Dialog.displayName = DIALOG_NAME;\n var TRIGGER_NAME3 = \"DialogTrigger\";\n var DialogTrigger = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME3, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState3(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n );\n DialogTrigger.displayName = TRIGGER_NAME3;\n var PORTAL_NAME2 = \"DialogPortal\";\n var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {\n forceMount: void 0\n });\n var DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME2, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React36.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Portal, { asChild: true, container, children: child }) })) });\n };\n DialogPortal.displayName = PORTAL_NAME2;\n var OVERLAY_NAME = \"DialogOverlay\";\n var DialogOverlay = React36.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n );\n DialogOverlay.displayName = OVERLAY_NAME;\n var Slot2 = createSlot(\"DialogOverlay.RemoveScroll\");\n var DialogOverlayImpl = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.div,\n {\n \"data-state\": getState3(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n );\n var CONTENT_NAME3 = \"DialogContent\";\n var DialogContent = React36.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME3, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n );\n DialogContent.displayName = CONTENT_NAME3;\n var DialogContentModal = React36.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n const contentRef = React36.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React36.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n );\n var DialogContentNonModal = React36.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n const hasInteractedOutsideRef = React36.useRef(false);\n const hasPointerDownOutsideRef = React36.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n );\n var DialogContentImpl = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME3, __scopeDialog);\n const contentRef = React36.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState3(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n );\n var TITLE_NAME = \"DialogTitle\";\n var DialogTitle = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n );\n DialogTitle.displayName = TITLE_NAME;\n var DESCRIPTION_NAME = \"DialogDescription\";\n var DialogDescription = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n );\n DialogDescription.displayName = DESCRIPTION_NAME;\n var CLOSE_NAME = \"DialogClose\";\n var DialogClose = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n );\n DialogClose.displayName = CLOSE_NAME;\n function getState3(open) {\n return open ? \"open\" : \"closed\";\n }\n var TITLE_WARNING_NAME = \"DialogTitleWarning\";\n var [WarningProvider, useWarningContext] = createContext22(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME3,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n });\n var TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React36.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n };\n var DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\n var DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React36.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n };\n var Root3 = Dialog;\n var Trigger3 = DialogTrigger;\n var Portal2 = DialogPortal;\n var Overlay = DialogOverlay;\n var Content3 = DialogContent;\n var Title = DialogTitle;\n var Description = DialogDescription;\n var Close = DialogClose;\n\n // ../../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-avatar/dist/index.mjs\n var dist_exports5 = {};\n __export(dist_exports5, {\n Avatar: () => Avatar,\n AvatarFallback: () => AvatarFallback,\n AvatarImage: () => AvatarImage,\n Fallback: () => Fallback,\n Image: () => Image,\n Root: () => Root4,\n createAvatarScope: () => createAvatarScope\n });\n var React37 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-is-hydrated@0.1.0+b2e33729a97476bf/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs\n var import_shim = __toESM(require_shim(), 1);\n function useIsHydrated() {\n return (0, import_shim.useSyncExternalStore)(\n subscribe,\n () => true,\n () => false\n );\n }\n function subscribe() {\n return () => {\n };\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-avatar/dist/index.mjs\n var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);\n var AVATAR_NAME = \"Avatar\";\n var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\n var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\n var Avatar = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React37.useState(\"idle\");\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n onImageLoadingStatusChange: setImageLoadingStatus,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }\n );\n Avatar.displayName = AVATAR_NAME;\n var IMAGE_NAME = \"AvatarImage\";\n var AvatarImage = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, src, onLoadingStatusChange = () => {\n }, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n const imageLoadingStatus = useImageLoadingStatus(src, imageProps);\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n });\n useLayoutEffect2(() => {\n if (imageLoadingStatus !== \"idle\") {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }\n );\n AvatarImage.displayName = IMAGE_NAME;\n var FALLBACK_NAME = \"AvatarFallback\";\n var AvatarFallback = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React37.useState(delayMs === void 0);\n React37.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }\n );\n AvatarFallback.displayName = FALLBACK_NAME;\n function resolveLoadingStatus(image, src) {\n if (!image) {\n return \"idle\";\n }\n if (!src) {\n return \"error\";\n }\n if (image.src !== src) {\n image.src = src;\n }\n return image.complete && image.naturalWidth > 0 ? \"loaded\" : \"loading\";\n }\n function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {\n const isHydrated = useIsHydrated();\n const imageRef = React37.useRef(null);\n const image = (() => {\n if (!isHydrated) return null;\n if (!imageRef.current) {\n imageRef.current = new window.Image();\n }\n return imageRef.current;\n })();\n const [loadingStatus, setLoadingStatus] = React37.useState(\n () => resolveLoadingStatus(image, src)\n );\n useLayoutEffect2(() => {\n setLoadingStatus(resolveLoadingStatus(image, src));\n }, [image, src]);\n useLayoutEffect2(() => {\n const updateStatus = (status) => () => {\n setLoadingStatus(status);\n };\n if (!image) return;\n const handleLoad = updateStatus(\"loaded\");\n const handleError = updateStatus(\"error\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n if (typeof crossOrigin === \"string\") {\n image.crossOrigin = crossOrigin;\n }\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n };\n }, [image, crossOrigin, referrerPolicy]);\n return loadingStatus;\n }\n var Root4 = Avatar;\n var Image = AvatarImage;\n var Fallback = AvatarFallback;\n\n // ../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.3+119c4f3973a6d299/node_modules/@radix-ui/react-checkbox/dist/index.mjs\n var dist_exports6 = {};\n __export(dist_exports6, {\n Checkbox: () => Checkbox,\n CheckboxIndicator: () => CheckboxIndicator,\n Indicator: () => CheckboxIndicator,\n Root: () => Checkbox,\n createCheckboxScope: () => createCheckboxScope,\n unstable_BubbleInput: () => CheckboxBubbleInput,\n unstable_CheckboxBubbleInput: () => CheckboxBubbleInput,\n unstable_CheckboxProvider: () => CheckboxProvider,\n unstable_CheckboxTrigger: () => CheckboxTrigger,\n unstable_Provider: () => CheckboxProvider,\n unstable_Trigger: () => CheckboxTrigger\n });\n var React40 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-previous@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-previous/dist/index.mjs\n var React38 = __toESM(require_react(), 1);\n function usePrevious(value) {\n const ref = React38.useRef({ value, previous: value });\n return React38.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-size@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-size/dist/index.mjs\n var React39 = __toESM(require_react(), 1);\n function useSize(element) {\n const [size4, setSize] = React39.useState(void 0);\n useLayoutEffect2(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size4;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.3+119c4f3973a6d299/node_modules/@radix-ui/react-checkbox/dist/index.mjs\n var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);\n var CHECKBOX_NAME = \"Checkbox\";\n var [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\n var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\n function CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React40.useState(null);\n const [bubbleInput, setBubbleInput] = React40.useState(null);\n const hasConsumerStoppedPropagationRef = React40.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction2(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n }\n var TRIGGER_NAME4 = \"CheckboxTrigger\";\n var CheckboxTrigger = React40.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME4, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React40.useRef(checked);\n React40.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState4(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n );\n CheckboxTrigger.displayName = TRIGGER_NAME4;\n var Checkbox = React40.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n );\n Checkbox.displayName = CHECKBOX_NAME;\n var INDICATOR_NAME = \"CheckboxIndicator\";\n var CheckboxIndicator = React40.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.span,\n {\n \"data-state\": getState4(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n );\n CheckboxIndicator.displayName = INDICATOR_NAME;\n var BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\n var CheckboxBubbleInput = React40.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React40.useEffect(() => {\n const input2 = bubbleInput;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input2.indeterminate = isIndeterminate(checked);\n setChecked.call(input2, isIndeterminate(checked) ? false : checked);\n input2.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React40.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n );\n CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\n function isFunction2(value) {\n return typeof value === \"function\";\n }\n function isIndeterminate(checked) {\n return checked === \"indeterminate\";\n }\n function getState4(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-menu/dist/index.mjs\n var React45 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-popper@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-popper/dist/index.mjs\n var React43 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\n var sides = [\"top\", \"right\", \"bottom\", \"left\"];\n var min = Math.min;\n var max = Math.max;\n var round = Math.round;\n var floor = Math.floor;\n var createCoords = (v) => ({\n x: v,\n y: v\n });\n var oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n };\n function clamp(start, value, end) {\n return max(start, min(value, end));\n }\n function evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n }\n function getSide(placement) {\n return placement.split(\"-\")[0];\n }\n function getAlignment(placement) {\n return placement.split(\"-\")[1];\n }\n function getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n }\n function getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n }\n function getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === \"t\" || firstChar === \"b\" ? \"y\" : \"x\";\n }\n function getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n }\n function getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n }\n function getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n }\n function getOppositeAlignmentPlacement(placement) {\n return placement.includes(\"start\") ? placement.replace(\"start\", \"end\") : placement.replace(\"end\", \"start\");\n }\n var lrPlacement = [\"left\", \"right\"];\n var rlPlacement = [\"right\", \"left\"];\n var tbPlacement = [\"top\", \"bottom\"];\n var btPlacement = [\"bottom\", \"top\"];\n function getSideList(side, isStart, rtl) {\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n }\n function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n }\n function getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n }\n function expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n }\n function getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n }\n function rectToClientRect(rect) {\n const {\n x: x2,\n y: y2,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y2,\n left: x2,\n right: x2 + width,\n bottom: y2 + height,\n x: x2,\n y: y2\n };\n }\n\n // ../../../node_modules/.bun/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n function computeCoordsFromPlacement(_ref2, placement, rtl) {\n let {\n reference,\n floating\n } = _ref2;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n }\n async function detectOverflow(state2, options2) {\n var _await$platform$isEle;\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n x: x2,\n y: y2,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state2;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options2, state2);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x: x2,\n y: y2,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n }\n var MAX_RESET_COUNT = 50;\n var computePosition = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {\n ...platform2,\n detectOverflow\n };\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x: x2,\n y: y2\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x: x2,\n y: y2,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x2 = nextX != null ? nextX : x2;\n y2 = nextY != null ? nextY : y2;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x: x2,\n y: y2\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x: x2,\n y: y2,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n };\n var arrow = (options2) => ({\n name: \"arrow\",\n options: options2,\n async fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state2;\n const {\n element,\n padding = 0\n } = evaluate(options2, state2) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x: x2,\n y: y2\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max3 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset4 = clamp(min$1, center, max3);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max3 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset4,\n centerOffset: center - offset4 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n });\n var flip = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"flip\",\n options: options2,\n async fn(state2) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state2;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements2 = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements2[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a2, b) => a2.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a2, b) => a2[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n };\n function getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n }\n function isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n }\n var hide = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"hide\",\n options: options2,\n async fn(state2) {\n const {\n rects,\n platform: platform2\n } = state2;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await platform2.detectOverflow(state2, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await platform2.detectOverflow(state2, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n };\n var originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\n async function convertValueToCoords(state2, options2) {\n const {\n placement,\n platform: platform2,\n elements\n } = state2;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options2, state2);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n }\n var offset = function(options2) {\n if (options2 === void 0) {\n options2 = 0;\n }\n return {\n name: \"offset\",\n options: options2,\n async fn(state2) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x: x2,\n y: y2,\n placement,\n middlewareData\n } = state2;\n const diffCoords = await convertValueToCoords(state2, options2);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x2 + diffCoords.x,\n y: y2 + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n };\n var shift = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"shift\",\n options: options2,\n async fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n platform: platform2\n } = state2;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref2) => {\n let {\n x: x3,\n y: y3\n } = _ref2;\n return {\n x: x3,\n y: y3\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n const coords = {\n x: x2,\n y: y2\n };\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min3 = mainAxisCoord + overflow[minSide];\n const max3 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min3, mainAxisCoord, max3);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min3 = crossAxisCoord + overflow[minSide];\n const max3 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min3, crossAxisCoord, max3);\n }\n const limitedCoords = limiter.fn({\n ...state2,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x2,\n y: limitedCoords.y - y2,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n };\n var limitShift = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n options: options2,\n fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n rects,\n middlewareData\n } = state2;\n const {\n offset: offset4 = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options2, state2);\n const coords = {\n x: x2,\n y: y2\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset4, state2);\n const computedOffset = typeof rawOffset === \"number\" ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === \"y\" ? \"height\" : \"width\";\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === \"y\" ? \"width\" : \"height\";\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n };\n var size = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"size\",\n options: options2,\n async fn(state2) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state2;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state2.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state2,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n };\n\n // ../../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\n function hasWindow() {\n return typeof window !== \"undefined\";\n }\n function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n }\n function getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n }\n function getDocumentElement(node) {\n var _ref2;\n return (_ref2 = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref2.documentElement;\n }\n function isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n }\n function isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n }\n function isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n }\n function isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n }\n function isOverflowElement(element) {\n const {\n overflow,\n overflowX: overflowX2,\n overflowY: overflowY2,\n display\n } = getComputedStyle2(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY2 + overflowX2) && display !== \"inline\" && display !== \"contents\";\n }\n function isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n }\n function isTopLayer(element) {\n try {\n if (element.matches(\":popover-open\")) {\n return true;\n }\n } catch (_e) {\n }\n try {\n return element.matches(\":modal\");\n } catch (_e) {\n return false;\n }\n }\n var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\n var containRe = /paint|layout|strict|content/;\n var isNotNone = (value) => !!value && value !== \"none\";\n var isWebKitValue;\n function isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || \"\") || containRe.test(css.contain || \"\");\n }\n function getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n }\n function isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== \"undefined\" && CSS.supports && CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n }\n return isWebKitValue;\n }\n function isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n }\n function getComputedStyle2(element) {\n return getWindow(element).getComputedStyle(element);\n }\n function getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n }\n function getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n }\n function getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n }\n function getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n }\n function getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n }\n\n // ../../../node_modules/.bun/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\n function getCssDimensions(element) {\n const css = getComputedStyle2(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n }\n function unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n }\n function getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x2 = ($ ? round(rect.width) : rect.width) / width;\n let y2 = ($ ? round(rect.height) : rect.height) / height;\n if (!x2 || !Number.isFinite(x2)) {\n x2 = 1;\n }\n if (!y2 || !Number.isFinite(y2)) {\n y2 = 1;\n }\n return {\n x: x2,\n y: y2\n };\n }\n var noOffsets = /* @__PURE__ */ createCoords(0);\n function getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n }\n function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n }\n function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x2 = (clientRect.left + visualOffsets.x) / scale.x;\n let y2 = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle2(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x2 *= iframeScale.x;\n y2 *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x2 += left;\n y2 += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x: x2,\n y: y2\n });\n }\n function getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n }\n function getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x2 = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y2 = htmlRect.top + scroll.scrollTop;\n return {\n x: x2,\n y: y2\n };\n }\n function convertOffsetParentRelativeRectToViewportRelativeRect(_ref2) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref2;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n }\n function getClientRects(element) {\n return Array.from(element.getClientRects());\n }\n function getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x2 = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y2 = -scroll.scrollTop;\n if (getComputedStyle2(body).direction === \"rtl\") {\n x2 += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n var SCROLLBAR_MAX = 25;\n function getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x2 = 0;\n let y2 = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x2 = visualViewport.offsetLeft;\n y2 = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n function getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x2 = left * scale.x;\n const y2 = top * scale.y;\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n }\n function hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle2(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n }\n function getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle2(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle2(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === \"absolute\" || currentContainingBlockComputedStyle.position === \"fixed\") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n }\n function getClippingRect(_ref2) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref2;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n }\n function getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n }\n function getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y2 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x: x2,\n y: y2,\n width: rect.width,\n height: rect.height\n };\n }\n function isStaticPositioned(element) {\n return getComputedStyle2(element).position === \"static\";\n }\n function getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle2(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n }\n function getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n }\n var getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n };\n function isRTL(element) {\n return getComputedStyle2(element).direction === \"rtl\";\n }\n var platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n };\n function rectsAreEqual(a2, b) {\n return a2.x === b.x && a2.y === b.y && a2.width === b.width && a2.height === b.height;\n }\n function observeMove(element, onMove) {\n let io = null;\n let timeoutId4;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId4);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold2) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold2 === void 0) {\n threshold2 = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options2 = {\n rootMargin,\n threshold: max(0, min(1, threshold2)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold2) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId4 = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n refresh();\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options2,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options2);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n }\n function autoUpdate(reference, floating, update, options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options2;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref2) => {\n let [firstEntry] = _ref2;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n }\n var offset2 = offset;\n var shift2 = shift;\n var flip2 = flip;\n var size2 = size;\n var hide2 = hide;\n var arrow2 = arrow;\n var limitShift2 = limitShift;\n var computePosition2 = (reference, floating, options2) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options2\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n };\n\n // ../../../node_modules/.bun/@floating-ui+react-dom@2.1.8+21ccd8898788a04d/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\n var React41 = __toESM(require_react(), 1);\n var import_react6 = __toESM(require_react(), 1);\n var ReactDOM3 = __toESM(require_react_dom(), 1);\n var isClient = typeof document !== \"undefined\";\n var noop2 = function noop3() {\n };\n var index = isClient ? import_react6.useLayoutEffect : noop2;\n function deepEqual(a2, b) {\n if (a2 === b) {\n return true;\n }\n if (typeof a2 !== typeof b) {\n return false;\n }\n if (typeof a2 === \"function\" && a2.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a2 && b && typeof a2 === \"object\") {\n if (Array.isArray(a2)) {\n length = a2.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0; ) {\n if (!deepEqual(a2[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a2);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0; ) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n if (key === \"_owner\" && a2.$$typeof) {\n continue;\n }\n if (!deepEqual(a2[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a2 !== a2 && b !== b;\n }\n function getDPR(element) {\n if (typeof window === \"undefined\") {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n }\n function roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n }\n function useLatestRef(value) {\n const ref = React41.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n }\n function useFloating(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform: transform2 = true,\n whileElementsMounted,\n open\n } = options2;\n const [data, setData] = React41.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React41.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React41.useState(null);\n const [_floating, _setFloating] = React41.useState(null);\n const setReference = React41.useCallback((node) => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React41.useCallback((node) => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React41.useRef(null);\n const floatingRef = React41.useRef(null);\n const dataRef = React41.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform2);\n const openRef = useLatestRef(open);\n const update = React41.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {\n const fullData = {\n ...data2,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM3.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData((data2) => ({\n ...data2,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React41.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React41.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React41.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React41.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x2 = roundByDPR(elements.floating, data.x);\n const y2 = roundByDPR(elements.floating, data.y);\n if (transform2) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x2 + \"px, \" + y2 + \"px)\",\n ...getDPR(elements.floating) >= 1.5 && {\n willChange: \"transform\"\n }\n };\n }\n return {\n position: strategy,\n left: x2,\n top: y2\n };\n }, [strategy, transform2, elements.floating, data.x, data.y]);\n return React41.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n }\n var arrow$1 = (options2) => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, \"current\");\n }\n return {\n name: \"arrow\",\n options: options2,\n fn(state2) {\n const {\n element,\n padding\n } = typeof options2 === \"function\" ? options2(state2) : options2;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow2({\n element: element.current,\n padding\n }).fn(state2);\n }\n return {};\n }\n if (element) {\n return arrow2({\n element,\n padding\n }).fn(state2);\n }\n return {};\n }\n };\n };\n var offset3 = (options2, deps) => {\n const result = offset2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var shift3 = (options2, deps) => {\n const result = shift2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var limitShift3 = (options2, deps) => {\n const result = limitShift2(options2);\n return {\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var flip3 = (options2, deps) => {\n const result = flip2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var size3 = (options2, deps) => {\n const result = size2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var hide3 = (options2, deps) => {\n const result = hide2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var arrow3 = (options2, deps) => {\n const result = arrow$1(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-arrow@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-arrow/dist/index.mjs\n var React42 = __toESM(require_react(), 1);\n var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);\n var NAME2 = \"Arrow\";\n var Arrow = React42.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n });\n Arrow.displayName = NAME2;\n var Root5 = Arrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-popper@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-popper/dist/index.mjs\n var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);\n var POPPER_NAME = \"Popper\";\n var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\n var Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React43.useState(null);\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n };\n Popper.displayName = POPPER_NAME;\n var ANCHOR_NAME = \"PopperAnchor\";\n var PopperAnchor = React43.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React43.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const anchorRef = React43.useRef(null);\n React43.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n context.onAnchorChange(anchorRef.current);\n }\n });\n return virtualRef ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n );\n PopperAnchor.displayName = ANCHOR_NAME;\n var CONTENT_NAME4 = \"PopperContent\";\n var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME4);\n var PopperContent = React43.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME4, __scopePopper);\n const [content, setContent] = React43.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow4, setArrow] = React43.useState(null);\n const arrowSize = useSize(arrow4);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset3({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift3({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift3() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip3({ ...detectOverflowOptions }),\n size3({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow4 && arrow3({ element: arrow4, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide3({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect2(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React43.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n );\n PopperContent.displayName = CONTENT_NAME4;\n var ARROW_NAME = \"PopperArrow\";\n var OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n };\n var PopperArrow = React43.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n Root5,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n });\n PopperArrow.displayName = ARROW_NAME;\n function isNotNull(value) {\n return value !== null;\n }\n var transformOrigin = (options2) => ({\n name: \"transformOrigin\",\n options: options2,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options2.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options2.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x2 = \"\";\n let y2 = \"\";\n if (placedSide === \"bottom\") {\n x2 = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y2 = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x2 = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y2 = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x2 = `${-arrowHeight}px`;\n y2 = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x2 = `${rects.floating.width + arrowHeight}px`;\n y2 = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x: x2, y: y2 } };\n }\n });\n function getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n }\n var Root23 = Popper;\n var Anchor = PopperAnchor;\n var Content4 = PopperContent;\n var Arrow2 = PopperArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-roving-focus/dist/index.mjs\n var React44 = __toESM(require_react(), 1);\n var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);\n var ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\n var EVENT_OPTIONS2 = { bubbles: false, cancelable: true };\n var GROUP_NAME = \"RovingFocusGroup\";\n var [Collection2, useCollection2, createCollectionScope2] = createCollection(GROUP_NAME);\n var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope2]\n );\n var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\n var RovingFocusGroup = React44.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Collection2.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Collection2.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n );\n RovingFocusGroup.displayName = GROUP_NAME;\n var RovingFocusGroupImpl = React44.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React44.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React44.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection2(__scopeRovingFocusGroup);\n const isClickFocusRef = React44.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React44.useState(0);\n React44.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React44.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React44.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React44.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React44.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS2);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst2(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n });\n var ITEM_NAME2 = \"RovingFocusGroupItem\";\n var RovingFocusGroupItem = React44.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME2, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection2(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React44.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Collection2.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst2(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n );\n RovingFocusGroupItem.displayName = ITEM_NAME2;\n var MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n };\n function getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n }\n function getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n }\n function focusFirst2(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n function wrapArray(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n var Root6 = RovingFocusGroup;\n var Item2 = RovingFocusGroupItem;\n\n // ../../../node_modules/.bun/@radix-ui+react-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-menu/dist/index.mjs\n var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);\n var SELECTION_KEYS = [\"Enter\", \" \"];\n var FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\n var LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\n var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\n var SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n };\n var SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n };\n var MENU_NAME = \"Menu\";\n var [Collection3, useCollection3, createCollectionScope3] = createCollection(MENU_NAME);\n var [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope3,\n createPopperScope,\n createRovingFocusGroupScope\n ]);\n var usePopperScope = createPopperScope();\n var useRovingFocusGroupScope = createRovingFocusGroupScope();\n var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\n var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\n var Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React45.useState(null);\n const isUsingKeyboardRef = React45.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React45.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React45.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n };\n Menu.displayName = MENU_NAME;\n var ANCHOR_NAME2 = \"MenuAnchor\";\n var MenuAnchor = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n );\n MenuAnchor.displayName = ANCHOR_NAME2;\n var PORTAL_NAME3 = \"MenuPortal\";\n var [PortalProvider2, usePortalContext2] = createMenuContext(PORTAL_NAME3, {\n forceMount: void 0\n });\n var MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME3, __scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(PortalProvider2, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n MenuPortal.displayName = PORTAL_NAME3;\n var CONTENT_NAME5 = \"MenuContent\";\n var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME5);\n var MenuContent = React45.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext2(CONTENT_NAME5, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, props.__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n );\n var MenuRootContentModal = React45.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React45.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n );\n var MenuRootContentNonModal = React45.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n });\n var Slot3 = createSlot(\"MenuContent.ScrollLock\");\n var MenuContentImpl = React45.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME5, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection3(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React45.useState(null);\n const contentRef = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React45.useRef(0);\n const searchRef = React45.useRef(\"\");\n const pointerGraceTimerRef = React45.useRef(0);\n const pointerGraceIntentRef = React45.useRef(null);\n const pointerDirRef = React45.useRef(\"right\");\n const lastPointerXRef = React45.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? Combination_default : React45.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot3, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React45.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React45.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React45.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Content4,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst3(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n );\n MenuContent.displayName = CONTENT_NAME5;\n var GROUP_NAME2 = \"MenuGroup\";\n var MenuGroup = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n );\n MenuGroup.displayName = GROUP_NAME2;\n var LABEL_NAME = \"MenuLabel\";\n var MenuLabel = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n );\n MenuLabel.displayName = LABEL_NAME;\n var ITEM_NAME3 = \"MenuItem\";\n var ITEM_SELECT = \"menu.itemSelect\";\n var MenuItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React45.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME3, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME3, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React45.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n );\n MenuItem.displayName = ITEM_NAME3;\n var MenuItemImpl = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME3, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React45.useState(false);\n const [textContent, setTextContent] = React45.useState(\"\");\n React45.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Collection3.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Item2, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n );\n var CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\n var MenuCheckboxItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate2(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate2(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"MenuRadioGroup\";\n var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n );\n var MenuRadioGroup = React45.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n );\n MenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"MenuRadioItem\";\n var MenuRadioItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n MenuRadioItem.displayName = RADIO_ITEM_NAME;\n var ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\n var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n );\n var MenuItemIndicator = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Presence,\n {\n present: forceMount || isIndeterminate2(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n );\n MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n var SEPARATOR_NAME = \"MenuSeparator\";\n var MenuSeparator = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n MenuSeparator.displayName = SEPARATOR_NAME;\n var ARROW_NAME2 = \"MenuArrow\";\n var MenuArrow = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n MenuArrow.displayName = ARROW_NAME2;\n var SUB_NAME = \"MenuSub\";\n var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\n var MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React45.useState(null);\n const [content, setContent] = React45.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React45.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n };\n MenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"MenuSubTrigger\";\n var MenuSubTrigger = React45.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React45.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React45.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React45.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React45.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n );\n MenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"MenuSubContent\";\n var MenuSubContent = React45.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext2(CONTENT_NAME5, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n );\n MenuSubContent.displayName = SUB_CONTENT_NAME;\n function getOpenState(open) {\n return open ? \"open\" : \"closed\";\n }\n function isIndeterminate2(checked) {\n return checked === \"indeterminate\";\n }\n function getCheckedState(checked) {\n return isIndeterminate2(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n }\n function focusFirst3(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n function wrapArray2(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n function getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray2(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n }\n function isPointInPolygon(point4, polygon) {\n const { x: x2, y: y2 } = point4;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y2 !== yj > y2 && x2 < (xj - xi) * (y2 - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n }\n function isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n }\n function whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n }\n var Root32 = Menu;\n var Anchor2 = MenuAnchor;\n var Portal3 = MenuPortal;\n var Content22 = MenuContent;\n var Group = MenuGroup;\n var Label = MenuLabel;\n var Item22 = MenuItem;\n var CheckboxItem = MenuCheckboxItem;\n var RadioGroup = MenuRadioGroup;\n var RadioItem = MenuRadioItem;\n var ItemIndicator = MenuItemIndicator;\n var Separator = MenuSeparator;\n var Arrow22 = MenuArrow;\n var Sub = MenuSub;\n var SubTrigger = MenuSubTrigger;\n var SubContent = MenuSubContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-dropdown-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\n var dist_exports10 = {};\n __export(dist_exports10, {\n Arrow: () => Arrow23,\n CheckboxItem: () => CheckboxItem2,\n Content: () => Content23,\n DropdownMenu: () => DropdownMenu,\n DropdownMenuArrow: () => DropdownMenuArrow,\n DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,\n DropdownMenuContent: () => DropdownMenuContent,\n DropdownMenuGroup: () => DropdownMenuGroup,\n DropdownMenuItem: () => DropdownMenuItem,\n DropdownMenuItemIndicator: () => DropdownMenuItemIndicator,\n DropdownMenuLabel: () => DropdownMenuLabel,\n DropdownMenuPortal: () => DropdownMenuPortal,\n DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,\n DropdownMenuRadioItem: () => DropdownMenuRadioItem,\n DropdownMenuSeparator: () => DropdownMenuSeparator,\n DropdownMenuSub: () => DropdownMenuSub,\n DropdownMenuSubContent: () => DropdownMenuSubContent,\n DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,\n DropdownMenuTrigger: () => DropdownMenuTrigger,\n Group: () => Group2,\n Item: () => Item23,\n ItemIndicator: () => ItemIndicator2,\n Label: () => Label2,\n Portal: () => Portal22,\n RadioGroup: () => RadioGroup2,\n RadioItem: () => RadioItem2,\n Root: () => Root24,\n Separator: () => Separator2,\n Sub: () => Sub2,\n SubContent: () => SubContent2,\n SubTrigger: () => SubTrigger2,\n Trigger: () => Trigger4,\n createDropdownMenuScope: () => createDropdownMenuScope\n });\n var React46 = __toESM(require_react(), 1);\n var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);\n var DROPDOWN_MENU_NAME = \"DropdownMenu\";\n var [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n );\n var useMenuScope = createMenuScope();\n var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\n var DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React46.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React46.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Root32, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n };\n DropdownMenu.displayName = DROPDOWN_MENU_NAME;\n var TRIGGER_NAME5 = \"DropdownMenuTrigger\";\n var DropdownMenuTrigger = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME5, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Anchor2, { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n );\n DropdownMenuTrigger.displayName = TRIGGER_NAME5;\n var PORTAL_NAME4 = \"DropdownMenuPortal\";\n var DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Portal3, { ...menuScope, ...portalProps });\n };\n DropdownMenuPortal.displayName = PORTAL_NAME4;\n var CONTENT_NAME6 = \"DropdownMenuContent\";\n var DropdownMenuContent = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME6, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React46.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n Content22,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n );\n DropdownMenuContent.displayName = CONTENT_NAME6;\n var GROUP_NAME3 = \"DropdownMenuGroup\";\n var DropdownMenuGroup = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n );\n DropdownMenuGroup.displayName = GROUP_NAME3;\n var LABEL_NAME2 = \"DropdownMenuLabel\";\n var DropdownMenuLabel = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n );\n DropdownMenuLabel.displayName = LABEL_NAME2;\n var ITEM_NAME4 = \"DropdownMenuItem\";\n var DropdownMenuItem = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Item22, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n );\n DropdownMenuItem.displayName = ITEM_NAME4;\n var CHECKBOX_ITEM_NAME2 = \"DropdownMenuCheckboxItem\";\n var DropdownMenuCheckboxItem = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n });\n DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME2;\n var RADIO_GROUP_NAME2 = \"DropdownMenuRadioGroup\";\n var DropdownMenuRadioGroup = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n });\n DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME2;\n var RADIO_ITEM_NAME2 = \"DropdownMenuRadioItem\";\n var DropdownMenuRadioItem = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n });\n DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME2;\n var INDICATOR_NAME2 = \"DropdownMenuItemIndicator\";\n var DropdownMenuItemIndicator = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n });\n DropdownMenuItemIndicator.displayName = INDICATOR_NAME2;\n var SEPARATOR_NAME2 = \"DropdownMenuSeparator\";\n var DropdownMenuSeparator = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n });\n DropdownMenuSeparator.displayName = SEPARATOR_NAME2;\n var ARROW_NAME3 = \"DropdownMenuArrow\";\n var DropdownMenuArrow = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Arrow22, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n );\n DropdownMenuArrow.displayName = ARROW_NAME3;\n var DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n };\n var SUB_TRIGGER_NAME2 = \"DropdownMenuSubTrigger\";\n var DropdownMenuSubTrigger = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n });\n DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME2;\n var SUB_CONTENT_NAME2 = \"DropdownMenuSubContent\";\n var DropdownMenuSubContent = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n });\n DropdownMenuSubContent.displayName = SUB_CONTENT_NAME2;\n var Root24 = DropdownMenu;\n var Trigger4 = DropdownMenuTrigger;\n var Portal22 = DropdownMenuPortal;\n var Content23 = DropdownMenuContent;\n var Group2 = DropdownMenuGroup;\n var Label2 = DropdownMenuLabel;\n var Item23 = DropdownMenuItem;\n var CheckboxItem2 = DropdownMenuCheckboxItem;\n var RadioGroup2 = DropdownMenuRadioGroup;\n var RadioItem2 = DropdownMenuRadioItem;\n var ItemIndicator2 = DropdownMenuItemIndicator;\n var Separator2 = DropdownMenuSeparator;\n var Arrow23 = DropdownMenuArrow;\n var Sub2 = DropdownMenuSub;\n var SubTrigger2 = DropdownMenuSubTrigger;\n var SubContent2 = DropdownMenuSubContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-label@2.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-label/dist/index.mjs\n var dist_exports12 = {};\n __export(dist_exports12, {\n Label: () => Label3,\n Root: () => Root7\n });\n var React47 = __toESM(require_react(), 1);\n var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);\n var NAME3 = \"Label\";\n var Label3 = React47.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n });\n Label3.displayName = NAME3;\n var Root7 = Label3;\n\n // ../../../node_modules/.bun/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs\n function clamp2(value, [min3, max3]) {\n return Math.min(max3, Math.max(min3, value));\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-popover@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-popover/dist/index.mjs\n var dist_exports13 = {};\n __export(dist_exports13, {\n Anchor: () => Anchor22,\n Arrow: () => Arrow24,\n Close: () => Close2,\n Content: () => Content24,\n Popover: () => Popover,\n PopoverAnchor: () => PopoverAnchor,\n PopoverArrow: () => PopoverArrow,\n PopoverClose: () => PopoverClose,\n PopoverContent: () => PopoverContent,\n PopoverPortal: () => PopoverPortal,\n PopoverTrigger: () => PopoverTrigger,\n Portal: () => Portal4,\n Root: () => Root25,\n Trigger: () => Trigger5,\n createPopoverScope: () => createPopoverScope\n });\n var React48 = __toESM(require_react(), 1);\n var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);\n var POPOVER_NAME = \"Popover\";\n var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n ]);\n var usePopperScope2 = createPopperScope();\n var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\n var Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope2(__scopePopover);\n const triggerRef = React48.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React48.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React48.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React48.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React48.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n };\n Popover.displayName = POPOVER_NAME;\n var ANCHOR_NAME3 = \"PopoverAnchor\";\n var PopoverAnchor = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME3, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React48.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n );\n PopoverAnchor.displayName = ANCHOR_NAME3;\n var TRIGGER_NAME6 = \"PopoverTrigger\";\n var PopoverTrigger = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME6, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState5(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n );\n PopoverTrigger.displayName = TRIGGER_NAME6;\n var PORTAL_NAME5 = \"PopoverPortal\";\n var [PortalProvider3, usePortalContext3] = createPopoverContext(PORTAL_NAME5, {\n forceMount: void 0\n });\n var PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME5, __scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PortalProvider3, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n PopoverPortal.displayName = PORTAL_NAME5;\n var CONTENT_NAME7 = \"PopoverContent\";\n var PopoverContent = React48.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext3(CONTENT_NAME7, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n );\n PopoverContent.displayName = CONTENT_NAME7;\n var Slot4 = createSlot(\"PopoverContent.RemoveScroll\");\n var PopoverContentModal = React48.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n const contentRef = React48.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React48.useRef(false);\n React48.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Combination_default, { as: Slot4, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n var PopoverContentNonModal = React48.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n const hasInteractedOutsideRef = React48.useRef(false);\n const hasPointerDownOutsideRef = React48.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n );\n var PopoverContentImpl = React48.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME7, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Content4,\n {\n \"data-state\": getState5(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n );\n var CLOSE_NAME2 = \"PopoverClose\";\n var PopoverClose = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME2, __scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n );\n PopoverClose.displayName = CLOSE_NAME2;\n var ARROW_NAME4 = \"PopoverArrow\";\n var PopoverArrow = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope2(__scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n PopoverArrow.displayName = ARROW_NAME4;\n function getState5(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root25 = Popover;\n var Anchor22 = PopoverAnchor;\n var Trigger5 = PopoverTrigger;\n var Portal4 = PopoverPortal;\n var Content24 = PopoverContent;\n var Close2 = PopoverClose;\n var Arrow24 = PopoverArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-progress@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-progress/dist/index.mjs\n var dist_exports14 = {};\n __export(dist_exports14, {\n Indicator: () => Indicator,\n Progress: () => Progress,\n ProgressIndicator: () => ProgressIndicator,\n Root: () => Root8,\n createProgressScope: () => createProgressScope\n });\n var React49 = __toESM(require_react(), 1);\n var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);\n var PROGRESS_NAME = \"Progress\";\n var DEFAULT_MAX = 100;\n var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\n var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\n var Progress = React49.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max3 = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max3)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max3) ? valueProp : null;\n const valueLabel = isNumber2(value) ? getValueLabel(value, max3) : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ProgressProvider, { scope: __scopeProgress, value, max: max3, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n Primitive.div,\n {\n \"aria-valuemax\": max3,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber2(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max3),\n \"data-value\": value ?? void 0,\n \"data-max\": max3,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n Progress.displayName = PROGRESS_NAME;\n var INDICATOR_NAME3 = \"ProgressIndicator\";\n var ProgressIndicator = React49.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME3, __scopeProgress);\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ProgressIndicator.displayName = INDICATOR_NAME3;\n function defaultGetValueLabel(value, max3) {\n return `${Math.round(value / max3 * 100)}%`;\n }\n function getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n }\n function isNumber2(value) {\n return typeof value === \"number\";\n }\n function isValidMaxNumber(max3) {\n return isNumber2(max3) && !isNaN(max3) && max3 > 0;\n }\n function isValidValueNumber(value, max3) {\n return isNumber2(value) && !isNaN(value) && value <= max3 && value >= 0;\n }\n function getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n }\n function getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n }\n var Root8 = Progress;\n var Indicator = ProgressIndicator;\n\n // ../../../node_modules/.bun/@radix-ui+react-radio-group@1.3.8+119c4f3973a6d299/node_modules/@radix-ui/react-radio-group/dist/index.mjs\n var dist_exports15 = {};\n __export(dist_exports15, {\n Indicator: () => Indicator2,\n Item: () => Item24,\n RadioGroup: () => RadioGroup3,\n RadioGroupIndicator: () => RadioGroupIndicator,\n RadioGroupItem: () => RadioGroupItem,\n Root: () => Root26,\n createRadioGroupScope: () => createRadioGroupScope\n });\n var React210 = __toESM(require_react(), 1);\n var React50 = __toESM(require_react(), 1);\n var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);\n var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);\n var RADIO_NAME = \"Radio\";\n var [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n var [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\n var Radio = React50.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = \"on\",\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button, setButton] = React50.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React50.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": getState6(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...radioProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n RadioBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n );\n Radio.displayName = RADIO_NAME;\n var INDICATOR_NAME4 = \"RadioIndicator\";\n var RadioIndicator = React50.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME4, __scopeRadio);\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.span,\n {\n \"data-state\": getState6(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n RadioIndicator.displayName = INDICATOR_NAME4;\n var BUBBLE_INPUT_NAME2 = \"RadioBubbleInput\";\n var RadioBubbleInput = React50.forwardRef(\n ({\n __scopeRadio,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React50.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React50.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input2, checked);\n input2.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.input,\n {\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n );\n RadioBubbleInput.displayName = BUBBLE_INPUT_NAME2;\n function getState6(checked) {\n return checked ? \"checked\" : \"unchecked\";\n }\n var ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\n var RADIO_GROUP_NAME3 = \"RadioGroup\";\n var [createRadioGroupContext, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME3, [\n createRovingFocusGroupScope,\n createRadioScope\n ]);\n var useRovingFocusGroupScope2 = createRovingFocusGroupScope();\n var useRadioScope = createRadioScope();\n var [RadioGroupProvider2, useRadioGroupContext2] = createRadioGroupContext(RADIO_GROUP_NAME3);\n var RadioGroup3 = React210.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope2(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? null,\n onChange: onValueChange,\n caller: RADIO_GROUP_NAME3\n });\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n RadioGroupProvider2,\n {\n scope: __scopeRadioGroup,\n name,\n required,\n disabled,\n value,\n onValueChange: setValue,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Primitive.div,\n {\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : void 0,\n dir: direction,\n ...groupProps,\n ref: forwardedRef\n }\n )\n }\n )\n }\n );\n }\n );\n RadioGroup3.displayName = RADIO_GROUP_NAME3;\n var ITEM_NAME5 = \"RadioGroupItem\";\n var RadioGroupItem = React210.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext2(ITEM_NAME5, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope2(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React210.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React210.useRef(false);\n React210.useEffect(() => {\n const handleKeyDown = (event) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !isDisabled,\n active: checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Radio,\n {\n disabled: isDisabled,\n required: context.required,\n checked,\n ...radioScope,\n ...itemProps,\n name: context.name,\n ref: composedRefs,\n onCheck: () => context.onValueChange(itemProps.value),\n onKeyDown: composeEventHandlers((event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onFocus: composeEventHandlers(itemProps.onFocus, () => {\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })\n }\n )\n }\n );\n }\n );\n RadioGroupItem.displayName = ITEM_NAME5;\n var INDICATOR_NAME22 = \"RadioGroupIndicator\";\n var RadioGroupIndicator = React210.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n }\n );\n RadioGroupIndicator.displayName = INDICATOR_NAME22;\n var Root26 = RadioGroup3;\n var Item24 = RadioGroupItem;\n var Indicator2 = RadioGroupIndicator;\n\n // ../../../node_modules/.bun/@radix-ui+react-scroll-area@1.2.10+119c4f3973a6d299/node_modules/@radix-ui/react-scroll-area/dist/index.mjs\n var dist_exports16 = {};\n __export(dist_exports16, {\n Corner: () => Corner,\n Root: () => Root9,\n ScrollArea: () => ScrollArea,\n ScrollAreaCorner: () => ScrollAreaCorner,\n ScrollAreaScrollbar: () => ScrollAreaScrollbar,\n ScrollAreaThumb: () => ScrollAreaThumb,\n ScrollAreaViewport: () => ScrollAreaViewport,\n Scrollbar: () => Scrollbar,\n Thumb: () => Thumb,\n Viewport: () => Viewport,\n createScrollAreaScope: () => createScrollAreaScope\n });\n var React211 = __toESM(require_react(), 1);\n var React51 = __toESM(require_react(), 1);\n var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);\n function useStateMachine2(initialState15, machine) {\n return React51.useReducer((state2, event) => {\n const nextState = machine[state2][event];\n return nextState ?? state2;\n }, initialState15);\n }\n var SCROLL_AREA_NAME = \"ScrollArea\";\n var [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\n var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\n var ScrollArea = React211.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React211.useState(null);\n const [viewport, setViewport] = React211.useState(null);\n const [content, setContent] = React211.useState(null);\n const [scrollbarX, setScrollbarX] = React211.useState(null);\n const [scrollbarY, setScrollbarY] = React211.useState(null);\n const [cornerWidth, setCornerWidth] = React211.useState(0);\n const [cornerHeight, setCornerHeight] = React211.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React211.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React211.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n );\n ScrollArea.displayName = SCROLL_AREA_NAME;\n var VIEWPORT_NAME = \"ScrollAreaViewport\";\n var ScrollAreaViewport = React211.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React211.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n );\n ScrollAreaViewport.displayName = VIEWPORT_NAME;\n var SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\n var ScrollAreaScrollbar = React211.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React211.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n );\n ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\n var ScrollAreaScrollbarHover = React211.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React211.useState(false);\n React211.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || visible, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n });\n var ScrollAreaScrollbarScroll = React211.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state2, send] = useStateMachine2(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React211.useEffect(() => {\n if (state2 === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state2, context.scrollHideDelay, send]);\n React211.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll2 = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || state2 !== \"hidden\", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state2 === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n });\n var ScrollAreaScrollbarAuto = React211.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React211.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || visible, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n });\n var ScrollAreaScrollbarVisible = React211.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React211.useRef(null);\n const pointerOffsetRef = React211.useRef(0);\n const [sizes, setSizes] = React211.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset4 = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset4}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset4 = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset4}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n });\n var ScrollAreaScrollbarX = React211.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React211.useState();\n const ref = React211.useRef(null);\n const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React211.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs2,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n });\n var ScrollAreaScrollbarY = React211.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React211.useState();\n const ref = React211.useRef(null);\n const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React211.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs2,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n });\n var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\n var ScrollAreaScrollbarImpl = React211.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React211.useState(null);\n const composeRefs2 = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React211.useRef(null);\n const prevWebkitUserSelectRef = React211.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x2 = event.clientX - rectRef.current.left;\n const y2 = event.clientY - rectRef.current.top;\n onDragScroll({ x: x2, y: y2 });\n }\n }\n React211.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React211.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs2,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n });\n var THUMB_NAME = \"ScrollAreaThumb\";\n var ScrollAreaThumb = React211.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n );\n var ScrollAreaThumbImpl = React211.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React211.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React211.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll2 = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener2 = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener2;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x2 = event.clientX - thumbRect.left;\n const y2 = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x: x2, y: y2 });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n );\n ScrollAreaThumb.displayName = THUMB_NAME;\n var CORNER_NAME = \"ScrollAreaCorner\";\n var ScrollAreaCorner = React211.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n );\n ScrollAreaCorner.displayName = CORNER_NAME;\n var ScrollAreaCornerImpl = React211.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React211.useState(0);\n const [height, setHeight] = React211.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n });\n function toInt(value) {\n return value ? parseInt(value, 10) : 0;\n }\n function getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n }\n function getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n }\n function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset4 = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset4;\n const minPointerPos = sizes.scrollbar.paddingStart + offset4;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate2 = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate2(pointerPos);\n }\n function getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp2(scrollPos, scrollClampRange);\n const interpolate2 = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate2(scrollWithoutMomentum);\n }\n function linearScale(input2, output) {\n return (value) => {\n if (input2[0] === input2[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input2[1] - input2[0]);\n return output[0] + ratio * (value - input2[0]);\n };\n }\n function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n }\n var addUnlinkedScrollListener = (node, handler = () => {\n }) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position2 = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position2.left;\n const isVerticalScroll = prevPosition.top !== position2.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position2;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n };\n function useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React211.useRef(0);\n React211.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React211.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n }\n function useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect2(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n }\n var Root9 = ScrollArea;\n var Viewport = ScrollAreaViewport;\n var Scrollbar = ScrollAreaScrollbar;\n var Thumb = ScrollAreaThumb;\n var Corner = ScrollAreaCorner;\n\n // ../../../node_modules/.bun/@radix-ui+react-select@2.2.6+119c4f3973a6d299/node_modules/@radix-ui/react-select/dist/index.mjs\n var dist_exports17 = {};\n __export(dist_exports17, {\n Arrow: () => Arrow25,\n Content: () => Content25,\n Group: () => Group3,\n Icon: () => Icon,\n Item: () => Item3,\n ItemIndicator: () => ItemIndicator3,\n ItemText: () => ItemText,\n Label: () => Label4,\n Portal: () => Portal5,\n Root: () => Root27,\n ScrollDownButton: () => ScrollDownButton,\n ScrollUpButton: () => ScrollUpButton,\n Select: () => Select,\n SelectArrow: () => SelectArrow,\n SelectContent: () => SelectContent,\n SelectGroup: () => SelectGroup,\n SelectIcon: () => SelectIcon,\n SelectItem: () => SelectItem,\n SelectItemIndicator: () => SelectItemIndicator,\n SelectItemText: () => SelectItemText,\n SelectLabel: () => SelectLabel,\n SelectPortal: () => SelectPortal,\n SelectScrollDownButton: () => SelectScrollDownButton,\n SelectScrollUpButton: () => SelectScrollUpButton,\n SelectSeparator: () => SelectSeparator,\n SelectTrigger: () => SelectTrigger,\n SelectValue: () => SelectValue,\n SelectViewport: () => SelectViewport,\n Separator: () => Separator3,\n Trigger: () => Trigger6,\n Value: () => Value,\n Viewport: () => Viewport2,\n createSelectScope: () => createSelectScope\n });\n var React52 = __toESM(require_react(), 1);\n var ReactDOM4 = __toESM(require_react_dom(), 1);\n var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);\n var OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\n var SELECTION_KEYS2 = [\" \", \"Enter\"];\n var SELECT_NAME = \"Select\";\n var [Collection4, useCollection4, createCollectionScope4] = createCollection(SELECT_NAME);\n var [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope4,\n createPopperScope\n ]);\n var usePopperScope3 = createPopperScope();\n var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\n var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\n var Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const [trigger, setTrigger] = React52.useState(null);\n const [valueNode, setValueNode] = React52.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React52.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React52.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React52.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React52.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React52.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n };\n Select.displayName = SELECT_NAME;\n var TRIGGER_NAME7 = \"SelectTrigger\";\n var SelectTrigger = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME7, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection4(__scopeSelect);\n const pointerTypeRef = React52.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n );\n SelectTrigger.displayName = TRIGGER_NAME7;\n var VALUE_NAME = \"SelectValue\";\n var SelectValue = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect2(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: placeholder }) : children\n }\n );\n }\n );\n SelectValue.displayName = VALUE_NAME;\n var ICON_NAME = \"SelectIcon\";\n var SelectIcon = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n );\n SelectIcon.displayName = ICON_NAME;\n var PORTAL_NAME6 = \"SelectPortal\";\n var SelectPortal = (props) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Portal, { asChild: true, ...props });\n };\n SelectPortal.displayName = PORTAL_NAME6;\n var CONTENT_NAME8 = \"SelectContent\";\n var SelectContent = React52.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME8, props.__scopeSelect);\n const [fragment, setFragment] = React52.useState();\n useLayoutEffect2(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM4.createPortal(\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n );\n SelectContent.displayName = CONTENT_NAME8;\n var CONTENT_MARGIN = 10;\n var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME8);\n var CONTENT_IMPL_NAME = \"SelectContentImpl\";\n var Slot5 = createSlot(\"SelectContent.RemoveScroll\");\n var SelectContentImpl = React52.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position: position2 = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME8, __scopeSelect);\n const [content, setContent] = React52.useState(null);\n const [viewport, setViewport] = React52.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React52.useState(null);\n const [selectedItemText, setSelectedItemText] = React52.useState(\n null\n );\n const getItems = useCollection4(__scopeSelect);\n const [isPositioned, setIsPositioned] = React52.useState(false);\n const firstValidItemFoundRef = React52.useRef(false);\n React52.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst4 = React52.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React52.useCallback(\n () => focusFirst4([selectedItem, content]),\n [focusFirst4, selectedItem, content]\n );\n React52.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React52.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React52.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React52.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React52.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React52.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position2 === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position: position2,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Combination_default, { as: Slot5, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst4(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n );\n SelectContentImpl.displayName = CONTENT_IMPL_NAME;\n var ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\n var SelectItemAlignedPosition = React52.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME8, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME8, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React52.useState(null);\n const [content, setContent] = React52.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection4(__scopeSelect);\n const shouldExpandOnScrollRef = React52.useRef(false);\n const shouldRepositionRef = React52.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position2 = React52.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp2(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp2(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect2(() => position2(), [position2]);\n const [contentZIndex, setContentZIndex] = React52.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React52.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position2();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position2, focusSelectedItem]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n });\n SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\n var POPPER_POSITION_NAME = \"SelectPopperPosition\";\n var SelectPopperPosition = React52.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Content4,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n });\n SelectPopperPosition.displayName = POPPER_POSITION_NAME;\n var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME8, {});\n var VIEWPORT_NAME2 = \"SelectViewport\";\n var SelectViewport = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME2, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME2, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React52.useRef(0);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n );\n SelectViewport.displayName = VIEWPORT_NAME2;\n var GROUP_NAME4 = \"SelectGroup\";\n var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME4);\n var SelectGroup = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n );\n SelectGroup.displayName = GROUP_NAME4;\n var LABEL_NAME3 = \"SelectLabel\";\n var SelectLabel = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME3, __scopeSelect);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n );\n SelectLabel.displayName = LABEL_NAME3;\n var ITEM_NAME6 = \"SelectItem\";\n var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME6);\n var SelectItem = React52.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME6, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME6, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React52.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React52.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React52.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React52.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Collection4.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS2.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n );\n SelectItem.displayName = ITEM_NAME6;\n var ITEM_TEXT_NAME = \"SelectItemText\";\n var SelectItemText = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React52.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React52.useMemo(\n () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect2(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM4.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n );\n SelectItemText.displayName = ITEM_TEXT_NAME;\n var ITEM_INDICATOR_NAME2 = \"SelectItemIndicator\";\n var SelectItemIndicator = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME2, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n );\n SelectItemIndicator.displayName = ITEM_INDICATOR_NAME2;\n var SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\n var SelectScrollUpButton = React52.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React52.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll22 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll2 = handleScroll22;\n const viewport = contentContext.viewport;\n handleScroll22();\n viewport.addEventListener(\"scroll\", handleScroll22);\n return () => viewport.removeEventListener(\"scroll\", handleScroll22);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n });\n SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\n var SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\n var SelectScrollDownButton = React52.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React52.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll22 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll2 = handleScroll22;\n const viewport = contentContext.viewport;\n handleScroll22();\n viewport.addEventListener(\"scroll\", handleScroll22);\n return () => viewport.removeEventListener(\"scroll\", handleScroll22);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n });\n SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\n var SelectScrollButtonImpl = React52.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React52.useRef(null);\n const getItems = useCollection4(__scopeSelect);\n const clearAutoScrollTimer = React52.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React52.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect2(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n });\n var SEPARATOR_NAME3 = \"SelectSeparator\";\n var SelectSeparator = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n );\n SelectSeparator.displayName = SEPARATOR_NAME3;\n var ARROW_NAME5 = \"SelectArrow\";\n var SelectArrow = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const context = useSelectContext(ARROW_NAME5, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME5, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n );\n SelectArrow.displayName = ARROW_NAME5;\n var BUBBLE_INPUT_NAME3 = \"SelectBubbleInput\";\n var SelectBubbleInput = React52.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React52.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React52.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n );\n SelectBubbleInput.displayName = BUBBLE_INPUT_NAME3;\n function shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n }\n function useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React52.useRef(\"\");\n const timerRef = React52.useRef(0);\n const handleTypeaheadSearch = React52.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React52.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React52.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n }\n function findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray3(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n }\n function wrapArray3(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n var Root27 = Select;\n var Trigger6 = SelectTrigger;\n var Value = SelectValue;\n var Icon = SelectIcon;\n var Portal5 = SelectPortal;\n var Content25 = SelectContent;\n var Viewport2 = SelectViewport;\n var Group3 = SelectGroup;\n var Label4 = SelectLabel;\n var Item3 = SelectItem;\n var ItemText = SelectItemText;\n var ItemIndicator3 = SelectItemIndicator;\n var ScrollUpButton = SelectScrollUpButton;\n var ScrollDownButton = SelectScrollDownButton;\n var Separator3 = SelectSeparator;\n var Arrow25 = SelectArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-separator@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-separator/dist/index.mjs\n var dist_exports18 = {};\n __export(dist_exports18, {\n Root: () => Root10,\n Separator: () => Separator4\n });\n var React53 = __toESM(require_react(), 1);\n var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);\n var NAME4 = \"Separator\";\n var DEFAULT_ORIENTATION = \"horizontal\";\n var ORIENTATIONS = [\"horizontal\", \"vertical\"];\n var Separator4 = React53.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n });\n Separator4.displayName = NAME4;\n function isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n }\n var Root10 = Separator4;\n\n // ../../../node_modules/.bun/@radix-ui+react-slider@1.3.6+119c4f3973a6d299/node_modules/@radix-ui/react-slider/dist/index.mjs\n var dist_exports19 = {};\n __export(dist_exports19, {\n Range: () => Range,\n Root: () => Root11,\n Slider: () => Slider,\n SliderRange: () => SliderRange,\n SliderThumb: () => SliderThumb,\n SliderTrack: () => SliderTrack,\n Thumb: () => Thumb2,\n Track: () => Track,\n createSliderScope: () => createSliderScope\n });\n var React54 = __toESM(require_react(), 1);\n var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);\n var PAGE_KEYS = [\"PageUp\", \"PageDown\"];\n var ARROW_KEYS2 = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\n var BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n };\n var SLIDER_NAME = \"Slider\";\n var [Collection5, useCollection5, createCollectionScope5] = createCollection(SLIDER_NAME);\n var [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope5\n ]);\n var [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\n var Slider = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min: min3 = 0,\n max: max3 = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min3],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React54.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React54.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React54.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min3) / step) * step + min3, decimalCount);\n const nextValue = clamp2(snapToStep, [min3, max3]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min: min3,\n max: max3,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min: min3,\n max: max3,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min3, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max3, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS2.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n );\n Slider.displayName = SLIDER_NAME;\n var [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n });\n var SliderHorizontal = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n min: min3,\n max: max3,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React54.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input2 = [0, rect.width];\n const output = isSlidingFromLeft ? [min3, max3] : [max3, min3];\n const value = linearScale2(input2, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n );\n var SliderVertical = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n min: min3,\n max: max3,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React54.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React54.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input2 = [0, rect.height];\n const output = isSlidingFromBottom ? [max3, min3] : [min3, max3];\n const value = linearScale2(input2, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n );\n var SliderImpl = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS2).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n );\n var TRACK_NAME = \"SliderTrack\";\n var SliderTrack = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n );\n SliderTrack.displayName = TRACK_NAME;\n var RANGE_NAME = \"SliderRange\";\n var SliderRange = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React54.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n );\n SliderRange.displayName = RANGE_NAME;\n var THUMB_NAME2 = \"SliderThumb\";\n var SliderThumb = React54.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection5(props.__scopeSlider);\n const [thumb, setThumb] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index2 = React54.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SliderThumbImpl, { ...props, ref: composedRefs, index: index2 });\n }\n );\n var SliderThumbImpl = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index: index2, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME2, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME2, __scopeSlider);\n const [thumb, setThumb] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size4 = useSize(thumb);\n const value = context.values[index2];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index2, context.values.length);\n const orientationSize = size4?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React54.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index2;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index2\n )\n ]\n }\n );\n }\n );\n SliderThumb.displayName = THUMB_NAME2;\n var BUBBLE_INPUT_NAME4 = \"RadioBubbleInput\";\n var SliderBubbleInput = React54.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React54.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React54.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input2, value);\n input2.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n );\n SliderBubbleInput.displayName = BUBBLE_INPUT_NAME4;\n function getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a2, b) => a2 - b);\n }\n function convertValueToPercentage(value, min3, max3) {\n const maxSteps = max3 - min3;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min3);\n return clamp2(percentage, [0, 100]);\n }\n function getLabel(index2, totalValues) {\n if (totalValues > 2) {\n return `Value ${index2 + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index2];\n } else {\n return void 0;\n }\n }\n function getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n }\n function getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset4 = linearScale2([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset4(left) * direction) * direction;\n }\n function getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index2) => values[index2 + 1] - value);\n }\n function hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n }\n function linearScale2(input2, output) {\n return (value) => {\n if (input2[0] === input2[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input2[1] - input2[0]);\n return output[0] + ratio * (value - input2[0]);\n };\n }\n function getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n }\n function roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n }\n var Root11 = Slider;\n var Track = SliderTrack;\n var Range = SliderRange;\n var Thumb2 = SliderThumb;\n\n // ../../../node_modules/.bun/@radix-ui+react-switch@1.2.6+119c4f3973a6d299/node_modules/@radix-ui/react-switch/dist/index.mjs\n var dist_exports20 = {};\n __export(dist_exports20, {\n Root: () => Root12,\n Switch: () => Switch,\n SwitchThumb: () => SwitchThumb,\n Thumb: () => Thumb3,\n createSwitchScope: () => createSwitchScope\n });\n var React55 = __toESM(require_react(), 1);\n var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);\n var SWITCH_NAME = \"Switch\";\n var [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\n var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\n var Switch = React55.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React55.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React55.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState7(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n );\n Switch.displayName = SWITCH_NAME;\n var THUMB_NAME3 = \"SwitchThumb\";\n var SwitchThumb = React55.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME3, __scopeSwitch);\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n Primitive.span,\n {\n \"data-state\": getState7(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n );\n SwitchThumb.displayName = THUMB_NAME3;\n var BUBBLE_INPUT_NAME5 = \"SwitchBubbleInput\";\n var SwitchBubbleInput = React55.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React55.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React55.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input2, checked);\n input2.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n );\n SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME5;\n function getState7(checked) {\n return checked ? \"checked\" : \"unchecked\";\n }\n var Root12 = Switch;\n var Thumb3 = SwitchThumb;\n\n // ../../../node_modules/.bun/@radix-ui+react-tabs@1.1.13+119c4f3973a6d299/node_modules/@radix-ui/react-tabs/dist/index.mjs\n var dist_exports21 = {};\n __export(dist_exports21, {\n Content: () => Content5,\n List: () => List,\n Root: () => Root28,\n Tabs: () => Tabs,\n TabsContent: () => TabsContent,\n TabsList: () => TabsList,\n TabsTrigger: () => TabsTrigger,\n Trigger: () => Trigger7,\n createTabsScope: () => createTabsScope\n });\n var React56 = __toESM(require_react(), 1);\n var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);\n var TABS_NAME = \"Tabs\";\n var [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n ]);\n var useRovingFocusGroupScope3 = createRovingFocusGroupScope();\n var [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\n var Tabs = React56.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n Tabs.displayName = TABS_NAME;\n var TAB_LIST_NAME = \"TabsList\";\n var TabsList = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope3(__scopeTabs);\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n TabsList.displayName = TAB_LIST_NAME;\n var TRIGGER_NAME8 = \"TabsTrigger\";\n var TabsTrigger = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME8, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope3(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n );\n TabsTrigger.displayName = TRIGGER_NAME8;\n var CONTENT_NAME9 = \"TabsContent\";\n var TabsContent = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME9, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React56.useRef(isSelected);\n React56.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n );\n TabsContent.displayName = CONTENT_NAME9;\n function makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n }\n function makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n }\n var Root28 = Tabs;\n var List = TabsList;\n var Trigger7 = TabsTrigger;\n var Content5 = TabsContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-toggle@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-toggle/dist/index.mjs\n var dist_exports22 = {};\n __export(dist_exports22, {\n Root: () => Root13,\n Toggle: () => Toggle\n });\n var React57 = __toESM(require_react(), 1);\n var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);\n var NAME5 = \"Toggle\";\n var Toggle = React57.forwardRef((props, forwardedRef) => {\n const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n const [pressed, setPressed] = useControllableState({\n prop: pressedProp,\n onChange: onPressedChange,\n defaultProp: defaultPressed ?? false,\n caller: NAME5\n });\n return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-pressed\": pressed,\n \"data-state\": pressed ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...buttonProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => {\n if (!props.disabled) {\n setPressed(!pressed);\n }\n })\n }\n );\n });\n Toggle.displayName = NAME5;\n var Root13 = Toggle;\n\n // ../../../node_modules/.bun/@radix-ui+react-toggle-group@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-toggle-group/dist/index.mjs\n var dist_exports23 = {};\n __export(dist_exports23, {\n Item: () => Item25,\n Root: () => Root29,\n ToggleGroup: () => ToggleGroup,\n ToggleGroupItem: () => ToggleGroupItem,\n createToggleGroupScope: () => createToggleGroupScope\n });\n var import_react7 = __toESM(require_react(), 1);\n var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);\n var TOGGLE_GROUP_NAME = \"ToggleGroup\";\n var [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n createRovingFocusGroupScope\n ]);\n var useRovingFocusGroupScope4 = createRovingFocusGroupScope();\n var ToggleGroup = import_react7.default.forwardRef((props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n });\n ToggleGroup.displayName = TOGGLE_GROUP_NAME;\n var [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\n var ToggleGroupImplSingle = import_react7.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: import_react7.default.useMemo(() => value ? [value] : [], [value]),\n onItemActivate: setValue,\n onItemDeactivate: import_react7.default.useCallback(() => setValue(\"\"), [setValue]),\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n }\n );\n });\n var ToggleGroupImplMultiple = import_react7.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n const handleButtonActivate = import_react7.default.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = import_react7.default.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n }\n );\n });\n ToggleGroup.displayName = TOGGLE_GROUP_NAME;\n var [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\n var ToggleGroupImpl = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir,\n loop = true,\n ...toggleGroupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope4(__scopeToggleGroup);\n const direction = useDirection(dir);\n const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Primitive.div, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n }\n );\n var ITEM_NAME7 = \"ToggleGroupItem\";\n var ToggleGroupItem = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME7, props.__scopeToggleGroup);\n const context = useToggleGroupContext(ITEM_NAME7, props.__scopeToggleGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope4(props.__scopeToggleGroup);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n const commonProps = { ...props, pressed, disabled };\n const ref = import_react7.default.useRef(null);\n return context.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: pressed,\n ref,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n }\n );\n ToggleGroupItem.displayName = ITEM_NAME7;\n var ToggleGroupItemImpl = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME7, __scopeToggleGroup);\n const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onPressedChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n }\n );\n var Root29 = ToggleGroup;\n var Item25 = ToggleGroupItem;\n\n // ../../../node_modules/.bun/@radix-ui+react-tooltip@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-tooltip/dist/index.mjs\n var dist_exports24 = {};\n __export(dist_exports24, {\n Arrow: () => Arrow26,\n Content: () => Content26,\n Portal: () => Portal6,\n Provider: () => Provider,\n Root: () => Root33,\n Tooltip: () => Tooltip,\n TooltipArrow: () => TooltipArrow,\n TooltipContent: () => TooltipContent,\n TooltipPortal: () => TooltipPortal,\n TooltipProvider: () => TooltipProvider,\n TooltipTrigger: () => TooltipTrigger,\n Trigger: () => Trigger8,\n createTooltipScope: () => createTooltipScope\n });\n var React59 = __toESM(require_react(), 1);\n var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);\n var [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n ]);\n var usePopperScope4 = createPopperScope();\n var PROVIDER_NAME = \"TooltipProvider\";\n var DEFAULT_DELAY_DURATION = 700;\n var TOOLTIP_OPEN = \"tooltip.open\";\n var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\n var TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React59.useRef(true);\n const isPointerInTransitRef = React59.useRef(false);\n const skipDelayTimerRef = React59.useRef(0);\n React59.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React59.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React59.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React59.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n };\n TooltipProvider.displayName = PROVIDER_NAME;\n var TOOLTIP_NAME = \"Tooltip\";\n var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\n var Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const [trigger, setTrigger] = React59.useState(null);\n const contentId = useId();\n const openTimerRef = React59.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React59.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React59.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React59.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React59.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React59.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n };\n Tooltip.displayName = TOOLTIP_NAME;\n var TRIGGER_NAME9 = \"TooltipTrigger\";\n var TooltipTrigger = React59.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME9, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME9, __scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const ref = React59.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React59.useRef(false);\n const hasPointerMoveOpenedRef = React59.useRef(false);\n const handlePointerUp = React59.useCallback(() => isPointerDownRef.current = false, []);\n React59.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n );\n TooltipTrigger.displayName = TRIGGER_NAME9;\n var PORTAL_NAME7 = \"TooltipPortal\";\n var [PortalProvider4, usePortalContext4] = createTooltipContext(PORTAL_NAME7, {\n forceMount: void 0\n });\n var TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME7, __scopeTooltip);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PortalProvider4, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n TooltipPortal.displayName = PORTAL_NAME7;\n var CONTENT_NAME10 = \"TooltipContent\";\n var TooltipContent = React59.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext4(CONTENT_NAME10, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME10, props.__scopeTooltip);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n );\n var TooltipContentHoverable = React59.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME10, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME10, props.__scopeTooltip);\n const ref = React59.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React59.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React59.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React59.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React59.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React59.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React59.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon2(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentImpl, { ...props, ref: composedRefs });\n });\n var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\n var Slottable2 = createSlottable(\"TooltipContent\");\n var TooltipContentImpl = React59.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME10, __scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const { onClose } = context;\n React59.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React59.useEffect(() => {\n if (context.trigger) {\n const handleScroll2 = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll2, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll2, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(\n Content4,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Slottable2, { children }),\n /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n );\n TooltipContent.displayName = CONTENT_NAME10;\n var ARROW_NAME6 = \"TooltipArrow\";\n var TooltipArrow = React59.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope4(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME6,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n TooltipArrow.displayName = ARROW_NAME6;\n function getExitSideFromRect(point4, rect) {\n const top = Math.abs(rect.top - point4.y);\n const bottom = Math.abs(rect.bottom - point4.y);\n const right = Math.abs(rect.right - point4.x);\n const left = Math.abs(rect.left - point4.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n }\n function getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n }\n function getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n }\n function isPointInPolygon2(point4, polygon) {\n const { x: x2, y: y2 } = point4;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y2 !== yj > y2 && x2 < (xj - xi) * (y2 - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n }\n function getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a2, b) => {\n if (a2.x < b.x) return -1;\n else if (a2.x > b.x) return 1;\n else if (a2.y < b.y) return -1;\n else if (a2.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n }\n function getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r2 = upperHull[upperHull.length - 2];\n if ((q.x - r2.x) * (p.y - r2.y) >= (q.y - r2.y) * (p.x - r2.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r2 = lowerHull[lowerHull.length - 2];\n if ((q.x - r2.x) * (p.y - r2.y) >= (q.y - r2.y) * (p.x - r2.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n }\n var Provider = TooltipProvider;\n var Root33 = Tooltip;\n var Trigger8 = TooltipTrigger;\n var Portal6 = TooltipPortal;\n var Content26 = TooltipContent;\n var Arrow26 = TooltipArrow;\n\n // ../../react/src/components/separator.tsx\n var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);\n function Separator5({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(\n dist_exports18.Root,\n {\n \"data-slot\": \"separator\",\n decorative,\n orientation,\n className: cn(\n \"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs\n var falsyToString = (value) => typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\n var cx = clsx;\n var cva = (base, config) => (props) => {\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant) => {\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {\n let [key, value] = param;\n if (value === void 0) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param2) => {\n let [key, value] = param2;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : {\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n // ../../react/src/components/tabs.tsx\n var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);\n function Tabs2({\n className,\n orientation = \"horizontal\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Root,\n {\n \"data-slot\": \"tabs\",\n \"data-orientation\": orientation,\n orientation,\n className: cn(\"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col\", className),\n ...props\n }\n );\n }\n var tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function TabsList2({\n className,\n variant = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.List,\n {\n \"data-slot\": \"tabs-list\",\n \"data-variant\": variant,\n className: cn(tabsListVariants({ variant }), className),\n ...props\n }\n );\n }\n function TabsTrigger2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Trigger,\n {\n \"data-slot\": \"tabs-trigger\",\n className: cn(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent\",\n \"data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100\",\n className\n ),\n ...props\n }\n );\n }\n function TabsContent2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Content,\n {\n \"data-slot\": \"tabs-content\",\n className: cn(\"flex-1 outline-none\", className),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/createLucideIcon.js\n var import_react10 = __toESM(require_react());\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js\n var mergeClasses = (...classes) => classes.filter((className, index2, array2) => {\n return Boolean(className) && className.trim() !== \"\" && array2.indexOf(className) === index2;\n }).join(\" \").trim();\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js\n var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js\n var toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match2, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n );\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js\n var toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/Icon.js\n var import_react9 = __toESM(require_react());\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/defaultAttributes.js\n var defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js\n var hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n return false;\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/context.js\n var import_react8 = __toESM(require_react());\n var LucideContext = (0, import_react8.createContext)({});\n var useLucideContext = () => (0, import_react8.useContext)(LucideContext);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/Icon.js\n var Icon2 = (0, import_react9.forwardRef)(\n ({ color: color2, size: size4, strokeWidth, absoluteStrokeWidth, className = \"\", children, iconNode, ...rest }, ref) => {\n const {\n size: contextSize = 24,\n strokeWidth: contextStrokeWidth = 2,\n absoluteStrokeWidth: contextAbsoluteStrokeWidth = false,\n color: contextColor = \"currentColor\",\n className: contextClass = \"\"\n } = useLucideContext() ?? {};\n const calculatedStrokeWidth = absoluteStrokeWidth ?? contextAbsoluteStrokeWidth ? Number(strokeWidth ?? contextStrokeWidth) * 24 / Number(size4 ?? contextSize) : strokeWidth ?? contextStrokeWidth;\n return (0, import_react9.createElement)(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size4 ?? contextSize ?? defaultAttributes.width,\n height: size4 ?? contextSize ?? defaultAttributes.height,\n stroke: color2 ?? contextColor,\n strokeWidth: calculatedStrokeWidth,\n className: mergeClasses(\"lucide\", contextClass, className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => (0, import_react9.createElement)(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n );\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/createLucideIcon.js\n var createLucideIcon = (iconName, iconNode) => {\n const Component2 = (0, import_react10.forwardRef)(\n ({ className, ...props }, ref) => (0, import_react10.createElement)(Icon2, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component2.displayName = toPascalCase(iconName);\n return Component2;\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/activity.js\n var __iconNode = [\n [\n \"path\",\n {\n d: \"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\",\n key: \"169zse\"\n }\n ]\n ];\n var Activity = createLucideIcon(\"activity\", __iconNode);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-down-wide-narrow.js\n var __iconNode2 = [\n [\"path\", { d: \"m3 16 4 4 4-4\", key: \"1co6wj\" }],\n [\"path\", { d: \"M7 20V4\", key: \"1yoxec\" }],\n [\"path\", { d: \"M11 4h10\", key: \"1w87gc\" }],\n [\"path\", { d: \"M11 8h7\", key: \"djye34\" }],\n [\"path\", { d: \"M11 12h4\", key: \"q8tih4\" }]\n ];\n var ArrowDownWideNarrow = createLucideIcon(\"arrow-down-wide-narrow\", __iconNode2);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-down.js\n var __iconNode3 = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n ];\n var ArrowDown = createLucideIcon(\"arrow-down\", __iconNode3);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-left.js\n var __iconNode4 = [\n [\"path\", { d: \"m12 19-7-7 7-7\", key: \"1l729n\" }],\n [\"path\", { d: \"M19 12H5\", key: \"x3x0zl\" }]\n ];\n var ArrowLeft = createLucideIcon(\"arrow-left\", __iconNode4);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-right.js\n var __iconNode5 = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"m12 5 7 7-7 7\", key: \"xquz4c\" }]\n ];\n var ArrowRight = createLucideIcon(\"arrow-right\", __iconNode5);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up-narrow-wide.js\n var __iconNode6 = [\n [\"path\", { d: \"m3 8 4-4 4 4\", key: \"11wl7u\" }],\n [\"path\", { d: \"M7 4v16\", key: \"1glfcx\" }],\n [\"path\", { d: \"M11 12h4\", key: \"q8tih4\" }],\n [\"path\", { d: \"M11 16h7\", key: \"uosisv\" }],\n [\"path\", { d: \"M11 20h10\", key: \"jvxblo\" }]\n ];\n var ArrowUpNarrowWide = createLucideIcon(\"arrow-up-narrow-wide\", __iconNode6);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\n var __iconNode7 = [\n [\"path\", { d: \"M7 7h10v10\", key: \"1tivn9\" }],\n [\"path\", { d: \"M7 17 17 7\", key: \"1vkiza\" }]\n ];\n var ArrowUpRight = createLucideIcon(\"arrow-up-right\", __iconNode7);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up.js\n var __iconNode8 = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n ];\n var ArrowUp = createLucideIcon(\"arrow-up\", __iconNode8);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/at-sign.js\n var __iconNode9 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\", key: \"7n84p3\" }]\n ];\n var AtSign = createLucideIcon(\"at-sign\", __iconNode9);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/battery.js\n var __iconNode10 = [\n [\"path\", { d: \"M 22 14 L 22 10\", key: \"nqc4tb\" }],\n [\"rect\", { x: \"2\", y: \"6\", width: \"16\", height: \"12\", rx: \"2\", key: \"13zb55\" }]\n ];\n var Battery = createLucideIcon(\"battery\", __iconNode10);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/bookmark.js\n var __iconNode11 = [\n [\n \"path\",\n {\n d: \"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z\",\n key: \"oz39mx\"\n }\n ]\n ];\n var Bookmark = createLucideIcon(\"bookmark\", __iconNode11);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/box.js\n var __iconNode12 = [\n [\n \"path\",\n {\n d: \"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\",\n key: \"hh9hay\"\n }\n ],\n [\"path\", { d: \"m3.3 7 8.7 5 8.7-5\", key: \"g66t2b\" }],\n [\"path\", { d: \"M12 22V12\", key: \"d0xqtd\" }]\n ];\n var Box = createLucideIcon(\"box\", __iconNode12);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/calendar.js\n var __iconNode13 = [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n ];\n var Calendar = createLucideIcon(\"calendar\", __iconNode13);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chart-column.js\n var __iconNode14 = [\n [\"path\", { d: \"M3 3v16a2 2 0 0 0 2 2h16\", key: \"c24i48\" }],\n [\"path\", { d: \"M18 17V9\", key: \"2bz60n\" }],\n [\"path\", { d: \"M13 17V5\", key: \"1frdt8\" }],\n [\"path\", { d: \"M8 17v-3\", key: \"17ska0\" }]\n ];\n var ChartColumn = createLucideIcon(\"chart-column\", __iconNode14);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chart-pie.js\n var __iconNode15 = [\n [\n \"path\",\n {\n d: \"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z\",\n key: \"pzmjnu\"\n }\n ],\n [\"path\", { d: \"M21.21 15.89A10 10 0 1 1 8 2.83\", key: \"k2fpak\" }]\n ];\n var ChartPie = createLucideIcon(\"chart-pie\", __iconNode15);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/check.js\n var __iconNode16 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\n var Check = createLucideIcon(\"check\", __iconNode16);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-down.js\n var __iconNode17 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\n var ChevronDown = createLucideIcon(\"chevron-down\", __iconNode17);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-left.js\n var __iconNode18 = [[\"path\", { d: \"m15 18-6-6 6-6\", key: \"1wnfg3\" }]];\n var ChevronLeft = createLucideIcon(\"chevron-left\", __iconNode18);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-right.js\n var __iconNode19 = [[\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]];\n var ChevronRight = createLucideIcon(\"chevron-right\", __iconNode19);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-up.js\n var __iconNode20 = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\n var ChevronUp = createLucideIcon(\"chevron-up\", __iconNode20);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js\n var __iconNode21 = [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n ];\n var ChevronsUpDown = createLucideIcon(\"chevrons-up-down\", __iconNode21);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/circle-alert.js\n var __iconNode22 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n ];\n var CircleAlert = createLucideIcon(\"circle-alert\", __iconNode22);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/circle.js\n var __iconNode23 = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\n var Circle = createLucideIcon(\"circle\", __iconNode23);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/clock.js\n var __iconNode24 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n ];\n var Clock = createLucideIcon(\"clock\", __iconNode24);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/cloud-rain.js\n var __iconNode25 = [\n [\"path\", { d: \"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\", key: \"1pljnt\" }],\n [\"path\", { d: \"M16 14v6\", key: \"1j4efv\" }],\n [\"path\", { d: \"M8 14v6\", key: \"17c4r9\" }],\n [\"path\", { d: \"M12 16v6\", key: \"c8a4gj\" }]\n ];\n var CloudRain = createLucideIcon(\"cloud-rain\", __iconNode25);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/code.js\n var __iconNode26 = [\n [\"path\", { d: \"m16 18 6-6-6-6\", key: \"eg8j8\" }],\n [\"path\", { d: \"m8 6-6 6 6 6\", key: \"ppft3o\" }]\n ];\n var Code = createLucideIcon(\"code\", __iconNode26);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/copy.js\n var __iconNode27 = [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n ];\n var Copy = createLucideIcon(\"copy\", __iconNode27);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/cpu.js\n var __iconNode28 = [\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M17 20v2\", key: \"1rnc9c\" }],\n [\"path\", { d: \"M17 2v2\", key: \"11trls\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M2 17h2\", key: \"7oei6x\" }],\n [\"path\", { d: \"M2 7h2\", key: \"asdhe0\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"M20 17h2\", key: \"1fpfkl\" }],\n [\"path\", { d: \"M20 7h2\", key: \"1o8tra\" }],\n [\"path\", { d: \"M7 20v2\", key: \"4gnj0m\" }],\n [\"path\", { d: \"M7 2v2\", key: \"1i4yhu\" }],\n [\"rect\", { x: \"4\", y: \"4\", width: \"16\", height: \"16\", rx: \"2\", key: \"1vbyd7\" }],\n [\"rect\", { x: \"8\", y: \"8\", width: \"8\", height: \"8\", rx: \"1\", key: \"z9xiuo\" }]\n ];\n var Cpu = createLucideIcon(\"cpu\", __iconNode28);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/database.js\n var __iconNode29 = [\n [\"ellipse\", { cx: \"12\", cy: \"5\", rx: \"9\", ry: \"3\", key: \"msslwz\" }],\n [\"path\", { d: \"M3 5V19A9 3 0 0 0 21 19V5\", key: \"1wlel7\" }],\n [\"path\", { d: \"M3 12A9 3 0 0 0 21 12\", key: \"mv7ke4\" }]\n ];\n var Database = createLucideIcon(\"database\", __iconNode29);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/download.js\n var __iconNode30 = [\n [\"path\", { d: \"M12 15V3\", key: \"m9g1x1\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"path\", { d: \"m7 10 5 5 5-5\", key: \"brsn70\" }]\n ];\n var Download = createLucideIcon(\"download\", __iconNode30);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js\n var __iconNode31 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n ];\n var EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode31);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/ellipsis.js\n var __iconNode32 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"19\", cy: \"12\", r: \"1\", key: \"1wjl8i\" }],\n [\"circle\", { cx: \"5\", cy: \"12\", r: \"1\", key: \"1pcz8c\" }]\n ];\n var Ellipsis = createLucideIcon(\"ellipsis\", __iconNode32);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/external-link.js\n var __iconNode33 = [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n ];\n var ExternalLink = createLucideIcon(\"external-link\", __iconNode33);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/eye-off.js\n var __iconNode34 = [\n [\n \"path\",\n {\n d: \"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\",\n key: \"ct8e1f\"\n }\n ],\n [\"path\", { d: \"M14.084 14.158a3 3 0 0 1-4.242-4.242\", key: \"151rxh\" }],\n [\n \"path\",\n {\n d: \"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\",\n key: \"13bj9a\"\n }\n ],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n ];\n var EyeOff = createLucideIcon(\"eye-off\", __iconNode34);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/eye.js\n var __iconNode35 = [\n [\n \"path\",\n {\n d: \"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",\n key: \"1nclc0\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n ];\n var Eye = createLucideIcon(\"eye\", __iconNode35);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/file-text.js\n var __iconNode36 = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n ];\n var FileText = createLucideIcon(\"file-text\", __iconNode36);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/file.js\n var __iconNode37 = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }]\n ];\n var File3 = createLucideIcon(\"file\", __iconNode37);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/folder-open.js\n var __iconNode38 = [\n [\n \"path\",\n {\n d: \"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\n key: \"usdka0\"\n }\n ]\n ];\n var FolderOpen = createLucideIcon(\"folder-open\", __iconNode38);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/folder.js\n var __iconNode39 = [\n [\n \"path\",\n {\n d: \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\n key: \"1kt360\"\n }\n ]\n ];\n var Folder = createLucideIcon(\"folder\", __iconNode39);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/funnel.js\n var __iconNode40 = [\n [\n \"path\",\n {\n d: \"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\",\n key: \"sc7q7i\"\n }\n ]\n ];\n var Funnel = createLucideIcon(\"funnel\", __iconNode40);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.js\n var __iconNode41 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }],\n [\"line\", { x1: \"3\", x2: \"9\", y1: \"12\", y2: \"12\", key: \"1dyftd\" }],\n [\"line\", { x1: \"15\", x2: \"21\", y1: \"12\", y2: \"12\", key: \"oup4p8\" }]\n ];\n var GitCommitHorizontal = createLucideIcon(\"git-commit-horizontal\", __iconNode41);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-branch.js\n var __iconNode42 = [\n [\"path\", { d: \"M15 6a9 9 0 0 0-9 9V3\", key: \"1cii5b\" }],\n [\"circle\", { cx: \"18\", cy: \"6\", r: \"3\", key: \"1h7g24\" }],\n [\"circle\", { cx: \"6\", cy: \"18\", r: \"3\", key: \"fqmcym\" }]\n ];\n var GitBranch = createLucideIcon(\"git-branch\", __iconNode42);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-pull-request.js\n var __iconNode43 = [\n [\"circle\", { cx: \"18\", cy: \"18\", r: \"3\", key: \"1xkwt0\" }],\n [\"circle\", { cx: \"6\", cy: \"6\", r: \"3\", key: \"1lh9wr\" }],\n [\"path\", { d: \"M13 6h3a2 2 0 0 1 2 2v7\", key: \"1yeb86\" }],\n [\"line\", { x1: \"6\", x2: \"6\", y1: \"9\", y2: \"21\", key: \"rroup\" }]\n ];\n var GitPullRequest = createLucideIcon(\"git-pull-request\", __iconNode43);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/globe.js\n var __iconNode44 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\", key: \"13o1zl\" }],\n [\"path\", { d: \"M2 12h20\", key: \"9i4pu4\" }]\n ];\n var Globe = createLucideIcon(\"globe\", __iconNode44);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/grip.js\n var __iconNode45 = [\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"19\", cy: \"5\", r: \"1\", key: \"w8mnmm\" }],\n [\"circle\", { cx: \"5\", cy: \"5\", r: \"1\", key: \"lttvr7\" }],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"19\", cy: \"12\", r: \"1\", key: \"1wjl8i\" }],\n [\"circle\", { cx: \"5\", cy: \"12\", r: \"1\", key: \"1pcz8c\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }],\n [\"circle\", { cx: \"19\", cy: \"19\", r: \"1\", key: \"shf9b7\" }],\n [\"circle\", { cx: \"5\", cy: \"19\", r: \"1\", key: \"bfqh0e\" }]\n ];\n var Grip = createLucideIcon(\"grip\", __iconNode45);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/grip-vertical.js\n var __iconNode46 = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n ];\n var GripVertical = createLucideIcon(\"grip-vertical\", __iconNode46);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/hash.js\n var __iconNode47 = [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n ];\n var Hash = createLucideIcon(\"hash\", __iconNode47);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/heart.js\n var __iconNode48 = [\n [\n \"path\",\n {\n d: \"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\",\n key: \"mvr1a0\"\n }\n ]\n ];\n var Heart = createLucideIcon(\"heart\", __iconNode48);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/hexagon.js\n var __iconNode49 = [\n [\n \"path\",\n {\n d: \"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\",\n key: \"yt0hxn\"\n }\n ]\n ];\n var Hexagon = createLucideIcon(\"hexagon\", __iconNode49);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/house.js\n var __iconNode50 = [\n [\"path\", { d: \"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\", key: \"5wwlr5\" }],\n [\n \"path\",\n {\n d: \"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n key: \"r6nss1\"\n }\n ]\n ];\n var House = createLucideIcon(\"house\", __iconNode50);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/image.js\n var __iconNode51 = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }],\n [\"path\", { d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\", key: \"1xmnt7\" }]\n ];\n var Image2 = createLucideIcon(\"image\", __iconNode51);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/info.js\n var __iconNode52 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n ];\n var Info = createLucideIcon(\"info\", __iconNode52);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/key.js\n var __iconNode53 = [\n [\"path\", { d: \"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\", key: \"g0fldk\" }],\n [\"path\", { d: \"m21 2-9.6 9.6\", key: \"1j0ho8\" }],\n [\"circle\", { cx: \"7.5\", cy: \"15.5\", r: \"5.5\", key: \"yqb3hr\" }]\n ];\n var Key = createLucideIcon(\"key\", __iconNode53);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/link.js\n var __iconNode54 = [\n [\"path\", { d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\", key: \"1cjeqo\" }],\n [\"path\", { d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\", key: \"19qd67\" }]\n ];\n var Link = createLucideIcon(\"link\", __iconNode54);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/loader-circle.js\n var __iconNode55 = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]];\n var LoaderCircle = createLucideIcon(\"loader-circle\", __iconNode55);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/lock-open.js\n var __iconNode56 = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 9.9-1\", key: \"1mm8w8\" }]\n ];\n var LockOpen = createLucideIcon(\"lock-open\", __iconNode56);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/lock.js\n var __iconNode57 = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 10 0v4\", key: \"fwvmzm\" }]\n ];\n var Lock = createLucideIcon(\"lock\", __iconNode57);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/mail.js\n var __iconNode58 = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n ];\n var Mail = createLucideIcon(\"mail\", __iconNode58);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/map-pin.js\n var __iconNode59 = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n ];\n var MapPin = createLucideIcon(\"map-pin\", __iconNode59);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/menu.js\n var __iconNode60 = [\n [\"path\", { d: \"M4 5h16\", key: \"1tepv9\" }],\n [\"path\", { d: \"M4 12h16\", key: \"1lakjw\" }],\n [\"path\", { d: \"M4 19h16\", key: \"1djgab\" }]\n ];\n var Menu2 = createLucideIcon(\"menu\", __iconNode60);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/message-square.js\n var __iconNode61 = [\n [\n \"path\",\n {\n d: \"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\",\n key: \"18887p\"\n }\n ]\n ];\n var MessageSquare = createLucideIcon(\"message-square\", __iconNode61);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/mic.js\n var __iconNode62 = [\n [\"path\", { d: \"M12 19v3\", key: \"npa21l\" }],\n [\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\", key: \"1vc78b\" }],\n [\"rect\", { x: \"9\", y: \"2\", width: \"6\", height: \"13\", rx: \"3\", key: \"s6n7sd\" }]\n ];\n var Mic = createLucideIcon(\"mic\", __iconNode62);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/minus.js\n var __iconNode63 = [[\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }]];\n var Minus = createLucideIcon(\"minus\", __iconNode63);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/moon.js\n var __iconNode64 = [\n [\n \"path\",\n {\n d: \"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\",\n key: \"kfwtm\"\n }\n ]\n ];\n var Moon = createLucideIcon(\"moon\", __iconNode64);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/package.js\n var __iconNode65 = [\n [\n \"path\",\n {\n d: \"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\",\n key: \"1a0edw\"\n }\n ],\n [\"path\", { d: \"M12 22V12\", key: \"d0xqtd\" }],\n [\"polyline\", { points: \"3.29 7 12 12 20.71 7\", key: \"ousv84\" }],\n [\"path\", { d: \"m7.5 4.27 9 5.15\", key: \"1c824w\" }]\n ];\n var Package = createLucideIcon(\"package\", __iconNode65);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/paperclip.js\n var __iconNode66 = [\n [\n \"path\",\n {\n d: \"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\",\n key: \"1miecu\"\n }\n ]\n ];\n var Paperclip = createLucideIcon(\"paperclip\", __iconNode66);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/pause.js\n var __iconNode67 = [\n [\"rect\", { x: \"14\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"kaeet6\" }],\n [\"rect\", { x: \"5\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"1wsw3u\" }]\n ];\n var Pause = createLucideIcon(\"pause\", __iconNode67);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/phone.js\n var __iconNode68 = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n ];\n var Phone = createLucideIcon(\"phone\", __iconNode68);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/play.js\n var __iconNode69 = [\n [\n \"path\",\n {\n d: \"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\",\n key: \"10ikf1\"\n }\n ]\n ];\n var Play = createLucideIcon(\"play\", __iconNode69);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/plus.js\n var __iconNode70 = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n ];\n var Plus = createLucideIcon(\"plus\", __iconNode70);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/refresh-cw.js\n var __iconNode71 = [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n ];\n var RefreshCw = createLucideIcon(\"refresh-cw\", __iconNode71);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js\n var __iconNode72 = [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n ];\n var RotateCcw = createLucideIcon(\"rotate-ccw\", __iconNode72);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/search.js\n var __iconNode73 = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n ];\n var Search = createLucideIcon(\"search\", __iconNode73);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/send.js\n var __iconNode74 = [\n [\n \"path\",\n {\n d: \"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\",\n key: \"1ffxy3\"\n }\n ],\n [\"path\", { d: \"m21.854 2.147-10.94 10.939\", key: \"12cjpa\" }]\n ];\n var Send = createLucideIcon(\"send\", __iconNode74);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/server.js\n var __iconNode75 = [\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"2\", rx: \"2\", ry: \"2\", key: \"ngkwjq\" }],\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"14\", rx: \"2\", ry: \"2\", key: \"iecqi9\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"6\", y2: \"6\", key: \"16zg32\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"18\", y2: \"18\", key: \"nzw8ys\" }]\n ];\n var Server = createLucideIcon(\"server\", __iconNode75);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/settings.js\n var __iconNode76 = [\n [\n \"path\",\n {\n d: \"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\",\n key: \"1i5ecw\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n ];\n var Settings = createLucideIcon(\"settings\", __iconNode76);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/shield.js\n var __iconNode77 = [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ]\n ];\n var Shield = createLucideIcon(\"shield\", __iconNode77);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/square-pen.js\n var __iconNode78 = [\n [\"path\", { d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\", key: \"1m0v6g\" }],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n ];\n var SquarePen = createLucideIcon(\"square-pen\", __iconNode78);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/square.js\n var __iconNode79 = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }]\n ];\n var Square = createLucideIcon(\"square\", __iconNode79);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/star.js\n var __iconNode80 = [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n ];\n var Star = createLucideIcon(\"star\", __iconNode80);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/sun.js\n var __iconNode81 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n ];\n var Sun = createLucideIcon(\"sun\", __iconNode81);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/tag.js\n var __iconNode82 = [\n [\n \"path\",\n {\n d: \"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\",\n key: \"vktsd0\"\n }\n ],\n [\"circle\", { cx: \"7.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"kqv944\" }]\n ];\n var Tag = createLucideIcon(\"tag\", __iconNode82);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/terminal.js\n var __iconNode83 = [\n [\"path\", { d: \"M12 19h8\", key: \"baeox8\" }],\n [\"path\", { d: \"m4 17 6-6-6-6\", key: \"1yngyt\" }]\n ];\n var Terminal = createLucideIcon(\"terminal\", __iconNode83);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/thermometer.js\n var __iconNode84 = [\n [\"path\", { d: \"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z\", key: \"17jzev\" }]\n ];\n var Thermometer = createLucideIcon(\"thermometer\", __iconNode84);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trash-2.js\n var __iconNode85 = [\n [\"path\", { d: \"M10 11v6\", key: \"nco0om\" }],\n [\"path\", { d: \"M14 11v6\", key: \"outv1u\" }],\n [\"path\", { d: \"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\", key: \"miytrc\" }],\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\", key: \"e791ji\" }]\n ];\n var Trash2 = createLucideIcon(\"trash-2\", __iconNode85);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trending-down.js\n var __iconNode86 = [\n [\"path\", { d: \"M16 17h6v-6\", key: \"t6n2it\" }],\n [\"path\", { d: \"m22 17-8.5-8.5-5 5L2 7\", key: \"x473p\" }]\n ];\n var TrendingDown = createLucideIcon(\"trending-down\", __iconNode86);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trending-up.js\n var __iconNode87 = [\n [\"path\", { d: \"M16 7h6v6\", key: \"box55l\" }],\n [\"path\", { d: \"m22 7-8.5 8.5-5-5L2 17\", key: \"1t1m79\" }]\n ];\n var TrendingUp = createLucideIcon(\"trending-up\", __iconNode87);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/triangle-alert.js\n var __iconNode88 = [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n ];\n var TriangleAlert = createLucideIcon(\"triangle-alert\", __iconNode88);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/triangle.js\n var __iconNode89 = [\n [\n \"path\",\n { d: \"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\", key: \"14u9p9\" }\n ]\n ];\n var Triangle = createLucideIcon(\"triangle\", __iconNode89);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/upload.js\n var __iconNode90 = [\n [\"path\", { d: \"M12 3v12\", key: \"1x0j5s\" }],\n [\"path\", { d: \"m17 8-5-5-5 5\", key: \"7q97r8\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }]\n ];\n var Upload = createLucideIcon(\"upload\", __iconNode90);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/user.js\n var __iconNode91 = [\n [\"path\", { d: \"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\", key: \"975kel\" }],\n [\"circle\", { cx: \"12\", cy: \"7\", r: \"4\", key: \"17ys0d\" }]\n ];\n var User = createLucideIcon(\"user\", __iconNode91);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/users.js\n var __iconNode92 = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"path\", { d: \"M16 3.128a4 4 0 0 1 0 7.744\", key: \"16gr8j\" }],\n [\"path\", { d: \"M22 21v-2a4 4 0 0 0-3-3.87\", key: \"kshegd\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n ];\n var Users = createLucideIcon(\"users\", __iconNode92);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/video.js\n var __iconNode93 = [\n [\n \"path\",\n {\n d: \"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\",\n key: \"ftymec\"\n }\n ],\n [\"rect\", { x: \"2\", y: \"6\", width: \"14\", height: \"12\", rx: \"2\", key: \"158x01\" }]\n ];\n var Video = createLucideIcon(\"video\", __iconNode93);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/volume-2.js\n var __iconNode94 = [\n [\n \"path\",\n {\n d: \"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\n key: \"uqj9uw\"\n }\n ],\n [\"path\", { d: \"M16 9a5 5 0 0 1 0 6\", key: \"1q6k2b\" }],\n [\"path\", { d: \"M19.364 18.364a9 9 0 0 0 0-12.728\", key: \"ijwkga\" }]\n ];\n var Volume2 = createLucideIcon(\"volume-2\", __iconNode94);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/volume-x.js\n var __iconNode95 = [\n [\n \"path\",\n {\n d: \"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\n key: \"uqj9uw\"\n }\n ],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"9\", y2: \"15\", key: \"1ewh16\" }],\n [\"line\", { x1: \"16\", x2: \"22\", y1: \"9\", y2: \"15\", key: \"5ykzw1\" }]\n ];\n var VolumeX = createLucideIcon(\"volume-x\", __iconNode95);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/wifi-off.js\n var __iconNode96 = [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 5.17-2.69\", key: \"1dl1wf\" }],\n [\"path\", { d: \"M19 12.859a10 10 0 0 0-2.007-1.523\", key: \"4k23kn\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 4.177-2.643\", key: \"1grhjp\" }],\n [\"path\", { d: \"M22 8.82a15 15 0 0 0-11.288-3.764\", key: \"z3jwby\" }],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n ];\n var WifiOff = createLucideIcon(\"wifi-off\", __iconNode96);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/wifi.js\n var __iconNode97 = [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 20 0\", key: \"dnpr2z\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 14 0\", key: \"1x1e6c\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }]\n ];\n var Wifi = createLucideIcon(\"wifi\", __iconNode97);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/x.js\n var __iconNode98 = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n ];\n var X = createLucideIcon(\"x\", __iconNode98);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/zap.js\n var __iconNode99 = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n ];\n var Zap = createLucideIcon(\"zap\", __iconNode99);\n\n // ../../react/src/components/accordion.tsx\n var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);\n function Accordion2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(dist_exports2.Root, { \"data-slot\": \"accordion\", ...props });\n }\n function AccordionItem2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\n dist_exports2.Item,\n {\n \"data-slot\": \"accordion-item\",\n className: cn(\"border-b last:border-b-0\", className),\n ...props\n }\n );\n }\n function AccordionTrigger2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(dist_exports2.Header, { className: \"flex\", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(\n dist_exports2.Trigger,\n {\n \"data-slot\": \"accordion-trigger\",\n className: cn(\n \"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronDown, { className: \"pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200\" })\n ]\n }\n ) });\n }\n function AccordionContent2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\n dist_exports2.Content,\n {\n \"data-slot\": \"accordion-content\",\n className: \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\"div\", { className: cn(\"pt-0 pb-4\", className), children })\n }\n );\n }\n\n // ../../react/src/components/scroll-area.tsx\n var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);\n function ScrollArea2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(\n dist_exports16.Root,\n {\n \"data-slot\": \"scroll-area\",\n className: cn(\"relative\", className),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.Viewport,\n {\n \"data-slot\": \"scroll-area-viewport\",\n className: \"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\",\n children\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollBar, {}),\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(dist_exports16.Corner, {})\n ]\n }\n );\n }\n function ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.ScrollAreaScrollbar,\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n className: cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.ScrollAreaThumb,\n {\n \"data-slot\": \"scroll-area-thumb\",\n className: \"relative flex-1 rounded-full bg-border\"\n }\n )\n }\n );\n }\n\n // ../../react/src/lib/outside-dismiss.ts\n var PORTALED_POPUP_SELECTOR = \"[data-slot='combobox-content'],[data-slot='select-content']\";\n var isInsidePortaledPopup = (target) => typeof Element !== \"undefined\" && target instanceof Element && target.closest(PORTALED_POPUP_SELECTOR) !== null;\n var dismissesOnOutsideInteraction = (input2) => input2.dismissOnOutsideClick && !input2.insidePortaledPopup;\n var applyOutsideDismissPolicy = (event, dismissOnOutsideClick) => {\n const dismisses = dismissesOnOutsideInteraction({\n dismissOnOutsideClick,\n insidePortaledPopup: isInsidePortaledPopup(event.detail.originalEvent.target)\n });\n if (!dismisses) event.preventDefault();\n };\n\n // ../../react/src/components/spinner.tsx\n var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);\n function Spinner({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(\n LoaderCircle,\n {\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: cn(\"size-4 animate-spin\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/button.tsx\n var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);\n var buttonVariants = cva(\n \"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40\",\n outline: \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n xs: \"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8\",\n \"icon-lg\": \"size-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n );\n function Button({\n className,\n variant = \"default\",\n size: size4 = \"default\",\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n }) {\n const Comp = asChild ? dist_exports.Root : \"button\";\n const showLoading = loading && !asChild;\n return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\n Comp,\n {\n \"data-slot\": \"button\",\n \"data-variant\": variant,\n \"data-size\": size4,\n \"data-loading\": showLoading ? \"\" : void 0,\n className: cn(buttonVariants({ variant, size: size4, className }), showLoading && \"relative\"),\n disabled: disabled || loading,\n ...props,\n children: showLoading ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\"span\", { className: \"invisible\", children }),\n /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\"span\", { className: \"absolute inset-0 flex items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Spinner, { className: \"size-3.5\" }) })\n ] }) : children\n }\n );\n }\n\n // ../../react/src/components/dialog.tsx\n var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);\n function Dialog2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Root, { \"data-slot\": \"dialog\", ...props });\n }\n function DialogTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Trigger, { \"data-slot\": \"dialog-trigger\", ...props });\n }\n function DialogPortal2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Portal, { \"data-slot\": \"dialog-portal\", ...props });\n }\n function DialogClose2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Close, { \"data-slot\": \"dialog-close\", ...props });\n }\n function DialogOverlay2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Overlay,\n {\n \"data-slot\": \"dialog-overlay\",\n className: cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n ),\n ...props\n }\n );\n }\n function DialogContent2({\n className,\n children,\n showCloseButton = true,\n dismissOnOutsideClick = false,\n onInteractOutside,\n onPointerDownOutside,\n forceOverlay = false,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(DialogPortal2, { \"data-slot\": \"dialog-portal\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DialogOverlay2, {}),\n forceOverlay ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\"div\", { \"aria-hidden\": true, \"data-slot\": \"dialog-overlay\", className: \"fixed inset-0 z-50 bg-black/50\" }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n dist_exports4.Content,\n {\n \"data-slot\": \"dialog-content\",\n onPointerDownOutside: (event) => {\n onPointerDownOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick);\n },\n onInteractOutside: (event) => {\n onInteractOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick);\n },\n className: cn(\n \"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg\",\n className\n ),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n dist_exports4.Close,\n {\n \"data-slot\": \"dialog-close\",\n className: \"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(X, {}),\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\"span\", { className: \"sr-only\", children: \"Close\" })\n ]\n }\n )\n ]\n }\n )\n ] });\n }\n function DialogHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n \"div\",\n {\n \"data-slot\": \"dialog-header\",\n className: cn(\"flex flex-col gap-2 text-center sm:text-left\", className),\n ...props\n }\n );\n }\n function DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n \"div\",\n {\n \"data-slot\": \"dialog-footer\",\n className: cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Button, { variant: \"outline\", children: \"Close\" }) })\n ]\n }\n );\n }\n function DialogTitle2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Title,\n {\n \"data-slot\": \"dialog-title\",\n className: cn(\"text-lg leading-none font-semibold\", className),\n ...props\n }\n );\n }\n function DialogDescription2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Description,\n {\n \"data-slot\": \"dialog-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/sheet.tsx\n var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);\n function Sheet({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Root, { \"data-slot\": \"sheet\", ...props });\n }\n function SheetTrigger({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Trigger, { \"data-slot\": \"sheet-trigger\", ...props });\n }\n function SheetClose({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Close, { \"data-slot\": \"sheet-close\", ...props });\n }\n function SheetPortal({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Portal, { \"data-slot\": \"sheet-portal\", ...props });\n }\n function SheetOverlay({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Overlay,\n {\n \"data-slot\": \"sheet-overlay\",\n className: cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n ),\n ...props\n }\n );\n }\n function SheetContent({\n className,\n children,\n side = \"right\",\n showCloseButton = true,\n dismissOnOutsideClick = false,\n onInteractOutside,\n onPointerDownOutside,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(SheetPortal, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SheetOverlay, {}),\n /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(\n dist_exports4.Content,\n {\n \"data-slot\": \"sheet-content\",\n onPointerDownOutside: (event) => {\n onPointerDownOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick);\n },\n onInteractOutside: (event) => {\n onInteractOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick);\n },\n className: cn(\n \"fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500\",\n side === \"right\" && \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n side === \"left\" && \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n side === \"top\" && \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n side === \"bottom\" && \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n className\n ),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(dist_exports4.Close, { className: \"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(X, { className: \"size-4\" }),\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\"span\", { className: \"sr-only\", children: \"Close\" })\n ] })\n ]\n }\n )\n ] });\n }\n function SheetHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n \"div\",\n {\n \"data-slot\": \"sheet-header\",\n className: cn(\"flex flex-col gap-1.5 p-4\", className),\n ...props\n }\n );\n }\n function SheetFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n \"div\",\n {\n \"data-slot\": \"sheet-footer\",\n className: cn(\"mt-auto flex flex-col gap-2 p-4\", className),\n ...props\n }\n );\n }\n function SheetTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Title,\n {\n \"data-slot\": \"sheet-title\",\n className: cn(\"font-semibold text-foreground\", className),\n ...props\n }\n );\n }\n function SheetDescription({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Description,\n {\n \"data-slot\": \"sheet-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/popover.tsx\n var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);\n function Popover2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Root, { \"data-slot\": \"popover\", ...props });\n }\n function PopoverTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Trigger, { \"data-slot\": \"popover-trigger\", ...props });\n }\n function PopoverContent2({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(\n dist_exports13.Content,\n {\n \"data-slot\": \"popover-content\",\n align,\n sideOffset,\n className: cn(\n \"z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n ) });\n }\n function PopoverAnchor2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Anchor, { \"data-slot\": \"popover-anchor\", ...props });\n }\n\n // ../../react/src/components/tooltip.tsx\n var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);\n function TooltipProvider2({\n delayDuration = 0,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(\n dist_exports24.Provider,\n {\n \"data-slot\": \"tooltip-provider\",\n delayDuration,\n ...props\n }\n );\n }\n function Tooltip2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Root, { \"data-slot\": \"tooltip\", ...props });\n }\n function TooltipTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Trigger, { \"data-slot\": \"tooltip-trigger\", ...props });\n }\n function TooltipContent2({\n className,\n sideOffset = 0,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(\n dist_exports24.Content,\n {\n \"data-slot\": \"tooltip-content\",\n sideOffset,\n className: cn(\n \"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Arrow, { className: \"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" })\n ]\n }\n ) });\n }\n\n // ../../react/src/components/dropdown-menu.tsx\n var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);\n function DropdownMenu2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Root, { \"data-slot\": \"dropdown-menu\", ...props });\n }\n function DropdownMenuTrigger2({\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Trigger, { \"data-slot\": \"dropdown-menu-trigger\", ...props });\n }\n function DropdownMenuContent2({\n className,\n sideOffset = 4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Content,\n {\n \"data-slot\": \"dropdown-menu-content\",\n sideOffset,\n className: cn(\n \"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n ) });\n }\n function DropdownMenuGroup2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Group, { \"data-slot\": \"dropdown-menu-group\", ...props });\n }\n function DropdownMenuItem2({\n className,\n inset,\n variant = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Item,\n {\n \"data-slot\": \"dropdown-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!\",\n className\n ),\n ...props\n }\n );\n }\n function DropdownMenuCheckboxItem2({\n className,\n children,\n checked,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.CheckboxItem,\n {\n \"data-slot\": \"dropdown-menu-checkbox-item\",\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n checked,\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Check, { className: \"size-4\" }) }) }),\n children\n ]\n }\n );\n }\n function DropdownMenuRadioGroup2({\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.RadioGroup, { \"data-slot\": \"dropdown-menu-radio-group\", ...props });\n }\n function DropdownMenuRadioItem2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.RadioItem,\n {\n \"data-slot\": \"dropdown-menu-radio-item\",\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Circle, { className: \"size-2 fill-current\" }) }) }),\n children\n ]\n }\n );\n }\n function DropdownMenuLabel2({\n className,\n inset,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Label,\n {\n \"data-slot\": \"dropdown-menu-label\",\n \"data-inset\": inset,\n className: cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className),\n ...props\n }\n );\n }\n function DropdownMenuSeparator2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Separator,\n {\n \"data-slot\": \"dropdown-menu-separator\",\n className: cn(\"-mx-1 my-1 h-px bg-border\", className),\n ...props\n }\n );\n }\n function DropdownMenuSub2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Sub, { \"data-slot\": \"dropdown-menu-sub\", ...props });\n }\n function DropdownMenuSubTrigger2({\n className,\n inset,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.SubTrigger,\n {\n \"data-slot\": \"dropdown-menu-sub-trigger\",\n \"data-inset\": inset,\n className: cn(\n \"flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ChevronRight, { className: \"ml-auto size-4\" })\n ]\n }\n );\n }\n function DropdownMenuSubContent2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.SubContent,\n {\n \"data-slot\": \"dropdown-menu-sub-content\",\n className: cn(\n \"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/input.tsx\n var import_jsx_runtime49 = (\n // oxlint-disable-next-line react/forbid-elements\n __toESM(require_jsx_runtime(), 1)\n );\n function Input({ className, type, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(\n \"input\",\n {\n type,\n \"data-slot\": \"input\",\n className: cn(\n \"h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/textarea.tsx\n var import_jsx_runtime50 = (\n // oxlint-disable-next-line react/forbid-elements\n __toESM(require_jsx_runtime(), 1)\n );\n function Textarea({\n className,\n maxRows,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(\n \"textarea\",\n {\n \"data-slot\": \"textarea\",\n className: cn(\n \"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props,\n style: { maxHeight: maxRows ? `${maxRows * 1.5}rem` : void 0 }\n }\n );\n }\n\n // ../../react/src/components/label.tsx\n var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);\n function Label5({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(\n dist_exports12.Root,\n {\n \"data-slot\": \"label\",\n className: cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/select.tsx\n var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);\n var SelectPrimitiveTrigger = dist_exports17.Trigger;\n function Select2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Root, { \"data-slot\": \"select\", ...props });\n }\n function SelectGroup2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Group, { \"data-slot\": \"select-group\", ...props });\n }\n function SelectValue2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Value, { \"data-slot\": \"select-value\", ...props });\n }\n function SelectTrigger2({\n className,\n size: size4 = \"default\",\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Trigger,\n {\n \"data-slot\": \"select-trigger\",\n \"data-size\": size4,\n className: cn(\n \"flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronDown, { className: \"size-4 opacity-50\" }) })\n ]\n }\n );\n }\n function SelectContent2({\n className,\n children,\n position: position2 = \"item-aligned\",\n align = \"center\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Content,\n {\n \"data-slot\": \"select-content\",\n className: cn(\n \"relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n position2 === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n ),\n position: position2,\n align,\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectScrollUpButton2, {}),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.Viewport,\n {\n className: cn(\n \"p-1\",\n position2 === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n ),\n children\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectScrollDownButton2, {})\n ]\n }\n ) });\n }\n function SelectLabel2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.Label,\n {\n \"data-slot\": \"select-label\",\n className: cn(\"px-2 py-1.5 text-xs text-muted-foreground\", className),\n ...props\n }\n );\n }\n function SelectItem2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Item,\n {\n \"data-slot\": \"select-item\",\n className: cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n \"span\",\n {\n \"data-slot\": \"select-item-indicator\",\n className: \"absolute right-2 flex size-3.5 items-center justify-center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Check, { className: \"size-4\" }) })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.ItemText, { children })\n ]\n }\n );\n }\n function SelectScrollUpButton2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.ScrollUpButton,\n {\n \"data-slot\": \"select-scroll-up-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronUp, { className: \"size-4\" })\n }\n );\n }\n function SelectScrollDownButton2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.ScrollDownButton,\n {\n \"data-slot\": \"select-scroll-down-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronDown, { className: \"size-4\" })\n }\n );\n }\n\n // ../../react/src/components/checkbox.tsx\n var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);\n function Checkbox2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(\n dist_exports6.Root,\n {\n \"data-slot\": \"checkbox\",\n className: cn(\n \"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(\n dist_exports6.Indicator,\n {\n \"data-slot\": \"checkbox-indicator\",\n className: \"grid place-content-center text-current transition-none\",\n children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Check, { className: \"size-3.5\" })\n }\n )\n }\n );\n }\n\n // ../../react/src/components/radio-group.tsx\n var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);\n function RadioGroup4({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Root,\n {\n \"data-slot\": \"radio-group\",\n className: cn(\"grid gap-3\", className),\n ...props\n }\n );\n }\n function RadioGroupItem2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Item,\n {\n \"data-slot\": \"radio-group-item\",\n className: cn(\n \"aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Indicator,\n {\n \"data-slot\": \"radio-group-indicator\",\n className: \"relative flex items-center justify-center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Circle, { className: \"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-primary\" })\n }\n )\n }\n );\n }\n\n // ../../react/src/components/switch.tsx\n var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);\n function Switch2({\n className,\n size: size4 = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(\n dist_exports20.Root,\n {\n \"data-slot\": \"switch\",\n \"data-size\": size4,\n className: cn(\n \"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(\n dist_exports20.Thumb,\n {\n \"data-slot\": \"switch-thumb\",\n className: cn(\n \"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n )\n }\n )\n }\n );\n }\n\n // ../../react/src/components/slider.tsx\n var React60 = __toESM(require_react(), 1);\n var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);\n function Slider2({\n className,\n defaultValue,\n value,\n min: min3 = 0,\n max: max3 = 100,\n ...props\n }) {\n const _values = React60.useMemo(\n () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min3, max3],\n [value, defaultValue, min3, max3]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(\n dist_exports19.Root,\n {\n \"data-slot\": \"slider\",\n defaultValue,\n value,\n min: min3,\n max: max3,\n className: cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Track,\n {\n \"data-slot\": \"slider-track\",\n className: cn(\n \"relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\"\n ),\n children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Range,\n {\n \"data-slot\": \"slider-range\",\n className: cn(\n \"absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n )\n }\n )\n }\n ),\n Array.from({ length: _values.length }, (_, index2) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Thumb,\n {\n \"data-slot\": \"slider-thumb\",\n className: \"block size-4 shrink-0 rounded-full border border-primary bg-white shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n },\n index2\n ))\n ]\n }\n );\n }\n\n // ../../react/src/components/toggle.tsx\n var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);\n var toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground\"\n },\n size: {\n default: \"h-9 min-w-9 px-2\",\n sm: \"h-8 min-w-8 px-1.5\",\n lg: \"h-10 min-w-10 px-2.5\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n );\n function Toggle2({\n className,\n variant,\n size: size4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(\n dist_exports22.Root,\n {\n \"data-slot\": \"toggle\",\n className: cn(toggleVariants({ variant, size: size4, className })),\n ...props\n }\n );\n }\n\n // ../../react/src/components/toggle-group.tsx\n var React61 = __toESM(require_react(), 1);\n var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);\n var ToggleGroupContext2 = React61.createContext({\n size: \"default\",\n variant: \"default\",\n spacing: 0\n });\n function ToggleGroup2({\n className,\n variant,\n size: size4,\n spacing = 0,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(\n dist_exports23.Root,\n {\n \"data-slot\": \"toggle-group\",\n \"data-variant\": variant,\n \"data-size\": size4,\n \"data-spacing\": spacing,\n style: { \"--gap\": spacing },\n className: cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ToggleGroupContext2.Provider, { value: { variant, size: size4, spacing }, children })\n }\n );\n }\n function ToggleGroupItem2({\n className,\n children,\n variant,\n size: size4,\n ...props\n }) {\n const context = React61.useContext(ToggleGroupContext2);\n return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(\n dist_exports23.Item,\n {\n \"data-slot\": \"toggle-group-item\",\n \"data-variant\": context.variant || variant,\n \"data-size\": context.size || size4,\n \"data-spacing\": context.spacing,\n className: cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size4\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l\",\n className\n ),\n ...props,\n children\n }\n );\n }\n\n // ../../react/src/components/table.tsx\n var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);\n function Table({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\"div\", { \"data-slot\": \"table-container\", className: \"relative w-full overflow-x-auto\", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"table\",\n {\n \"data-slot\": \"table\",\n className: cn(\"w-full caption-bottom text-sm\", className),\n ...props\n }\n ) });\n }\n function TableHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\"thead\", { \"data-slot\": \"table-header\", className: cn(\"[&_tr]:border-b\", className), ...props });\n }\n function TableBody({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tbody\",\n {\n \"data-slot\": \"table-body\",\n className: cn(\"[&_tr:last-child]:border-0\", className),\n ...props\n }\n );\n }\n function TableFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tfoot\",\n {\n \"data-slot\": \"table-footer\",\n className: cn(\"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\", className),\n ...props\n }\n );\n }\n function TableRow({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tr\",\n {\n \"data-slot\": \"table-row\",\n className: cn(\n \"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n ),\n ...props\n }\n );\n }\n function TableHead({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"th\",\n {\n \"data-slot\": \"table-head\",\n className: cn(\n \"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n ),\n ...props\n }\n );\n }\n function TableCell({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"td\",\n {\n \"data-slot\": \"table-cell\",\n className: cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n ),\n ...props\n }\n );\n }\n function TableCaption({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"caption\",\n {\n \"data-slot\": \"table-caption\",\n className: cn(\"mt-4 text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/badge.tsx\n var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);\n var badgeVariants = cva(\n \"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary: \"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive: \"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90\",\n outline: \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost: \"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 [a&]:hover:underline\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n }) {\n const Comp = asChild ? dist_exports.Root : \"span\";\n return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(\n Comp,\n {\n \"data-slot\": \"badge\",\n \"data-variant\": variant,\n className: cn(badgeVariants({ variant }), className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/avatar.tsx\n var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);\n function Avatar2({\n className,\n size: size4 = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Root,\n {\n \"data-slot\": \"avatar\",\n \"data-size\": size4,\n className: cn(\n \"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6\",\n className\n ),\n ...props\n }\n );\n }\n function AvatarImage2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Image,\n {\n \"data-slot\": \"avatar-image\",\n className: cn(\"aspect-square size-full\", className),\n ...props\n }\n );\n }\n function AvatarFallback2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Fallback,\n {\n \"data-slot\": \"avatar-fallback\",\n className: cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/progress.tsx\n var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);\n function Progress2({\n className,\n value,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(\n dist_exports14.Root,\n {\n \"data-slot\": \"progress\",\n className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(\n dist_exports14.Indicator,\n {\n \"data-slot\": \"progress-indicator\",\n className: \"h-full w-full flex-1 bg-primary transition-all\",\n style: { transform: `translateX(-${100 - (value || 0)}%)` }\n }\n )\n }\n );\n }\n\n // ../../react/src/components/skeleton.tsx\n var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);\n function Skeleton({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(\n \"div\",\n {\n \"data-slot\": \"skeleton\",\n className: cn(\"animate-pulse rounded-md bg-accent\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/alert.tsx\n var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);\n var alertVariants = cva(\n \"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive: \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function Alert({\n className,\n variant,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert\",\n role: \"alert\",\n className: cn(alertVariants({ variant }), className),\n ...props\n }\n );\n }\n function AlertTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert-title\",\n className: cn(\"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\", className),\n ...props\n }\n );\n }\n function AlertDescription({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert-description\",\n className: cn(\n \"col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed\",\n className\n ),\n ...props\n }\n );\n }\n\n // src/shell/artifact-states.tsx\n var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);\n function ArtifactLoading({\n variant = \"list\",\n rows = 4,\n label,\n className\n }) {\n const count3 = Math.max(1, Math.min(rows, 12));\n const items = Array.from({ length: count3 }, (_, index2) => index2);\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n \"data-slot\": \"artifact-loading\",\n \"data-variant\": variant,\n \"aria-busy\": \"true\",\n className: cn(\"w-full\", className),\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mb-3 font-mono text-[11px] tracking-[0.08em] text-muted-foreground uppercase\", children: label }),\n variant === \"cards\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\n \"div\",\n {\n className: \"grid gap-3\",\n style: { gridTemplateColumns: `repeat(${Math.min(count3, 4)}, minmax(0, 1fr))` },\n children: items.slice(0, 4).map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"rounded-lg border border-border p-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-20\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"mt-3 h-6 w-16\" })\n ] }, index2))\n }\n ),\n variant === \"chart\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"rounded-lg border border-border p-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-28\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"mt-4 h-48 w-full\" })\n ] }),\n variant === \"table\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"overflow-hidden rounded-lg border border-border\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"border-b border-border px-4 py-2.5\", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-24\" }) }),\n items.map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-4 border-b border-border px-4 py-3 last:border-b-0\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-1/3\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-1/5\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"ml-auto h-3 w-12\" })\n ]\n },\n index2\n ))\n ] }),\n variant === \"list\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"space-y-2.5\", children: items.map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-4\", style: { width: `${92 - index2 * 9}%` } }, index2)) })\n ]\n }\n );\n }\n function ArtifactEmpty({\n title = \"Nothing to show\",\n description,\n action,\n className\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n \"data-slot\": \"artifact-empty\",\n className: cn(\n \"flex flex-col items-center justify-center rounded-lg border border-border px-6 py-10 text-center\",\n className\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"text-sm font-medium text-foreground\", children: title }),\n description && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mt-1.5 max-w-sm text-sm text-muted-foreground\", children: description }),\n action && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mt-4\", children: action })\n ]\n }\n );\n }\n var messageOf = (error) => {\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n if (typeof error === \"object\" && error !== null) {\n const record = error;\n if (typeof record.message === \"string\") return record.message;\n if (typeof record.error?.message === \"string\") return record.error.message;\n }\n return \"Unknown error\";\n };\n function ArtifactError({\n error,\n title = \"Couldn't load this\",\n hint,\n onRetry,\n className\n }) {\n const message = messageOf(error);\n const fallbackHint = onRetry ? \"Retry, or check the integration is still connected.\" : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Alert, { \"data-slot\": \"artifact-error\", variant: \"destructive\", className: cn(className), children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CircleAlert, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AlertTitle, { children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(AlertDescription, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"span\", { className: \"font-mono text-xs break-words\", children: message }),\n (hint ?? fallbackHint) && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"span\", { className: \"mt-1.5 block text-xs text-muted-foreground\", children: hint ?? fallbackHint }),\n onRetry && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\n Button,\n {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n onClick: onRetry,\n className: \"mt-2.5 h-7 px-2.5 text-xs\",\n children: \"Retry\"\n }\n )\n ] })\n ] });\n }\n\n // ../../react/src/components/chart.tsx\n var React132 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Surface.js\n var React62 = __toESM(require_react());\n var import_react13 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesAndEvents.js\n var import_react12 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/excludeEventProps.js\n var EventKeys = [\"dangerouslySetInnerHTML\", \"onCopy\", \"onCopyCapture\", \"onCut\", \"onCutCapture\", \"onPaste\", \"onPasteCapture\", \"onCompositionEnd\", \"onCompositionEndCapture\", \"onCompositionStart\", \"onCompositionStartCapture\", \"onCompositionUpdate\", \"onCompositionUpdateCapture\", \"onFocus\", \"onFocusCapture\", \"onBlur\", \"onBlurCapture\", \"onChange\", \"onChangeCapture\", \"onBeforeInput\", \"onBeforeInputCapture\", \"onInput\", \"onInputCapture\", \"onReset\", \"onResetCapture\", \"onSubmit\", \"onSubmitCapture\", \"onInvalid\", \"onInvalidCapture\", \"onLoad\", \"onLoadCapture\", \"onError\", \"onErrorCapture\", \"onKeyDown\", \"onKeyDownCapture\", \"onKeyPress\", \"onKeyPressCapture\", \"onKeyUp\", \"onKeyUpCapture\", \"onAbort\", \"onAbortCapture\", \"onCanPlay\", \"onCanPlayCapture\", \"onCanPlayThrough\", \"onCanPlayThroughCapture\", \"onDurationChange\", \"onDurationChangeCapture\", \"onEmptied\", \"onEmptiedCapture\", \"onEncrypted\", \"onEncryptedCapture\", \"onEnded\", \"onEndedCapture\", \"onLoadedData\", \"onLoadedDataCapture\", \"onLoadedMetadata\", \"onLoadedMetadataCapture\", \"onLoadStart\", \"onLoadStartCapture\", \"onPause\", \"onPauseCapture\", \"onPlay\", \"onPlayCapture\", \"onPlaying\", \"onPlayingCapture\", \"onProgress\", \"onProgressCapture\", \"onRateChange\", \"onRateChangeCapture\", \"onSeeked\", \"onSeekedCapture\", \"onSeeking\", \"onSeekingCapture\", \"onStalled\", \"onStalledCapture\", \"onSuspend\", \"onSuspendCapture\", \"onTimeUpdate\", \"onTimeUpdateCapture\", \"onVolumeChange\", \"onVolumeChangeCapture\", \"onWaiting\", \"onWaitingCapture\", \"onAuxClick\", \"onAuxClickCapture\", \"onClick\", \"onClickCapture\", \"onContextMenu\", \"onContextMenuCapture\", \"onDoubleClick\", \"onDoubleClickCapture\", \"onDrag\", \"onDragCapture\", \"onDragEnd\", \"onDragEndCapture\", \"onDragEnter\", \"onDragEnterCapture\", \"onDragExit\", \"onDragExitCapture\", \"onDragLeave\", \"onDragLeaveCapture\", \"onDragOver\", \"onDragOverCapture\", \"onDragStart\", \"onDragStartCapture\", \"onDrop\", \"onDropCapture\", \"onMouseDown\", \"onMouseDownCapture\", \"onMouseEnter\", \"onMouseLeave\", \"onMouseMove\", \"onMouseMoveCapture\", \"onMouseOut\", \"onMouseOutCapture\", \"onMouseOver\", \"onMouseOverCapture\", \"onMouseUp\", \"onMouseUpCapture\", \"onSelect\", \"onSelectCapture\", \"onTouchCancel\", \"onTouchCancelCapture\", \"onTouchEnd\", \"onTouchEndCapture\", \"onTouchMove\", \"onTouchMoveCapture\", \"onTouchStart\", \"onTouchStartCapture\", \"onPointerDown\", \"onPointerDownCapture\", \"onPointerMove\", \"onPointerMoveCapture\", \"onPointerUp\", \"onPointerUpCapture\", \"onPointerCancel\", \"onPointerCancelCapture\", \"onPointerEnter\", \"onPointerEnterCapture\", \"onPointerLeave\", \"onPointerLeaveCapture\", \"onPointerOver\", \"onPointerOverCapture\", \"onPointerOut\", \"onPointerOutCapture\", \"onGotPointerCapture\", \"onGotPointerCaptureCapture\", \"onLostPointerCapture\", \"onLostPointerCaptureCapture\", \"onScroll\", \"onScrollCapture\", \"onWheel\", \"onWheelCapture\", \"onAnimationStart\", \"onAnimationStartCapture\", \"onAnimationEnd\", \"onAnimationEndCapture\", \"onAnimationIteration\", \"onAnimationIterationCapture\", \"onTransitionEnd\", \"onTransitionEndCapture\"];\n function isEventKey(key) {\n if (typeof key !== \"string\") {\n return false;\n }\n var allowedEventKeys = EventKeys;\n return allowedEventKeys.includes(key);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesNoEvents.js\n var import_react11 = __toESM(require_react());\n var SVGElementPropKeys = [\n \"aria-activedescendant\",\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-checked\",\n \"aria-colcount\",\n \"aria-colindex\",\n \"aria-colspan\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-level\",\n \"aria-live\",\n \"aria-modal\",\n \"aria-multiline\",\n \"aria-multiselectable\",\n \"aria-orientation\",\n \"aria-owns\",\n \"aria-placeholder\",\n \"aria-posinset\",\n \"aria-pressed\",\n \"aria-readonly\",\n \"aria-relevant\",\n \"aria-required\",\n \"aria-roledescription\",\n \"aria-rowcount\",\n \"aria-rowindex\",\n \"aria-rowspan\",\n \"aria-selected\",\n \"aria-setsize\",\n \"aria-sort\",\n \"aria-valuemax\",\n \"aria-valuemin\",\n \"aria-valuenow\",\n \"aria-valuetext\",\n \"className\",\n \"color\",\n \"height\",\n \"id\",\n \"lang\",\n \"max\",\n \"media\",\n \"method\",\n \"min\",\n \"name\",\n \"style\",\n /*\n * removed 'type' SVGElementPropKey because we do not currently use any SVG elements\n * that can use it, and it conflicts with the recharts prop 'type'\n * https://github.com/recharts/recharts/pull/3327\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type\n */\n // 'type',\n \"target\",\n \"width\",\n \"role\",\n \"tabIndex\",\n \"accentHeight\",\n \"accumulate\",\n \"additive\",\n \"alignmentBaseline\",\n \"allowReorder\",\n \"alphabetic\",\n \"amplitude\",\n \"arabicForm\",\n \"ascent\",\n \"attributeName\",\n \"attributeType\",\n \"autoReverse\",\n \"azimuth\",\n \"baseFrequency\",\n \"baselineShift\",\n \"baseProfile\",\n \"bbox\",\n \"begin\",\n \"bias\",\n \"by\",\n \"calcMode\",\n \"capHeight\",\n \"clip\",\n \"clipPath\",\n \"clipPathUnits\",\n \"clipRule\",\n \"colorInterpolation\",\n \"colorInterpolationFilters\",\n \"colorProfile\",\n \"colorRendering\",\n \"contentScriptType\",\n \"contentStyleType\",\n \"cursor\",\n \"cx\",\n \"cy\",\n \"d\",\n \"decelerate\",\n \"descent\",\n \"diffuseConstant\",\n \"direction\",\n \"display\",\n \"divisor\",\n \"dominantBaseline\",\n \"dur\",\n \"dx\",\n \"dy\",\n \"edgeMode\",\n \"elevation\",\n \"enableBackground\",\n \"end\",\n \"exponent\",\n \"externalResourcesRequired\",\n \"fill\",\n \"fillOpacity\",\n \"fillRule\",\n \"filter\",\n \"filterRes\",\n \"filterUnits\",\n \"floodColor\",\n \"floodOpacity\",\n \"focusable\",\n \"fontFamily\",\n \"fontSize\",\n \"fontSizeAdjust\",\n \"fontStretch\",\n \"fontStyle\",\n \"fontVariant\",\n \"fontWeight\",\n \"format\",\n \"from\",\n \"fx\",\n \"fy\",\n \"g1\",\n \"g2\",\n \"glyphName\",\n \"glyphOrientationHorizontal\",\n \"glyphOrientationVertical\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"hanging\",\n \"horizAdvX\",\n \"horizOriginX\",\n \"href\",\n \"ideographic\",\n \"imageRendering\",\n \"in2\",\n \"in\",\n \"intercept\",\n \"k1\",\n \"k2\",\n \"k3\",\n \"k4\",\n \"k\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"kerning\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"letterSpacing\",\n \"lightingColor\",\n \"limitingConeAngle\",\n \"local\",\n \"markerEnd\",\n \"markerHeight\",\n \"markerMid\",\n \"markerStart\",\n \"markerUnits\",\n \"markerWidth\",\n \"mask\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"mathematical\",\n \"mode\",\n \"numOctaves\",\n \"offset\",\n \"opacity\",\n \"operator\",\n \"order\",\n \"orient\",\n \"orientation\",\n \"origin\",\n \"overflow\",\n \"overlinePosition\",\n \"overlineThickness\",\n \"paintOrder\",\n \"panose1\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointerEvents\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"r\",\n \"radius\",\n \"refX\",\n \"refY\",\n \"renderingIntent\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"restart\",\n \"result\",\n \"rotate\",\n \"rx\",\n \"ry\",\n \"seed\",\n \"shapeRendering\",\n \"slope\",\n \"spacing\",\n \"specularConstant\",\n \"specularExponent\",\n \"speed\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stemh\",\n \"stemv\",\n \"stitchTiles\",\n \"stopColor\",\n \"stopOpacity\",\n \"strikethroughPosition\",\n \"strikethroughThickness\",\n \"string\",\n \"stroke\",\n \"strokeDasharray\",\n \"strokeDashoffset\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"strokeMiterlimit\",\n \"strokeOpacity\",\n \"strokeWidth\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textAnchor\",\n \"textDecoration\",\n \"textLength\",\n \"textRendering\",\n \"to\",\n \"transform\",\n \"u1\",\n \"u2\",\n \"underlinePosition\",\n \"underlineThickness\",\n \"unicode\",\n \"unicodeBidi\",\n \"unicodeRange\",\n \"unitsPerEm\",\n \"vAlphabetic\",\n \"values\",\n \"vectorEffect\",\n \"version\",\n \"vertAdvY\",\n \"vertOriginX\",\n \"vertOriginY\",\n \"vHanging\",\n \"vIdeographic\",\n \"viewTarget\",\n \"visibility\",\n \"vMathematical\",\n \"widths\",\n \"wordSpacing\",\n \"writingMode\",\n \"x1\",\n \"x2\",\n \"x\",\n \"xChannelSelector\",\n \"xHeight\",\n \"xlinkActuate\",\n \"xlinkArcrole\",\n \"xlinkHref\",\n \"xlinkRole\",\n \"xlinkShow\",\n \"xlinkTitle\",\n \"xlinkType\",\n \"xmlBase\",\n \"xmlLang\",\n \"xmlns\",\n \"xmlnsXlink\",\n \"xmlSpace\",\n \"y1\",\n \"y2\",\n \"y\",\n \"yChannelSelector\",\n \"z\",\n \"zoomAndPan\",\n \"ref\",\n \"key\",\n \"angle\"\n ];\n var SVGElementPropKeySet = new Set(SVGElementPropKeys);\n function isSvgElementPropKey(key) {\n if (typeof key !== \"string\") {\n return false;\n }\n return SVGElementPropKeySet.has(key);\n }\n function isDataAttribute(key) {\n return typeof key === \"string\" && key.startsWith(\"data-\");\n }\n function svgPropertiesNoEvents(obj) {\n if (typeof obj !== \"object\" || obj === null) {\n return {};\n }\n var result = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (isSvgElementPropKey(key) || isDataAttribute(key)) {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n function svgPropertiesNoEventsFromUnknown(input2) {\n if (input2 == null) {\n return null;\n }\n if (/* @__PURE__ */ (0, import_react11.isValidElement)(input2) && typeof input2.props === \"object\" && input2.props !== null) {\n var p = input2.props;\n return svgPropertiesNoEvents(p);\n }\n if (typeof input2 === \"object\" && !Array.isArray(input2)) {\n return svgPropertiesNoEvents(input2);\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesAndEvents.js\n function svgPropertiesAndEvents(obj) {\n var result = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (isSvgElementPropKey(key) || isDataAttribute(key) || isEventKey(key)) {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n function svgPropertiesAndEventsFromUnknown(input2) {\n if (input2 == null) {\n return null;\n }\n if (/* @__PURE__ */ (0, import_react12.isValidElement)(input2)) {\n return svgPropertiesAndEvents(input2.props);\n }\n if (typeof input2 === \"object\" && !Array.isArray(input2)) {\n return svgPropertiesAndEvents(input2);\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Surface.js\n var _excluded = [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\", \"title\", \"desc\"];\n function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends.apply(null, arguments);\n }\n function _objectWithoutProperties(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Surface = /* @__PURE__ */ (0, import_react13.forwardRef)((props, ref) => {\n var {\n children,\n width,\n height,\n viewBox,\n className,\n style,\n title,\n desc\n } = props, others = _objectWithoutProperties(props, _excluded);\n var svgView = viewBox || {\n width,\n height,\n x: 0,\n y: 0\n };\n var layerClass = clsx(\"recharts-surface\", className);\n return /* @__PURE__ */ React62.createElement(\"svg\", _extends({}, svgPropertiesAndEvents(others), {\n className: layerClass,\n width,\n height,\n style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n ref\n }), /* @__PURE__ */ React62.createElement(\"title\", null, title), /* @__PURE__ */ React62.createElement(\"desc\", null, desc), children);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Layer.js\n var React63 = __toESM(require_react());\n var _excluded2 = [\"children\", \"className\"];\n function _extends2() {\n return _extends2 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends2.apply(null, arguments);\n }\n function _objectWithoutProperties2(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose2(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose2(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Layer = /* @__PURE__ */ React63.forwardRef((props, ref) => {\n var {\n children,\n className\n } = props, others = _objectWithoutProperties2(props, _excluded2);\n var layerClass = clsx(\"recharts-layer\", className);\n return /* @__PURE__ */ React63.createElement(\"g\", _extends2({\n className: layerClass\n }, svgPropertiesAndEvents(others), {\n ref\n }), children);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Legend.js\n var React69 = __toESM(require_react());\n var import_react22 = __toESM(require_react());\n var import_react_dom3 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/legendPortalContext.js\n var import_react14 = __toESM(require_react());\n var LegendPortalContext = /* @__PURE__ */ (0, import_react14.createContext)(null);\n var useLegendPortal = () => (0, import_react14.useContext)(LegendPortalContext);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultLegendContent.js\n var React65 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Symbols.js\n var React64 = __toESM(require_react());\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/constant.js\n function constant_default(x2) {\n return function constant() {\n return x2;\n };\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/math.js\n var cos = Math.cos;\n var sin = Math.sin;\n var sqrt = Math.sqrt;\n var pi = Math.PI;\n var halfPi = pi / 2;\n var tau = 2 * pi;\n\n // ../../../node_modules/.bun/d3-path@3.1.0/node_modules/d3-path/src/path.js\n var pi2 = Math.PI;\n var tau2 = 2 * pi2;\n var epsilon = 1e-6;\n var tauEpsilon = tau2 - epsilon;\n function append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n }\n function appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k2 = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k2) / k2 + strings[i];\n }\n };\n }\n var Path = class {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null;\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x2, y2) {\n this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x2, y2) {\n this._append`L${this._x1 = +x2},${this._y1 = +y2}`;\n }\n quadraticCurveTo(x1, y1, x2, y2) {\n this._append`Q${+x1},${+y1},${this._x1 = +x2},${this._y1 = +y2}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x3, y3) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x3},${this._y1 = +y3}`;\n }\n arcTo(x1, y1, x2, y2, r2) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r2 = +r2;\n if (r2 < 0) throw new Error(`negative radius: ${r2}`);\n let x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n } else if (!(l01_2 > epsilon)) ;\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r2) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n } else {\n let x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r2 * Math.tan((pi2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n this._append`A${r2},${r2},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x2, y2, r2, a0, a1, ccw) {\n x2 = +x2, y2 = +y2, r2 = +r2, ccw = !!ccw;\n if (r2 < 0) throw new Error(`negative radius: ${r2}`);\n let dx = r2 * Math.cos(a0), dy = r2 * Math.sin(a0), x0 = x2 + dx, y0 = y2 + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n } else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n if (!r2) return;\n if (da < 0) da = da % tau2 + tau2;\n if (da > tauEpsilon) {\n this._append`A${r2},${r2},0,1,${cw},${x2 - dx},${y2 - dy}A${r2},${r2},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n } else if (da > epsilon) {\n this._append`A${r2},${r2},0,${+(da >= pi2)},${cw},${this._x1 = x2 + r2 * Math.cos(a1)},${this._y1 = y2 + r2 * Math.sin(a1)}`;\n }\n }\n rect(x2, y2, w, h) {\n this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n };\n function path() {\n return new Path();\n }\n path.prototype = Path.prototype;\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/path.js\n function withPath(shape) {\n let digits = 3;\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n return () => new Path(digits);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/array.js\n var slice = Array.prototype.slice;\n function array_default(x2) {\n return typeof x2 === \"object\" && \"length\" in x2 ? x2 : Array.from(x2);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.js\n function Linear(context) {\n this._context = context;\n }\n Linear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n // falls through\n default:\n this._context.lineTo(x2, y2);\n break;\n }\n }\n };\n function linear_default(context) {\n return new Linear(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/point.js\n function x(p) {\n return p[0];\n }\n function y(p) {\n return p[1];\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/line.js\n function line_default(x2, y2) {\n var defined2 = constant_default(true), context = null, curve = linear_default, output = null, path2 = withPath(line);\n x2 = typeof x2 === \"function\" ? x2 : x2 === void 0 ? x : constant_default(x2);\n y2 = typeof y2 === \"function\" ? y2 : y2 === void 0 ? y : constant_default(y2);\n function line(data) {\n var i, n = (data = array_default(data)).length, d, defined0 = false, buffer;\n if (context == null) output = curve(buffer = path2());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined2(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x2(d, i, data), +y2(d, i, data));\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n line.x = function(_) {\n return arguments.length ? (x2 = typeof _ === \"function\" ? _ : constant_default(+_), line) : x2;\n };\n line.y = function(_) {\n return arguments.length ? (y2 = typeof _ === \"function\" ? _ : constant_default(+_), line) : y2;\n };\n line.defined = function(_) {\n return arguments.length ? (defined2 = typeof _ === \"function\" ? _ : constant_default(!!_), line) : defined2;\n };\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n return line;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/area.js\n function area_default(x0, y0, y1) {\n var x1 = null, defined2 = constant_default(true), context = null, curve = linear_default, output = null, path2 = withPath(area);\n x0 = typeof x0 === \"function\" ? x0 : x0 === void 0 ? x : constant_default(+x0);\n y0 = typeof y0 === \"function\" ? y0 : y0 === void 0 ? constant_default(0) : constant_default(+y0);\n y1 = typeof y1 === \"function\" ? y1 : y1 === void 0 ? y : constant_default(+y1);\n function area(data) {\n var i, j, k2, n = (data = array_default(data)).length, d, defined0 = false, buffer, x0z = new Array(n), y0z = new Array(n);\n if (context == null) output = curve(buffer = path2());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined2(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k2 = i - 1; k2 >= j; --k2) {\n output.point(x0z[k2], y0z[k2]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n function arealine() {\n return line_default().defined(defined2).curve(curve).context(context);\n }\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant_default(+_), x1 = null, area) : x0;\n };\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant_default(+_), area) : x0;\n };\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant_default(+_), area) : x1;\n };\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant_default(+_), y1 = null, area) : y0;\n };\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant_default(+_), area) : y0;\n };\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant_default(+_), area) : y1;\n };\n area.lineX0 = area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n area.defined = function(_) {\n return arguments.length ? (defined2 = typeof _ === \"function\" ? _ : constant_default(!!_), area) : defined2;\n };\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n return area;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.js\n var Bump = class {\n constructor(context, x2) {\n this._context = context;\n this._x = x2;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x2, y2);\n else this._context.moveTo(x2, y2);\n break;\n }\n case 1:\n this._point = 2;\n // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x2) / 2, this._y0, this._x0, y2, x2, y2);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y2) / 2, x2, this._y0, x2, y2);\n break;\n }\n }\n this._x0 = x2, this._y0 = y2;\n }\n };\n function bumpX(context) {\n return new Bump(context, true);\n }\n function bumpY(context) {\n return new Bump(context, false);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/circle.js\n var circle_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / pi);\n context.moveTo(r2, 0);\n context.arc(0, 0, r2, 0, tau);\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/cross.js\n var cross_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / 5) / 2;\n context.moveTo(-3 * r2, -r2);\n context.lineTo(-r2, -r2);\n context.lineTo(-r2, -3 * r2);\n context.lineTo(r2, -3 * r2);\n context.lineTo(r2, -r2);\n context.lineTo(3 * r2, -r2);\n context.lineTo(3 * r2, r2);\n context.lineTo(r2, r2);\n context.lineTo(r2, 3 * r2);\n context.lineTo(-r2, 3 * r2);\n context.lineTo(-r2, r2);\n context.lineTo(-3 * r2, r2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/diamond.js\n var tan30 = sqrt(1 / 3);\n var tan30_2 = tan30 * 2;\n var diamond_default = {\n draw(context, size4) {\n const y2 = sqrt(size4 / tan30_2);\n const x2 = y2 * tan30;\n context.moveTo(0, -y2);\n context.lineTo(x2, 0);\n context.lineTo(0, y2);\n context.lineTo(-x2, 0);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/square.js\n var square_default = {\n draw(context, size4) {\n const w = sqrt(size4);\n const x2 = -w / 2;\n context.rect(x2, x2, w, w);\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/star.js\n var ka = 0.8908130915292852;\n var kr = sin(pi / 10) / sin(7 * pi / 10);\n var kx = sin(tau / 10) * kr;\n var ky = -cos(tau / 10) * kr;\n var star_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 * ka);\n const x2 = kx * r2;\n const y2 = ky * r2;\n context.moveTo(0, -r2);\n context.lineTo(x2, y2);\n for (let i = 1; i < 5; ++i) {\n const a2 = tau * i / 5;\n const c2 = cos(a2);\n const s2 = sin(a2);\n context.lineTo(s2 * r2, -c2 * r2);\n context.lineTo(c2 * x2 - s2 * y2, s2 * x2 + c2 * y2);\n }\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/triangle.js\n var sqrt3 = sqrt(3);\n var triangle_default = {\n draw(context, size4) {\n const y2 = -sqrt(size4 / (sqrt3 * 3));\n context.moveTo(0, y2 * 2);\n context.lineTo(-sqrt3 * y2, -y2);\n context.lineTo(sqrt3 * y2, -y2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/wye.js\n var c = -0.5;\n var s = sqrt(3) / 2;\n var k = 1 / sqrt(12);\n var a = (k / 2 + 1) * 3;\n var wye_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / a);\n const x0 = r2 / 2, y0 = r2 * k;\n const x1 = x0, y1 = r2 * k + r2;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol.js\n function Symbol2(type, size4) {\n let context = null, path2 = withPath(symbol);\n type = typeof type === \"function\" ? type : constant_default(type || circle_default);\n size4 = typeof size4 === \"function\" ? size4 : constant_default(size4 === void 0 ? 64 : +size4);\n function symbol() {\n let buffer;\n if (!context) context = buffer = path2();\n type.apply(this, arguments).draw(context, +size4.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant_default(_), symbol) : type;\n };\n symbol.size = function(_) {\n return arguments.length ? (size4 = typeof _ === \"function\" ? _ : constant_default(+_), symbol) : size4;\n };\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n return symbol;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/noop.js\n function noop_default() {\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.js\n function point(that, x2, y2) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x2) / 6,\n (that._y0 + 4 * that._y1 + y2) / 6\n );\n }\n function Basis(context) {\n this._context = context;\n }\n Basis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3:\n point(this, this._x1, this._y1);\n // falls through\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);\n // falls through\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basis_default(context) {\n return new Basis(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.js\n function BasisClosed(context) {\n this._context = context;\n }\n BasisClosed.prototype = {\n areaStart: noop_default,\n areaEnd: noop_default,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x2 = x2, this._y2 = y2;\n break;\n case 1:\n this._point = 2;\n this._x3 = x2, this._y3 = y2;\n break;\n case 2:\n this._point = 3;\n this._x4 = x2, this._y4 = y2;\n this._context.moveTo((this._x0 + 4 * this._x1 + x2) / 6, (this._y0 + 4 * this._y1 + y2) / 6);\n break;\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basisClosed_default(context) {\n return new BasisClosed(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.js\n function BasisOpen(context) {\n this._context = context;\n }\n BasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n var x0 = (this._x0 + 4 * this._x1 + x2) / 6, y0 = (this._y0 + 4 * this._y1 + y2) / 6;\n this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);\n break;\n case 3:\n this._point = 4;\n // falls through\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basisOpen_default(context) {\n return new BasisOpen(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.js\n function LinearClosed(context) {\n this._context = context;\n }\n LinearClosed.prototype = {\n areaStart: noop_default,\n areaEnd: noop_default,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n if (this._point) this._context.lineTo(x2, y2);\n else this._point = 1, this._context.moveTo(x2, y2);\n }\n };\n function linearClosed_default(context) {\n return new LinearClosed(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.js\n function sign(x2) {\n return x2 < 0 ? -1 : 1;\n }\n function slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n }\n function slope2(that, t2) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t2) / 2 : t2;\n }\n function point2(that, t02, t12) {\n var x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t02, x1 - dx, y1 - dx * t12, x1, y1);\n }\n function MonotoneX(context) {\n this._context = context;\n }\n MonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n case 3:\n point2(this, this._t0, slope2(this, this._t0));\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n var t12 = NaN;\n x2 = +x2, y2 = +y2;\n if (x2 === this._x1 && y2 === this._y1) return;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n point2(this, slope2(this, t12 = slope3(this, x2, y2)), t12);\n break;\n default:\n point2(this, this._t0, t12 = slope3(this, x2, y2));\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n this._t0 = t12;\n }\n };\n function MonotoneY(context) {\n this._context = new ReflectContext(context);\n }\n (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x2, y2) {\n MonotoneX.prototype.point.call(this, y2, x2);\n };\n function ReflectContext(context) {\n this._context = context;\n }\n ReflectContext.prototype = {\n moveTo: function(x2, y2) {\n this._context.moveTo(y2, x2);\n },\n closePath: function() {\n this._context.closePath();\n },\n lineTo: function(x2, y2) {\n this._context.lineTo(y2, x2);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x3, y3) {\n this._context.bezierCurveTo(y1, x1, y2, x2, y3, x3);\n }\n };\n function monotoneX(context) {\n return new MonotoneX(context);\n }\n function monotoneY(context) {\n return new MonotoneY(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.js\n function Natural(context) {\n this._context = context;\n }\n Natural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x2 = this._x, y2 = this._y, n = x2.length;\n if (n) {\n this._line ? this._context.lineTo(x2[0], y2[0]) : this._context.moveTo(x2[0], y2[0]);\n if (n === 2) {\n this._context.lineTo(x2[1], y2[1]);\n } else {\n var px = controlPoints(x2), py = controlPoints(y2);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x2[i1], y2[i1]);\n }\n }\n }\n if (this._line || this._line !== 0 && n === 1) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x2, y2) {\n this._x.push(+x2);\n this._y.push(+y2);\n }\n };\n function controlPoints(x2) {\n var i, n = x2.length - 1, m, a2 = new Array(n), b = new Array(n), r2 = new Array(n);\n a2[0] = 0, b[0] = 2, r2[0] = x2[0] + 2 * x2[1];\n for (i = 1; i < n - 1; ++i) a2[i] = 1, b[i] = 4, r2[i] = 4 * x2[i] + 2 * x2[i + 1];\n a2[n - 1] = 2, b[n - 1] = 7, r2[n - 1] = 8 * x2[n - 1] + x2[n];\n for (i = 1; i < n; ++i) m = a2[i] / b[i - 1], b[i] -= m, r2[i] -= m * r2[i - 1];\n a2[n - 1] = r2[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a2[i] = (r2[i] - a2[i + 1]) / b[i];\n b[n - 1] = (x2[n] + a2[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x2[i + 1] - a2[i + 1];\n return [a2, b];\n }\n function natural_default(context) {\n return new Natural(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.js\n function Step(context, t2) {\n this._context = context;\n this._t = t2;\n }\n Step.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y2);\n this._context.lineTo(x2, y2);\n } else {\n var x1 = this._x * (1 - this._t) + x2 * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y2);\n }\n break;\n }\n }\n this._x = x2, this._y = y2;\n }\n };\n function step_default(context) {\n return new Step(context, 0.5);\n }\n function stepBefore(context) {\n return new Step(context, 0);\n }\n function stepAfter(context) {\n return new Step(context, 1);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/none.js\n function none_default(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/order/none.js\n function none_default2(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/stack.js\n function stackValue(d, key) {\n return d[key];\n }\n function stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n }\n function stack_default() {\n var keys = constant_default([]), order = none_default2, offset4 = none_default, value = stackValue;\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries), i, n = sz.length, j = -1, oz;\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n for (i = 0, oz = array_default(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n offset4(sz, oz);\n return sz;\n }\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant_default(Array.from(_)), stack) : keys;\n };\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant_default(+_), stack) : value;\n };\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? none_default2 : typeof _ === \"function\" ? _ : constant_default(Array.from(_)), stack) : order;\n };\n stack.offset = function(_) {\n return arguments.length ? (offset4 = _ == null ? none_default : _, stack) : offset4;\n };\n return stack;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/expand.js\n function expand_default(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y2; j < m; ++j) {\n for (y2 = i = 0; i < n; ++i) y2 += series[i][j][1] || 0;\n if (y2) for (i = 0; i < n; ++i) series[i][j][1] /= y2;\n }\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/silhouette.js\n function silhouette_default(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y2 = 0; i < n; ++i) y2 += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y2 / 2;\n }\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/wiggle.js\n function wiggle_default(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y2 = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]], sij0 = si[j][1] || 0, sij1 = si[j - 1][1] || 0, s3 = (sij0 - sij1) / 2;\n for (var k2 = 0; k2 < i; ++k2) {\n var sk = series[order[k2]], skj0 = sk[j][1] || 0, skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y2;\n if (s1) y2 -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y2;\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DataUtils.js\n var import_get = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/round.js\n var defaultRoundPrecision = 4;\n function round2(num) {\n var roundPrecision = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultRoundPrecision;\n var factor = 10 ** roundPrecision;\n var rounded = Math.round(num * factor) / factor;\n if (Object.is(rounded, -0)) {\n return 0;\n }\n return rounded;\n }\n function roundTemplateLiteral(strings) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n return strings.reduce((result, string, i) => {\n var value = values[i - 1];\n if (typeof value === \"string\") {\n return result + value + string;\n }\n if (value !== void 0) {\n return result + round2(value) + string;\n }\n return result + string;\n }, \"\");\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DataUtils.js\n var mathSign = (value) => {\n if (value === 0) {\n return 0;\n }\n if (value > 0) {\n return 1;\n }\n return -1;\n };\n var isNan = (value) => {\n return typeof value == \"number\" && value != +value;\n };\n var isPercent2 = (value) => typeof value === \"string\" && value.indexOf(\"%\") === value.length - 1;\n var isNumber3 = (value) => (typeof value === \"number\" || value instanceof Number) && !isNan(value);\n var isNumOrStr = (value) => isNumber3(value) || typeof value === \"string\";\n var idCounter2 = 0;\n var uniqueId = (prefix2) => {\n var id = ++idCounter2;\n return \"\".concat(prefix2 || \"\").concat(id);\n };\n var getPercentValue = function getPercentValue2(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!isNumber3(percent) && typeof percent !== \"string\") {\n return defaultValue;\n }\n var value;\n if (isPercent2(percent)) {\n if (totalValue == null) {\n return defaultValue;\n }\n var index2 = percent.indexOf(\"%\");\n value = totalValue * parseFloat(percent.slice(0, index2)) / 100;\n } else {\n value = +percent;\n }\n if (isNan(value)) {\n value = defaultValue;\n }\n if (validate && totalValue != null && value > totalValue) {\n value = totalValue;\n }\n return value;\n };\n var hasDuplicate = (ary) => {\n if (!Array.isArray(ary)) {\n return false;\n }\n var len = ary.length;\n var cache = {};\n for (var i = 0; i < len; i++) {\n if (!cache[String(ary[i])]) {\n cache[String(ary[i])] = true;\n } else {\n return true;\n }\n }\n return false;\n };\n function interpolate(start, end, t2) {\n if (isNumber3(start) && isNumber3(end)) {\n return round2(start + t2 * (end - start));\n }\n return end;\n }\n function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return void 0;\n }\n return ary.find((entry) => entry && (typeof specifiedKey === \"function\" ? specifiedKey(entry) : (0, import_get.default)(entry, specifiedKey)) === specifiedValue);\n }\n var getLinearRegression = (data) => {\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n for (var i = 0; i < len; i++) {\n var _data$i, _data$i2;\n xcurrent = ((_data$i = data[i]) === null || _data$i === void 0 ? void 0 : _data$i.cx) || 0;\n ycurrent = ((_data$i2 = data[i]) === null || _data$i2 === void 0 ? void 0 : _data$i2.cy) || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n var a2 = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin,\n xmax,\n a: a2,\n b: (ysum - a2 * xsum) / len\n };\n };\n var isNullish = (value) => {\n return value === null || typeof value === \"undefined\";\n };\n var upperFirst = (value) => {\n if (isNullish(value)) {\n return value;\n }\n return \"\".concat(value.charAt(0).toUpperCase()).concat(value.slice(1));\n };\n function isNotNil(value) {\n return value != null;\n }\n function noop4() {\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Symbols.js\n var _excluded3 = [\"type\", \"size\", \"sizeType\"];\n function _extends3() {\n return _extends3 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends3.apply(null, arguments);\n }\n function ownKeys(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys(Object(t2), true).forEach(function(r3) {\n _defineProperty(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty(e, r2, t2) {\n return (r2 = _toPropertyKey(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey(t2) {\n var i = _toPrimitive(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties3(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose3(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose3(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var symbolFactories = {\n symbolCircle: circle_default,\n symbolCross: cross_default,\n symbolDiamond: diamond_default,\n symbolSquare: square_default,\n symbolStar: star_default,\n symbolTriangle: triangle_default,\n symbolWye: wye_default\n };\n var RADIAN = Math.PI / 180;\n var getSymbolFactory = (type) => {\n var name = \"symbol\".concat(upperFirst(type));\n return symbolFactories[name] || circle_default;\n };\n var calculateAreaSize = (size4, sizeType, type) => {\n if (sizeType === \"area\") {\n return size4;\n }\n switch (type) {\n case \"cross\":\n return 5 * size4 * size4 / 9;\n case \"diamond\":\n return 0.5 * size4 * size4 / Math.sqrt(3);\n case \"square\":\n return size4 * size4;\n case \"star\": {\n var angle = 18 * RADIAN;\n return 1.25 * size4 * size4 * (Math.tan(angle) - Math.tan(angle * 2) * Math.tan(angle) ** 2);\n }\n case \"triangle\":\n return Math.sqrt(3) * size4 * size4 / 4;\n case \"wye\":\n return (21 - 10 * Math.sqrt(3)) * size4 * size4 / 8;\n default:\n return Math.PI * size4 * size4 / 4;\n }\n };\n var registerSymbol = (key, factory) => {\n symbolFactories[\"symbol\".concat(upperFirst(key))] = factory;\n };\n var Symbols = (_ref2) => {\n var {\n type = \"circle\",\n size: size4 = 64,\n sizeType = \"area\"\n } = _ref2, rest = _objectWithoutProperties3(_ref2, _excluded3);\n var props = _objectSpread(_objectSpread({}, rest), {}, {\n type,\n size: size4,\n sizeType\n });\n var realType = \"circle\";\n if (typeof type === \"string\") {\n realType = type;\n }\n var getPath3 = () => {\n var symbolFactory = getSymbolFactory(realType);\n var symbol = Symbol2().type(symbolFactory).size(calculateAreaSize(size4, sizeType, realType));\n var s2 = symbol();\n if (s2 === null) {\n return void 0;\n }\n return s2;\n };\n var {\n className,\n cx: cx2,\n cy\n } = props;\n var filteredProps = svgPropertiesAndEvents(props);\n if (isNumber3(cx2) && isNumber3(cy) && isNumber3(size4)) {\n return /* @__PURE__ */ React64.createElement(\"path\", _extends3({}, filteredProps, {\n className: clsx(\"recharts-symbols\", className),\n transform: \"translate(\".concat(cx2, \", \").concat(cy, \")\"),\n d: getPath3()\n }));\n }\n return null;\n };\n Symbols.registerSymbol = registerSymbol;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/types.js\n var import_react15 = __toESM(require_react());\n var isPolarCoordinate = (c2) => {\n return \"radius\" in c2 && \"startAngle\" in c2 && \"endAngle\" in c2;\n };\n var adaptEventHandlers = (props, newHandler) => {\n if (!props || typeof props === \"function\" || typeof props === \"boolean\") {\n return null;\n }\n var inputProps = props;\n if (/* @__PURE__ */ (0, import_react15.isValidElement)(props)) {\n inputProps = props.props;\n }\n if (typeof inputProps !== \"object\" && typeof inputProps !== \"function\") {\n return null;\n }\n var out = {};\n Object.keys(inputProps).forEach((key) => {\n if (isEventKey(key) && typeof inputProps[key] === \"function\") {\n out[key] = newHandler || ((e) => inputProps[key](inputProps, e));\n }\n });\n return out;\n };\n var getEventHandlerOfChild = (originalHandler, data, index2) => (e) => {\n originalHandler(data, index2, e);\n return null;\n };\n var adaptEventsOfChild = (props, data, index2) => {\n if (props === null || typeof props !== \"object\" && typeof props !== \"function\") {\n return null;\n }\n var out = null;\n Object.keys(props).forEach((key) => {\n var item = props[key];\n if (isEventKey(key) && typeof item === \"function\") {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index2);\n }\n });\n return out;\n };\n var isNonEmptyArray = (arr) => {\n return Array.isArray(arr) && arr.length > 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/resolveDefaultProps.js\n function ownKeys2(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread2(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys2(Object(t2), true).forEach(function(r3) {\n _defineProperty2(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys2(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty2(e, r2, t2) {\n return (r2 = _toPropertyKey2(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey2(t2) {\n var i = _toPrimitive2(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive2(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function resolveDefaultProps(realProps, defaultProps2) {\n var resolvedProps = _objectSpread2({}, realProps);\n var dp = defaultProps2;\n var keys = Object.keys(defaultProps2);\n var withDefaults = keys.reduce((acc, key) => {\n if (acc[key] === void 0 && dp[key] !== void 0) {\n acc[key] = dp[key];\n }\n return acc;\n }, resolvedProps);\n return withDefaults;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultLegendContent.js\n function _extends4() {\n return _extends4 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends4.apply(null, arguments);\n }\n function ownKeys3(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread3(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys3(Object(t2), true).forEach(function(r3) {\n _defineProperty3(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys3(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty3(e, r2, t2) {\n return (r2 = _toPropertyKey3(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey3(t2) {\n var i = _toPrimitive3(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive3(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var SIZE = 32;\n var defaultLegendContentDefaultProps = {\n align: \"center\",\n iconSize: 14,\n inactiveColor: \"#ccc\",\n layout: \"horizontal\",\n verticalAlign: \"middle\",\n labelStyle: {}\n };\n function getStrokeDasharray(input2) {\n if (typeof input2 === \"object\" && input2 !== null && \"strokeDasharray\" in input2) {\n return String(input2.strokeDasharray);\n }\n return void 0;\n }\n function Icon3(_ref2) {\n var {\n data,\n iconType,\n inactiveColor\n } = _ref2;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color2 = data.inactive ? inactiveColor : data.color;\n var preferredIcon = iconType !== null && iconType !== void 0 ? iconType : data.type;\n if (preferredIcon === \"none\") {\n return null;\n }\n if (preferredIcon === \"plainline\") {\n return /* @__PURE__ */ React65.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color2,\n strokeDasharray: getStrokeDasharray(data.payload),\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n if (preferredIcon === \"line\") {\n return /* @__PURE__ */ React65.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color2,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n if (preferredIcon === \"rect\") {\n return /* @__PURE__ */ React65.createElement(\"path\", {\n stroke: \"none\",\n fill: color2,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n if (/* @__PURE__ */ React65.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread3({}, data);\n delete iconProps.legendIcon;\n return /* @__PURE__ */ React65.cloneElement(data.legendIcon, iconProps);\n }\n return /* @__PURE__ */ React65.createElement(Symbols, {\n fill: color2,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: preferredIcon\n });\n }\n function Items(props) {\n var {\n payload,\n iconSize,\n layout,\n formatter,\n inactiveColor,\n iconType,\n labelStyle\n } = props;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === \"horizontal\" ? \"inline-block\" : \"block\",\n marginRight: 10\n };\n var svgStyle = {\n display: \"inline-block\",\n verticalAlign: \"middle\",\n marginRight: 4\n };\n return payload.map((entry, i) => {\n var finalFormatter = entry.formatter || formatter;\n var className = clsx({\n \"recharts-legend-item\": true,\n [\"legend-item-\".concat(i)]: true,\n inactive: entry.inactive\n });\n if (entry.type === \"none\") {\n return null;\n }\n var finalLabelStyle = typeof labelStyle === \"object\" ? _objectSpread3({}, labelStyle) : {};\n finalLabelStyle.color = entry.inactive ? inactiveColor : finalLabelStyle.color || entry.color;\n var finalValue = finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value;\n return /* @__PURE__ */ React65.createElement(\"li\", _extends4({\n className,\n style: itemStyle,\n key: \"legend-item-\".concat(i)\n }, adaptEventsOfChild(props, entry, i)), /* @__PURE__ */ React65.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox,\n style: svgStyle,\n \"aria-label\": \"\".concat(finalValue, \" legend icon\")\n }, /* @__PURE__ */ React65.createElement(Icon3, {\n data: entry,\n iconType,\n inactiveColor\n })), /* @__PURE__ */ React65.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: finalLabelStyle\n }, finalValue));\n });\n }\n var DefaultLegendContent = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, defaultLegendContentDefaultProps);\n var {\n payload,\n layout,\n align\n } = props;\n if (!payload || !payload.length) {\n return null;\n }\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === \"horizontal\" ? align : \"left\"\n };\n return /* @__PURE__ */ React65.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, /* @__PURE__ */ React65.createElement(Items, _extends4({}, props, {\n payload\n })));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/payload/getUniqPayload.js\n var import_uniqBy = __toESM(require_uniqBy3());\n function getUniqPayload(payload, option, defaultUniqBy3) {\n if (option === true) {\n return (0, import_uniqBy.default)(payload, defaultUniqBy3);\n }\n if (typeof option === \"function\") {\n return (0, import_uniqBy.default)(payload, option);\n }\n return payload;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/hooks.js\n var import_with_selector = __toESM(require_with_selector());\n var import_react17 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsReduxContext.js\n var import_react16 = __toESM(require_react());\n var RechartsReduxContext = /* @__PURE__ */ (0, import_react16.createContext)(null);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/hooks.js\n var noopDispatch = (a2) => a2;\n var useAppDispatch = () => {\n var context = (0, import_react17.useContext)(RechartsReduxContext);\n if (context) {\n return context.store.dispatch;\n }\n return noopDispatch;\n };\n var noop5 = () => {\n };\n var addNestedSubNoop = () => noop5;\n var refEquality = (a2, b) => a2 === b;\n function useAppSelector(selector) {\n var context = (0, import_react17.useContext)(RechartsReduxContext);\n var outOfContextSelector = (0, import_react17.useMemo)(() => {\n if (!context) {\n return noop5;\n }\n return (state2) => {\n if (state2 == null) {\n return void 0;\n }\n return selector(state2);\n };\n }, [context, selector]);\n return (0, import_with_selector.useSyncExternalStoreWithSelector)(context ? context.subscription.addNestedSub : addNestedSubNoop, context ? context.store.getState : noop5, context ? context.store.getState : noop5, outOfContextSelector, refEquality);\n }\n\n // ../../../node_modules/.bun/reselect@5.1.1/node_modules/reselect/dist/reselect.mjs\n function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {\n if (typeof func !== \"function\") {\n throw new TypeError(errorMessage);\n }\n }\n function assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {\n if (typeof object !== \"object\") {\n throw new TypeError(errorMessage);\n }\n }\n function assertIsArrayOfFunctions(array2, errorMessage = `expected all items to be functions, instead received the following types: `) {\n if (!array2.every((item) => typeof item === \"function\")) {\n const itemTypes = array2.map(\n (item) => typeof item === \"function\" ? `function ${item.name || \"unnamed\"}()` : typeof item\n ).join(\", \");\n throw new TypeError(`${errorMessage}[${itemTypes}]`);\n }\n }\n var ensureIsArray = (item) => {\n return Array.isArray(item) ? item : [item];\n };\n function getDependencies(createSelectorArgs) {\n const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;\n assertIsArrayOfFunctions(\n dependencies,\n `createSelector expects all input-selectors to be functions, but received the following types: `\n );\n return dependencies;\n }\n function collectInputSelectorResults(dependencies, inputSelectorArgs) {\n const inputSelectorResults = [];\n const { length } = dependencies;\n for (let i = 0; i < length; i++) {\n inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));\n }\n return inputSelectorResults;\n }\n var proto = Object.getPrototypeOf({});\n var StrongRef = class {\n constructor(value) {\n this.value = value;\n }\n deref() {\n return this.value;\n }\n };\n var Ref = typeof WeakRef !== \"undefined\" ? WeakRef : StrongRef;\n var UNTERMINATED = 0;\n var TERMINATED = 1;\n function createCacheNode() {\n return {\n s: UNTERMINATED,\n v: void 0,\n o: null,\n p: null\n };\n }\n function weakMapMemoize(func, options2 = {}) {\n let fnNode = createCacheNode();\n const { resultEqualityCheck } = options2;\n let lastResult2;\n let resultsCount = 0;\n function memoized() {\n let cacheNode = fnNode;\n const { length } = arguments;\n for (let i = 0, l = length; i < l; i++) {\n const arg = arguments[i];\n if (typeof arg === \"function\" || typeof arg === \"object\" && arg !== null) {\n let objectCache = cacheNode.o;\n if (objectCache === null) {\n cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();\n }\n const objectNode = objectCache.get(arg);\n if (objectNode === void 0) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n let primitiveCache = cacheNode.p;\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();\n }\n const primitiveNode = primitiveCache.get(arg);\n if (primitiveNode === void 0) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n const terminatedNode = cacheNode;\n let result;\n if (cacheNode.s === TERMINATED) {\n result = cacheNode.v;\n } else {\n result = func.apply(null, arguments);\n resultsCount++;\n if (resultEqualityCheck) {\n const lastResultValue = lastResult2?.deref?.() ?? lastResult2;\n if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {\n result = lastResultValue;\n resultsCount !== 0 && resultsCount--;\n }\n const needsWeakRef = typeof result === \"object\" && result !== null || typeof result === \"function\";\n lastResult2 = needsWeakRef ? new Ref(result) : result;\n }\n }\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n }\n memoized.clearCache = () => {\n fnNode = createCacheNode();\n memoized.resetResultsCount();\n };\n memoized.resultsCount = () => resultsCount;\n memoized.resetResultsCount = () => {\n resultsCount = 0;\n };\n return memoized;\n }\n function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {\n const createSelectorCreatorOptions = typeof memoizeOrOptions === \"function\" ? {\n memoize: memoizeOrOptions,\n memoizeOptions: memoizeOptionsFromArgs\n } : memoizeOrOptions;\n const createSelector2 = (...createSelectorArgs) => {\n let recomputations = 0;\n let dependencyRecomputations = 0;\n let lastResult2;\n let directlyPassedOptions = {};\n let resultFunc = createSelectorArgs.pop();\n if (typeof resultFunc === \"object\") {\n directlyPassedOptions = resultFunc;\n resultFunc = createSelectorArgs.pop();\n }\n assertIsFunction(\n resultFunc,\n `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`\n );\n const combinedOptions = {\n ...createSelectorCreatorOptions,\n ...directlyPassedOptions\n };\n const {\n memoize,\n memoizeOptions = [],\n argsMemoize = weakMapMemoize,\n argsMemoizeOptions = [],\n devModeChecks = {}\n } = combinedOptions;\n const finalMemoizeOptions = ensureIsArray(memoizeOptions);\n const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);\n const dependencies = getDependencies(createSelectorArgs);\n const memoizedResultFunc = memoize(function recomputationWrapper() {\n recomputations++;\n return resultFunc.apply(\n null,\n arguments\n );\n }, ...finalMemoizeOptions);\n let firstRun = true;\n const selector = argsMemoize(function dependenciesChecker() {\n dependencyRecomputations++;\n const inputSelectorResults = collectInputSelectorResults(\n dependencies,\n arguments\n );\n lastResult2 = memoizedResultFunc.apply(null, inputSelectorResults);\n if (false) {\n const { identityFunctionCheck, inputStabilityCheck } = getDevModeChecksExecutionInfo(firstRun, devModeChecks);\n if (identityFunctionCheck.shouldRun) {\n identityFunctionCheck.run(\n resultFunc,\n inputSelectorResults,\n lastResult2\n );\n }\n if (inputStabilityCheck.shouldRun) {\n const inputSelectorResultsCopy = collectInputSelectorResults(\n dependencies,\n arguments\n );\n inputStabilityCheck.run(\n { inputSelectorResults, inputSelectorResultsCopy },\n { memoize, memoizeOptions: finalMemoizeOptions },\n arguments\n );\n }\n if (firstRun)\n firstRun = false;\n }\n return lastResult2;\n }, ...finalArgsMemoizeOptions);\n return Object.assign(selector, {\n resultFunc,\n memoizedResultFunc,\n dependencies,\n dependencyRecomputations: () => dependencyRecomputations,\n resetDependencyRecomputations: () => {\n dependencyRecomputations = 0;\n },\n lastResult: () => lastResult2,\n recomputations: () => recomputations,\n resetRecomputations: () => {\n recomputations = 0;\n },\n memoize,\n argsMemoize\n });\n };\n Object.assign(createSelector2, {\n withTypes: () => createSelector2\n });\n return createSelector2;\n }\n var createSelector = /* @__PURE__ */ createSelectorCreator(weakMapMemoize);\n var createStructuredSelector = Object.assign(\n (inputSelectorsObject, selectorCreator = createSelector) => {\n assertIsObject(\n inputSelectorsObject,\n `createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`\n );\n const inputSelectorKeys = Object.keys(inputSelectorsObject);\n const dependencies = inputSelectorKeys.map(\n (key) => inputSelectorsObject[key]\n );\n const structuredSelector = selectorCreator(\n dependencies,\n (...inputSelectorResults) => {\n return inputSelectorResults.reduce((composition, value, index2) => {\n composition[inputSelectorKeys[index2]] = value;\n return composition;\n }, {});\n }\n );\n return structuredSelector;\n },\n { withTypes: () => createStructuredSelector }\n );\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/legendSelectors.js\n var import_sortBy = __toESM(require_sortBy2());\n var selectLegendSettings = (state2) => state2.legend.settings;\n var selectLegendSize = (state2) => state2.legend.size;\n var selectAllLegendPayload2DArray = (state2) => state2.legend.payload;\n var selectLegendPayload = createSelector([selectAllLegendPayload2DArray, selectLegendSettings], (payloads, _ref2) => {\n var {\n itemSorter\n } = _ref2;\n var flat = payloads.flat(1);\n return itemSorter ? (0, import_sortBy.default)(flat, itemSorter) : flat;\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/legendPayloadContext.js\n function useLegendPayload() {\n return useAppSelector(selectLegendPayload);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useElementOffset.js\n var import_react18 = __toESM(require_react());\n var EPS = 1;\n function useElementOffset() {\n var extraDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n var [lastBoundingBox, setLastBoundingBox] = (0, import_react18.useState)({\n height: 0,\n left: 0,\n top: 0,\n width: 0\n });\n var updateBoundingBox = (0, import_react18.useCallback)(\n (node) => {\n if (node != null) {\n var rect = node.getBoundingClientRect();\n var box = {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n width: rect.width\n };\n if (Math.abs(box.height - lastBoundingBox.height) > EPS || Math.abs(box.left - lastBoundingBox.left) > EPS || Math.abs(box.top - lastBoundingBox.top) > EPS || Math.abs(box.width - lastBoundingBox.width) > EPS) {\n setLastBoundingBox({\n height: box.height,\n left: box.left,\n top: box.top,\n width: box.width\n });\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [lastBoundingBox.width, lastBoundingBox.height, lastBoundingBox.top, lastBoundingBox.left, ...extraDependencies]\n );\n return [lastBoundingBox, updateBoundingBox];\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartLayoutContext.js\n var import_react21 = __toESM(require_react());\n\n // ../../../node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.mjs\n function formatProdErrorMessage(code) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n }\n var $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\n var symbol_observable_default = $$observable;\n var randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\n var ActionTypes = {\n INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n };\n var actionTypes_default = ActionTypes;\n function isPlainObject2(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n let proto2 = obj;\n while (Object.getPrototypeOf(proto2) !== null) {\n proto2 = Object.getPrototypeOf(proto2);\n }\n return Object.getPrototypeOf(obj) === proto2 || Object.getPrototypeOf(obj) === null;\n }\n function createStore(reducer, preloadedState, enhancer) {\n if (typeof reducer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n throw new Error(true ? formatProdErrorMessage(0) : \"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\");\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n enhancer = preloadedState;\n preloadedState = void 0;\n }\n if (typeof enhancer !== \"undefined\") {\n if (typeof enhancer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, preloadedState);\n }\n let currentReducer = reducer;\n let currentState = preloadedState;\n let currentListeners = /* @__PURE__ */ new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = /* @__PURE__ */ new Map();\n currentListeners.forEach((listener2, key) => {\n nextListeners.set(key, listener2);\n });\n }\n }\n function getState8() {\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(3) : \"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");\n }\n return currentState;\n }\n function subscribe2(listener2) {\n if (typeof listener2 !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener2)}'`);\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(5) : \"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener2);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(6) : \"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n function dispatch(action) {\n if (!isPlainObject2(action)) {\n throw new Error(true ? formatProdErrorMessage(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n }\n if (typeof action.type === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== \"string\") {\n throw new Error(true ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach((listener2) => {\n listener2();\n });\n return action;\n }\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = nextReducer;\n dispatch({\n type: actionTypes_default.REPLACE\n });\n }\n function observable() {\n const outerSubscribe = subscribe2;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer) {\n if (typeof observer !== \"object\" || observer === null) {\n throw new Error(true ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = observer;\n if (observerAsObserver.next) {\n observerAsObserver.next(getState8());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [symbol_observable_default]() {\n return this;\n }\n };\n }\n dispatch({\n type: actionTypes_default.INIT\n });\n const store = {\n dispatch,\n subscribe: subscribe2,\n getState: getState8,\n replaceReducer,\n [symbol_observable_default]: observable\n };\n return store;\n }\n function assertReducerShape(reducers2) {\n Object.keys(reducers2).forEach((key) => {\n const reducer = reducers2[key];\n const initialState15 = reducer(void 0, {\n type: actionTypes_default.INIT\n });\n if (typeof initialState15 === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n }\n if (typeof reducer(void 0, {\n type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n }) === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n }\n });\n }\n function combineReducers(reducers2) {\n const reducerKeys = Object.keys(reducers2);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (false) {\n if (typeof reducers2[key] === \"undefined\") {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers2[key] === \"function\") {\n finalReducers[key] = reducers2[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n let unexpectedKeyCache;\n if (false) {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state2 = {}, action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (false) {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state2, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state2[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === \"undefined\") {\n const actionType = action && action.type;\n throw new Error(true ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state2).length;\n return hasChanged ? nextState : state2;\n };\n }\n function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a2, b) => (...args) => a2(b(...args)));\n }\n function applyMiddleware(...middlewares) {\n return (createStore2) => (reducer, preloadedState) => {\n const store = createStore2(reducer, preloadedState);\n let dispatch = () => {\n throw new Error(true ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n };\n const middlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n }\n function isAction(action) {\n return isPlainObject2(action) && \"type\" in action && typeof action.type === \"string\";\n }\n\n // ../../../node_modules/.bun/immer@11.1.4/node_modules/immer/dist/immer.mjs\n var NOTHING = /* @__PURE__ */ Symbol.for(\"immer-nothing\");\n var DRAFTABLE = /* @__PURE__ */ Symbol.for(\"immer-draftable\");\n var DRAFT_STATE = /* @__PURE__ */ Symbol.for(\"immer-state\");\n function die(error, ...args) {\n if (false) {\n const e = errors[error];\n const msg = isFunction3(e) ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n }\n var O = Object;\n var getPrototypeOf = O.getPrototypeOf;\n var CONSTRUCTOR = \"constructor\";\n var PROTOTYPE = \"prototype\";\n var CONFIGURABLE = \"configurable\";\n var ENUMERABLE = \"enumerable\";\n var WRITABLE = \"writable\";\n var VALUE = \"value\";\n var isDraft = (value) => !!value && !!value[DRAFT_STATE];\n function isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject3(value) || isArray(value) || !!value[DRAFTABLE] || !!value[CONSTRUCTOR]?.[DRAFTABLE] || isMap(value) || isSet(value);\n }\n var objectCtorString = O[PROTOTYPE][CONSTRUCTOR].toString();\n var cachedCtorStrings = /* @__PURE__ */ new WeakMap();\n function isPlainObject3(value) {\n if (!value || !isObjectish(value))\n return false;\n const proto2 = getPrototypeOf(value);\n if (proto2 === null || proto2 === O[PROTOTYPE])\n return true;\n const Ctor = O.hasOwnProperty.call(proto2, CONSTRUCTOR) && proto2[CONSTRUCTOR];\n if (Ctor === Object)\n return true;\n if (!isFunction3(Ctor))\n return false;\n let ctorString = cachedCtorStrings.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString;\n }\n function each(obj, iter, strict = true) {\n if (getArchtype(obj) === 0) {\n const keys = strict ? Reflect.ownKeys(obj) : O.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index2) => iter(index2, entry, obj));\n }\n }\n function getArchtype(thing) {\n const state2 = thing[DRAFT_STATE];\n return state2 ? state2.type_ : isArray(thing) ? 1 : isMap(thing) ? 2 : isSet(thing) ? 3 : 0;\n }\n var has = (thing, prop, type = getArchtype(thing)) => type === 2 ? thing.has(prop) : O[PROTOTYPE].hasOwnProperty.call(thing, prop);\n var get3 = (thing, prop, type = getArchtype(thing)) => (\n // @ts-ignore\n type === 2 ? thing.get(prop) : thing[prop]\n );\n var set = (thing, propOrOldValue, value, type = getArchtype(thing)) => {\n if (type === 2)\n thing.set(propOrOldValue, value);\n else if (type === 3) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n };\n function is(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n var isArray = Array.isArray;\n var isMap = (target) => target instanceof Map;\n var isSet = (target) => target instanceof Set;\n var isObjectish = (target) => typeof target === \"object\";\n var isFunction3 = (target) => typeof target === \"function\";\n var isBoolean = (target) => typeof target === \"boolean\";\n function isArrayIndex(value) {\n const n = +value;\n return Number.isInteger(n) && String(n) === value;\n }\n var latest = (state2) => state2.copy_ || state2.base_;\n var getFinalValue = (state2) => state2.modified_ ? state2.copy_ : state2.base_;\n function shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (isArray(base))\n return Array[PROTOTYPE].slice.call(base);\n const isPlain = isPlainObject3(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = O.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc[WRITABLE] === false) {\n desc[WRITABLE] = true;\n desc[CONFIGURABLE] = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n [CONFIGURABLE]: true,\n [WRITABLE]: true,\n // could live with !!desc.set as well here...\n [ENUMERABLE]: desc[ENUMERABLE],\n [VALUE]: base[key]\n };\n }\n return O.create(getPrototypeOf(base), descriptors);\n } else {\n const proto2 = getPrototypeOf(base);\n if (proto2 !== null && isPlain) {\n return { ...base };\n }\n const obj = O.create(proto2);\n return O.assign(obj, base);\n }\n }\n function freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n O.defineProperties(obj, {\n set: dontMutateMethodOverride,\n add: dontMutateMethodOverride,\n clear: dontMutateMethodOverride,\n delete: dontMutateMethodOverride\n });\n }\n O.freeze(obj);\n if (deep)\n each(\n obj,\n (_key, value) => {\n freeze(value, true);\n },\n false\n );\n return obj;\n }\n function dontMutateFrozenCollections() {\n die(2);\n }\n var dontMutateMethodOverride = {\n [VALUE]: dontMutateFrozenCollections\n };\n function isFrozen(obj) {\n if (obj === null || !isObjectish(obj))\n return true;\n return O.isFrozen(obj);\n }\n var PluginMapSet = \"MapSet\";\n var PluginPatches = \"Patches\";\n var PluginArrayMethods = \"ArrayMethods\";\n var plugins = {};\n function getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n }\n var isPluginLoaded = (pluginKey) => !!plugins[pluginKey];\n var currentScope;\n var getCurrentScope = () => currentScope;\n var createScope = (parent_, immer_) => ({\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0,\n handledSet_: /* @__PURE__ */ new Set(),\n processedForPatches_: /* @__PURE__ */ new Set(),\n mapSetPlugin_: isPluginLoaded(PluginMapSet) ? getPlugin(PluginMapSet) : void 0,\n arrayMethodsPlugin_: isPluginLoaded(PluginArrayMethods) ? getPlugin(PluginArrayMethods) : void 0\n });\n function usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n scope.patchPlugin_ = getPlugin(PluginPatches);\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n }\n function revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n }\n function leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n }\n var enterScope = (immer22) => currentScope = createScope(currentScope, immer22);\n function revokeDraft(draft) {\n const state2 = draft[DRAFT_STATE];\n if (state2.type_ === 0 || state2.type_ === 1)\n state2.revoke_();\n else\n state2.revoked_ = true;\n }\n function processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n }\n const { patchPlugin_ } = scope;\n if (patchPlugin_) {\n patchPlugin_.generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope\n );\n }\n } else {\n result = finalize(scope, baseDraft);\n }\n maybeFreeze(scope, result, true);\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n }\n function finalize(rootScope, value) {\n if (isFrozen(value))\n return value;\n const state2 = value[DRAFT_STATE];\n if (!state2) {\n const finalValue = handleValue(value, rootScope.handledSet_, rootScope);\n return finalValue;\n }\n if (!isSameScope(state2, rootScope)) {\n return value;\n }\n if (!state2.modified_) {\n return state2.base_;\n }\n if (!state2.finalized_) {\n const { callbacks_ } = state2;\n if (callbacks_) {\n while (callbacks_.length > 0) {\n const callback = callbacks_.pop();\n callback(rootScope);\n }\n }\n generatePatchesAndFinalize(state2, rootScope);\n }\n return state2.copy_;\n }\n function maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n }\n function markStateFinalized(state2) {\n state2.finalized_ = true;\n state2.scope_.unfinalizedDrafts_--;\n }\n var isSameScope = (state2, rootScope) => state2.scope_ === rootScope;\n var EMPTY_LOCATIONS_RESULT = [];\n function updateDraftInParent(parent, draftValue, finalizedValue, originalKey) {\n const parentCopy = latest(parent);\n const parentType = parent.type_;\n if (originalKey !== void 0) {\n const currentValue = get3(parentCopy, originalKey, parentType);\n if (currentValue === draftValue) {\n set(parentCopy, originalKey, finalizedValue, parentType);\n return;\n }\n }\n if (!parent.draftLocations_) {\n const draftLocations = parent.draftLocations_ = /* @__PURE__ */ new Map();\n each(parentCopy, (key, value) => {\n if (isDraft(value)) {\n const keys = draftLocations.get(value) || [];\n keys.push(key);\n draftLocations.set(value, keys);\n }\n });\n }\n const locations = parent.draftLocations_.get(draftValue) ?? EMPTY_LOCATIONS_RESULT;\n for (const location of locations) {\n set(parentCopy, location, finalizedValue, parentType);\n }\n }\n function registerChildFinalizationCallback(parent, child, key) {\n parent.callbacks_.push(function childCleanup(rootScope) {\n const state2 = child;\n if (!state2 || !isSameScope(state2, rootScope)) {\n return;\n }\n rootScope.mapSetPlugin_?.fixSetContents(state2);\n const finalizedValue = getFinalValue(state2);\n updateDraftInParent(parent, state2.draft_ ?? state2, finalizedValue, key);\n generatePatchesAndFinalize(state2, rootScope);\n });\n }\n function generatePatchesAndFinalize(state2, rootScope) {\n const shouldFinalize = state2.modified_ && !state2.finalized_ && (state2.type_ === 3 || state2.type_ === 1 && state2.allIndicesReassigned_ || (state2.assigned_?.size ?? 0) > 0);\n if (shouldFinalize) {\n const { patchPlugin_ } = rootScope;\n if (patchPlugin_) {\n const basePath = patchPlugin_.getPath(state2);\n if (basePath) {\n patchPlugin_.generatePatches_(state2, basePath, rootScope);\n }\n }\n markStateFinalized(state2);\n }\n }\n function handleCrossReference(target, key, value) {\n const { scope_ } = target;\n if (isDraft(value)) {\n const state2 = value[DRAFT_STATE];\n if (isSameScope(state2, scope_)) {\n state2.callbacks_.push(function crossReferenceCleanup() {\n prepareCopy(target);\n const finalizedValue = getFinalValue(state2);\n updateDraftInParent(target, value, finalizedValue, key);\n });\n }\n } else if (isDraftable(value)) {\n target.callbacks_.push(function nestedDraftCleanup() {\n const targetCopy = latest(target);\n if (target.type_ === 3) {\n if (targetCopy.has(value)) {\n handleValue(value, scope_.handledSet_, scope_);\n }\n } else {\n if (get3(targetCopy, key, target.type_) === value) {\n if (scope_.drafts_.length > 1 && (target.assigned_.get(key) ?? false) === true && target.copy_) {\n handleValue(\n get3(target.copy_, key, target.type_),\n scope_.handledSet_,\n scope_\n );\n }\n }\n }\n });\n }\n }\n function handleValue(target, handledSet, rootScope) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return target;\n }\n if (isDraft(target) || handledSet.has(target) || !isDraftable(target) || isFrozen(target)) {\n return target;\n }\n handledSet.add(target);\n each(target, (key, value) => {\n if (isDraft(value)) {\n const state2 = value[DRAFT_STATE];\n if (isSameScope(state2, rootScope)) {\n const updatedValue = getFinalValue(state2);\n set(target, key, updatedValue, target.type_);\n markStateFinalized(state2);\n }\n } else if (isDraftable(value)) {\n handleValue(value, handledSet, rootScope);\n }\n });\n return target;\n }\n function createProxyProxy(base, parent) {\n const baseIsArray = isArray(base);\n const state2 = {\n type_: baseIsArray ? 1 : 0,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n // actually instantiated in `prepareCopy()`\n assigned_: void 0,\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false,\n // `callbacks` actually gets assigned in `createProxy`\n callbacks_: void 0\n };\n let target = state2;\n let traps = objectTraps;\n if (baseIsArray) {\n target = [state2];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state2.draft_ = proxy;\n state2.revoke_ = revoke;\n return [proxy, state2];\n }\n var objectTraps = {\n get(state2, prop) {\n if (prop === DRAFT_STATE)\n return state2;\n let arrayPlugin = state2.scope_.arrayMethodsPlugin_;\n const isArrayWithStringProp = state2.type_ === 1 && typeof prop === \"string\";\n if (isArrayWithStringProp) {\n if (arrayPlugin?.isArrayOperationMethod(prop)) {\n return arrayPlugin.createMethodInterceptor(state2, prop);\n }\n }\n const source = latest(state2);\n if (!has(source, prop, state2.type_)) {\n return readPropFromProto(state2, source, prop);\n }\n const value = source[prop];\n if (state2.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (isArrayWithStringProp && state2.operationMethod && arrayPlugin?.isMutatingArrayMethod(\n state2.operationMethod\n ) && isArrayIndex(prop)) {\n return value;\n }\n if (value === peek(state2.base_, prop)) {\n prepareCopy(state2);\n const childKey = state2.type_ === 1 ? +prop : prop;\n const childDraft = createProxy(state2.scope_, value, state2, childKey);\n return state2.copy_[childKey] = childDraft;\n }\n return value;\n },\n has(state2, prop) {\n return prop in latest(state2);\n },\n ownKeys(state2) {\n return Reflect.ownKeys(latest(state2));\n },\n set(state2, prop, value) {\n const desc = getDescriptorFromProto(latest(state2), prop);\n if (desc?.set) {\n desc.set.call(state2.draft_, value);\n return true;\n }\n if (!state2.modified_) {\n const current22 = peek(latest(state2), prop);\n const currentState = current22?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state2.copy_[prop] = value;\n state2.assigned_.set(prop, false);\n return true;\n }\n if (is(value, current22) && (value !== void 0 || has(state2.base_, prop, state2.type_)))\n return true;\n prepareCopy(state2);\n markChanged(state2);\n }\n if (state2.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state2.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state2.copy_[prop]))\n return true;\n state2.copy_[prop] = value;\n state2.assigned_.set(prop, true);\n handleCrossReference(state2, prop, value);\n return true;\n },\n deleteProperty(state2, prop) {\n prepareCopy(state2);\n if (peek(state2.base_, prop) !== void 0 || prop in state2.base_) {\n state2.assigned_.set(prop, false);\n markChanged(state2);\n } else {\n state2.assigned_.delete(prop);\n }\n if (state2.copy_) {\n delete state2.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state2, prop) {\n const owner = latest(state2);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n [WRITABLE]: true,\n [CONFIGURABLE]: state2.type_ !== 1 || prop !== \"length\",\n [ENUMERABLE]: desc[ENUMERABLE],\n [VALUE]: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state2) {\n return getPrototypeOf(state2.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n };\n var arrayTraps = {};\n for (let key in objectTraps) {\n let fn = objectTraps[key];\n arrayTraps[key] = function() {\n const args = arguments;\n args[0] = args[0][0];\n return fn.apply(this, args);\n };\n }\n arrayTraps.deleteProperty = function(state2, prop) {\n if (false)\n die(13);\n return arrayTraps.set.call(this, state2, prop, void 0);\n };\n arrayTraps.set = function(state2, prop, value) {\n if (false)\n die(14);\n return objectTraps.set.call(this, state2[0], prop, value, state2[0]);\n };\n function peek(draft, prop) {\n const state2 = draft[DRAFT_STATE];\n const source = state2 ? latest(state2) : draft;\n return source[prop];\n }\n function readPropFromProto(state2, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? VALUE in desc ? desc[VALUE] : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state2.draft_)\n ) : void 0;\n }\n function getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto2 = getPrototypeOf(source);\n while (proto2) {\n const desc = Object.getOwnPropertyDescriptor(proto2, prop);\n if (desc)\n return desc;\n proto2 = getPrototypeOf(proto2);\n }\n return void 0;\n }\n function markChanged(state2) {\n if (!state2.modified_) {\n state2.modified_ = true;\n if (state2.parent_) {\n markChanged(state2.parent_);\n }\n }\n }\n function prepareCopy(state2) {\n if (!state2.copy_) {\n state2.assigned_ = /* @__PURE__ */ new Map();\n state2.copy_ = shallowCopy(\n state2.base_,\n state2.scope_.immer_.useStrictShallowCopy_\n );\n }\n }\n var Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = false;\n this.produce = (base, recipe, patchListener) => {\n if (isFunction3(base) && !isFunction3(recipe)) {\n const defaultBase = recipe;\n recipe = base;\n const self2 = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self2.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (!isFunction3(recipe))\n die(6);\n if (patchListener !== void 0 && !isFunction3(patchListener))\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(scope, base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || !isObjectish(base)) {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(PluginPatches).generateReplacementPatches_(base, result, {\n patches_: p,\n inversePatches_: ip\n });\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (isFunction3(base)) {\n return (state2, ...args) => this.produceWithPatches(state2, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (isBoolean(config?.autoFreeze))\n this.setAutoFreeze(config.autoFreeze);\n if (isBoolean(config?.useStrictShallowCopy))\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (isBoolean(config?.useStrictIteration))\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(scope, base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state2 = draft && draft[DRAFT_STATE];\n if (!state2 || !state2.isManual_)\n die(9);\n const { scope_: scope } = state2;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(PluginPatches).applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n };\n function createProxy(rootScope, value, parent, key) {\n const [draft, state2] = isMap(value) ? getPlugin(PluginMapSet).proxyMap_(value, parent) : isSet(value) ? getPlugin(PluginMapSet).proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent?.scope_ ?? getCurrentScope();\n scope.drafts_.push(draft);\n state2.callbacks_ = parent?.callbacks_ ?? [];\n state2.key_ = key;\n if (parent && key !== void 0) {\n registerChildFinalizationCallback(parent, state2, key);\n } else {\n state2.callbacks_.push(function rootDraftCleanup(rootScope2) {\n rootScope2.mapSetPlugin_?.fixSetContents(state2);\n const { patchPlugin_ } = rootScope2;\n if (state2.modified_ && patchPlugin_) {\n patchPlugin_.generatePatches_(state2, [], rootScope2);\n }\n });\n }\n return draft;\n }\n function current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n }\n function currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state2 = value[DRAFT_STATE];\n let copy3;\n let strict = true;\n if (state2) {\n if (!state2.modified_)\n return state2.base_;\n state2.finalized_ = true;\n copy3 = shallowCopy(value, state2.scope_.immer_.useStrictShallowCopy_);\n strict = state2.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy3 = shallowCopy(value, true);\n }\n each(\n copy3,\n (key, childValue) => {\n set(copy3, key, currentImpl(childValue));\n },\n strict\n );\n if (state2) {\n state2.finalized_ = false;\n }\n return copy3;\n }\n var immer = new Immer2();\n var produce = immer.produce;\n\n // ../../../node_modules/.bun/redux-thunk@3.1.0+bc2e82c311c56ef9/node_modules/redux-thunk/dist/redux-thunk.mjs\n function createThunkMiddleware(extraArgument) {\n const middleware = ({ dispatch, getState: getState8 }) => (next2) => (action) => {\n if (typeof action === \"function\") {\n return action(dispatch, getState8, extraArgument);\n }\n return next2(action);\n };\n return middleware;\n }\n var thunk = createThunkMiddleware();\n var withExtraArgument = createThunkMiddleware;\n\n // ../../../node_modules/.bun/@reduxjs+toolkit@2.11.2+89f735f708838e7b/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs\n var composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() {\n if (arguments.length === 0) return void 0;\n if (typeof arguments[0] === \"object\") return compose;\n return compose.apply(null, arguments);\n };\n var devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function() {\n return function(noop32) {\n return noop32;\n };\n };\n var hasMatchFunction = (v) => {\n return v && typeof v.match === \"function\";\n };\n function createAction(type, prepareAction) {\n function actionCreator(...args) {\n if (prepareAction) {\n let prepared = prepareAction(...args);\n if (!prepared) {\n throw new Error(true ? formatProdErrorMessage2(0) : \"prepareAction did not return an object\");\n }\n return {\n type,\n payload: prepared.payload,\n ...\"meta\" in prepared && {\n meta: prepared.meta\n },\n ...\"error\" in prepared && {\n error: prepared.error\n }\n };\n }\n return {\n type,\n payload: args[0]\n };\n }\n actionCreator.toString = () => `${type}`;\n actionCreator.type = type;\n actionCreator.match = (action) => isAction(action) && action.type === type;\n return actionCreator;\n }\n var Tuple = class _Tuple extends Array {\n constructor(...items) {\n super(...items);\n Object.setPrototypeOf(this, _Tuple.prototype);\n }\n static get [Symbol.species]() {\n return _Tuple;\n }\n concat(...arr) {\n return super.concat.apply(this, arr);\n }\n prepend(...arr) {\n if (arr.length === 1 && Array.isArray(arr[0])) {\n return new _Tuple(...arr[0].concat(this));\n }\n return new _Tuple(...arr.concat(this));\n }\n };\n function freezeDraftable(val) {\n return isDraftable(val) ? produce(val, () => {\n }) : val;\n }\n function getOrInsertComputed(map2, key, compute) {\n if (map2.has(key)) return map2.get(key);\n return map2.set(key, compute(key)).get(key);\n }\n function isBoolean2(x2) {\n return typeof x2 === \"boolean\";\n }\n var buildGetDefaultMiddleware = () => function getDefaultMiddleware(options2) {\n const {\n thunk: thunk2 = true,\n immutableCheck = true,\n serializableCheck = true,\n actionCreatorCheck = true\n } = options2 ?? {};\n let middlewareArray = new Tuple();\n if (thunk2) {\n if (isBoolean2(thunk2)) {\n middlewareArray.push(thunk);\n } else {\n middlewareArray.push(withExtraArgument(thunk2.extraArgument));\n }\n }\n if (false) {\n if (immutableCheck) {\n let immutableOptions = {};\n if (!isBoolean2(immutableCheck)) {\n immutableOptions = immutableCheck;\n }\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\n }\n if (serializableCheck) {\n let serializableOptions = {};\n if (!isBoolean2(serializableCheck)) {\n serializableOptions = serializableCheck;\n }\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\n }\n if (actionCreatorCheck) {\n let actionCreatorOptions = {};\n if (!isBoolean2(actionCreatorCheck)) {\n actionCreatorOptions = actionCreatorCheck;\n }\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\n }\n }\n return middlewareArray;\n };\n var SHOULD_AUTOBATCH = \"RTK_autoBatch\";\n var prepareAutoBatched = () => (payload) => ({\n payload,\n meta: {\n [SHOULD_AUTOBATCH]: true\n }\n });\n var createQueueWithTimer = (timeout) => {\n return (notify) => {\n setTimeout(notify, timeout);\n };\n };\n var autoBatchEnhancer = (options2 = {\n type: \"raf\"\n }) => (next2) => (...args) => {\n const store = next2(...args);\n let notifying = true;\n let shouldNotifyAtEndOfTick = false;\n let notificationQueued = false;\n const listeners = /* @__PURE__ */ new Set();\n const queueCallback = options2.type === \"tick\" ? queueMicrotask : options2.type === \"raf\" ? (\n // requestAnimationFrame won't exist in SSR environments. Fall back to a vague approximation just to keep from erroring.\n typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10)\n ) : options2.type === \"callback\" ? options2.queueNotification : createQueueWithTimer(options2.timeout);\n const notifyListeners = () => {\n notificationQueued = false;\n if (shouldNotifyAtEndOfTick) {\n shouldNotifyAtEndOfTick = false;\n listeners.forEach((l) => l());\n }\n };\n return Object.assign({}, store, {\n // Override the base `store.subscribe` method to keep original listeners\n // from running if we're delaying notifications\n subscribe(listener2) {\n const wrappedListener = () => notifying && listener2();\n const unsubscribe = store.subscribe(wrappedListener);\n listeners.add(listener2);\n return () => {\n unsubscribe();\n listeners.delete(listener2);\n };\n },\n // Override the base `store.dispatch` method so that we can check actions\n // for the `shouldAutoBatch` flag and determine if batching is active\n dispatch(action) {\n try {\n notifying = !action?.meta?.[SHOULD_AUTOBATCH];\n shouldNotifyAtEndOfTick = !notifying;\n if (shouldNotifyAtEndOfTick) {\n if (!notificationQueued) {\n notificationQueued = true;\n queueCallback(notifyListeners);\n }\n }\n return store.dispatch(action);\n } finally {\n notifying = true;\n }\n }\n });\n };\n var buildGetDefaultEnhancers = (middlewareEnhancer) => function getDefaultEnhancers(options2) {\n const {\n autoBatch = true\n } = options2 ?? {};\n let enhancerArray = new Tuple(middlewareEnhancer);\n if (autoBatch) {\n enhancerArray.push(autoBatchEnhancer(typeof autoBatch === \"object\" ? autoBatch : void 0));\n }\n return enhancerArray;\n };\n function configureStore(options2) {\n const getDefaultMiddleware = buildGetDefaultMiddleware();\n const {\n reducer = void 0,\n middleware,\n devTools = true,\n duplicateMiddlewareCheck = true,\n preloadedState = void 0,\n enhancers = void 0\n } = options2 || {};\n let rootReducer2;\n if (typeof reducer === \"function\") {\n rootReducer2 = reducer;\n } else if (isPlainObject2(reducer)) {\n rootReducer2 = combineReducers(reducer);\n } else {\n throw new Error(true ? formatProdErrorMessage2(1) : \"`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers\");\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(2) : \"`middleware` field must be a callback\");\n }\n let finalMiddleware;\n if (typeof middleware === \"function\") {\n finalMiddleware = middleware(getDefaultMiddleware);\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(3) : \"when using a middleware builder function, an array of middleware must be returned\");\n }\n } else {\n finalMiddleware = getDefaultMiddleware();\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(4) : \"each middleware provided to configureStore must be a function\");\n }\n if (false) {\n let middlewareReferences = /* @__PURE__ */ new Set();\n finalMiddleware.forEach((middleware2) => {\n if (middlewareReferences.has(middleware2)) {\n throw new Error(true ? formatProdErrorMessage2(42) : \"Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.\");\n }\n middlewareReferences.add(middleware2);\n });\n }\n let finalCompose = compose;\n if (devTools) {\n finalCompose = composeWithDevTools({\n // Enable capture of stack traces for dispatched Redux actions\n trace: false,\n ...typeof devTools === \"object\" && devTools\n });\n }\n const middlewareEnhancer = applyMiddleware(...finalMiddleware);\n const getDefaultEnhancers = buildGetDefaultEnhancers(middlewareEnhancer);\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(5) : \"`enhancers` field must be a callback\");\n }\n let storeEnhancers = typeof enhancers === \"function\" ? enhancers(getDefaultEnhancers) : getDefaultEnhancers();\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(6) : \"`enhancers` callback must return an array\");\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(7) : \"each enhancer provided to configureStore must be a function\");\n }\n if (false) {\n console.error(\"middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`\");\n }\n const composedEnhancer = finalCompose(...storeEnhancers);\n return createStore(rootReducer2, preloadedState, composedEnhancer);\n }\n function executeReducerBuilderCallback(builderCallback) {\n const actionsMap = {};\n const actionMatchers = [];\n let defaultCaseReducer;\n const builder = {\n addCase(typeOrActionCreator, reducer) {\n if (false) {\n if (actionMatchers.length > 0) {\n throw new Error(true ? formatProdErrorMessage2(26) : \"`builder.addCase` should only be called before calling `builder.addMatcher`\");\n }\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(27) : \"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n if (!type) {\n throw new Error(true ? formatProdErrorMessage2(28) : \"`builder.addCase` cannot be called with an empty action type\");\n }\n if (type in actionsMap) {\n throw new Error(true ? formatProdErrorMessage2(29) : `\\`builder.addCase\\` cannot be called with two reducers for the same action type '${type}'`);\n }\n actionsMap[type] = reducer;\n return builder;\n },\n addAsyncThunk(asyncThunk, reducers2) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(43) : \"`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n if (reducers2.pending) actionsMap[asyncThunk.pending.type] = reducers2.pending;\n if (reducers2.rejected) actionsMap[asyncThunk.rejected.type] = reducers2.rejected;\n if (reducers2.fulfilled) actionsMap[asyncThunk.fulfilled.type] = reducers2.fulfilled;\n if (reducers2.settled) actionMatchers.push({\n matcher: asyncThunk.settled,\n reducer: reducers2.settled\n });\n return builder;\n },\n addMatcher(matcher, reducer) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(30) : \"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n actionMatchers.push({\n matcher,\n reducer\n });\n return builder;\n },\n addDefaultCase(reducer) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(31) : \"`builder.addDefaultCase` can only be called once\");\n }\n }\n defaultCaseReducer = reducer;\n return builder;\n }\n };\n builderCallback(builder);\n return [actionsMap, actionMatchers, defaultCaseReducer];\n }\n function isStateFunction(x2) {\n return typeof x2 === \"function\";\n }\n function createReducer(initialState15, mapOrBuilderCallback) {\n if (false) {\n if (typeof mapOrBuilderCallback === \"object\") {\n throw new Error(true ? formatProdErrorMessage2(8) : \"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\n }\n }\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] = executeReducerBuilderCallback(mapOrBuilderCallback);\n let getInitialState;\n if (isStateFunction(initialState15)) {\n getInitialState = () => freezeDraftable(initialState15());\n } else {\n const frozenInitialState = freezeDraftable(initialState15);\n getInitialState = () => frozenInitialState;\n }\n function reducer(state2 = getInitialState(), action) {\n let caseReducers = [actionsMap[action.type], ...finalActionMatchers.filter(({\n matcher\n }) => matcher(action)).map(({\n reducer: reducer2\n }) => reducer2)];\n if (caseReducers.filter((cr) => !!cr).length === 0) {\n caseReducers = [finalDefaultCaseReducer];\n }\n return caseReducers.reduce((previousState, caseReducer) => {\n if (caseReducer) {\n if (isDraft(previousState)) {\n const draft = previousState;\n const result = caseReducer(draft, action);\n if (result === void 0) {\n return previousState;\n }\n return result;\n } else if (!isDraftable(previousState)) {\n const result = caseReducer(previousState, action);\n if (result === void 0) {\n if (previousState === null) {\n return previousState;\n }\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\n }\n return result;\n } else {\n return produce(previousState, (draft) => {\n return caseReducer(draft, action);\n });\n }\n }\n return previousState;\n }, state2);\n }\n reducer.getInitialState = getInitialState;\n return reducer;\n }\n var matches = (matcher, action) => {\n if (hasMatchFunction(matcher)) {\n return matcher.match(action);\n } else {\n return matcher(action);\n }\n };\n function isAnyOf(...matchers) {\n return (action) => {\n return matchers.some((matcher) => matches(matcher, action));\n };\n }\n var urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\n var nanoid = (size4 = 21) => {\n let id = \"\";\n let i = size4;\n while (i--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n };\n var commonProperties = [\"name\", \"message\", \"stack\", \"code\"];\n var RejectWithValue = class {\n constructor(payload, meta) {\n this.payload = payload;\n this.meta = meta;\n }\n /*\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\n does not exist at runtime\n */\n _type;\n };\n var FulfillWithMeta = class {\n constructor(payload, meta) {\n this.payload = payload;\n this.meta = meta;\n }\n /*\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\n does not exist at runtime\n */\n _type;\n };\n var miniSerializeError = (value) => {\n if (typeof value === \"object\" && value !== null) {\n const simpleError = {};\n for (const property of commonProperties) {\n if (typeof value[property] === \"string\") {\n simpleError[property] = value[property];\n }\n }\n return simpleError;\n }\n return {\n message: String(value)\n };\n };\n var externalAbortMessage = \"External signal was aborted\";\n var createAsyncThunk = /* @__PURE__ */ (() => {\n function createAsyncThunk2(typePrefix, payloadCreator, options2) {\n const fulfilled = createAction(typePrefix + \"/fulfilled\", (payload, requestId, arg, meta) => ({\n payload,\n meta: {\n ...meta || {},\n arg,\n requestId,\n requestStatus: \"fulfilled\"\n }\n }));\n const pending = createAction(typePrefix + \"/pending\", (requestId, arg, meta) => ({\n payload: void 0,\n meta: {\n ...meta || {},\n arg,\n requestId,\n requestStatus: \"pending\"\n }\n }));\n const rejected = createAction(typePrefix + \"/rejected\", (error, requestId, arg, payload, meta) => ({\n payload,\n error: (options2 && options2.serializeError || miniSerializeError)(error || \"Rejected\"),\n meta: {\n ...meta || {},\n arg,\n requestId,\n rejectedWithValue: !!payload,\n requestStatus: \"rejected\",\n aborted: error?.name === \"AbortError\",\n condition: error?.name === \"ConditionError\"\n }\n }));\n function actionCreator(arg, {\n signal\n } = {}) {\n return (dispatch, getState8, extra) => {\n const requestId = options2?.idGenerator ? options2.idGenerator(arg) : nanoid();\n const abortController = new AbortController();\n let abortHandler;\n let abortReason;\n function abort(reason) {\n abortReason = reason;\n abortController.abort();\n }\n if (signal) {\n if (signal.aborted) {\n abort(externalAbortMessage);\n } else {\n signal.addEventListener(\"abort\", () => abort(externalAbortMessage), {\n once: true\n });\n }\n }\n const promise = (async function() {\n let finalAction;\n try {\n let conditionResult = options2?.condition?.(arg, {\n getState: getState8,\n extra\n });\n if (isThenable(conditionResult)) {\n conditionResult = await conditionResult;\n }\n if (conditionResult === false || abortController.signal.aborted) {\n throw {\n name: \"ConditionError\",\n message: \"Aborted due to condition callback returning false.\"\n };\n }\n const abortedPromise = new Promise((_, reject) => {\n abortHandler = () => {\n reject({\n name: \"AbortError\",\n message: abortReason || \"Aborted\"\n });\n };\n abortController.signal.addEventListener(\"abort\", abortHandler, {\n once: true\n });\n });\n dispatch(pending(requestId, arg, options2?.getPendingMeta?.({\n requestId,\n arg\n }, {\n getState: getState8,\n extra\n })));\n finalAction = await Promise.race([abortedPromise, Promise.resolve(payloadCreator(arg, {\n dispatch,\n getState: getState8,\n extra,\n requestId,\n signal: abortController.signal,\n abort,\n rejectWithValue: (value, meta) => {\n return new RejectWithValue(value, meta);\n },\n fulfillWithValue: (value, meta) => {\n return new FulfillWithMeta(value, meta);\n }\n })).then((result) => {\n if (result instanceof RejectWithValue) {\n throw result;\n }\n if (result instanceof FulfillWithMeta) {\n return fulfilled(result.payload, requestId, arg, result.meta);\n }\n return fulfilled(result, requestId, arg);\n })]);\n } catch (err) {\n finalAction = err instanceof RejectWithValue ? rejected(null, requestId, arg, err.payload, err.meta) : rejected(err, requestId, arg);\n } finally {\n if (abortHandler) {\n abortController.signal.removeEventListener(\"abort\", abortHandler);\n }\n }\n const skipDispatch = options2 && !options2.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\n if (!skipDispatch) {\n dispatch(finalAction);\n }\n return finalAction;\n })();\n return Object.assign(promise, {\n abort,\n requestId,\n arg,\n unwrap() {\n return promise.then(unwrapResult);\n }\n });\n };\n }\n return Object.assign(actionCreator, {\n pending,\n rejected,\n fulfilled,\n settled: isAnyOf(rejected, fulfilled),\n typePrefix\n });\n }\n createAsyncThunk2.withTypes = () => createAsyncThunk2;\n return createAsyncThunk2;\n })();\n function unwrapResult(action) {\n if (action.meta && action.meta.rejectedWithValue) {\n throw action.payload;\n }\n if (action.error) {\n throw action.error;\n }\n return action.payload;\n }\n function isThenable(value) {\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\n }\n var asyncThunkSymbol = /* @__PURE__ */ Symbol.for(\"rtk-slice-createasyncthunk\");\n var asyncThunkCreator = {\n [asyncThunkSymbol]: createAsyncThunk\n };\n function getType(slice2, actionKey) {\n return `${slice2}/${actionKey}`;\n }\n function buildCreateSlice({\n creators\n } = {}) {\n const cAT = creators?.asyncThunk?.[asyncThunkSymbol];\n return function createSlice2(options2) {\n const {\n name,\n reducerPath = name\n } = options2;\n if (!name) {\n throw new Error(true ? formatProdErrorMessage2(11) : \"`name` is a required option for createSlice\");\n }\n if (typeof process !== \"undefined\" && false) {\n if (options2.initialState === void 0) {\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\n }\n }\n const reducers2 = (typeof options2.reducers === \"function\" ? options2.reducers(buildReducerCreators()) : options2.reducers) || {};\n const reducerNames = Object.keys(reducers2);\n const context = {\n sliceCaseReducersByName: {},\n sliceCaseReducersByType: {},\n actionCreators: {},\n sliceMatchers: []\n };\n const contextMethods = {\n addCase(typeOrActionCreator, reducer2) {\n const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n if (!type) {\n throw new Error(true ? formatProdErrorMessage2(12) : \"`context.addCase` cannot be called with an empty action type\");\n }\n if (type in context.sliceCaseReducersByType) {\n throw new Error(true ? formatProdErrorMessage2(13) : \"`context.addCase` cannot be called with two reducers for the same action type: \" + type);\n }\n context.sliceCaseReducersByType[type] = reducer2;\n return contextMethods;\n },\n addMatcher(matcher, reducer2) {\n context.sliceMatchers.push({\n matcher,\n reducer: reducer2\n });\n return contextMethods;\n },\n exposeAction(name2, actionCreator) {\n context.actionCreators[name2] = actionCreator;\n return contextMethods;\n },\n exposeCaseReducer(name2, reducer2) {\n context.sliceCaseReducersByName[name2] = reducer2;\n return contextMethods;\n }\n };\n reducerNames.forEach((reducerName) => {\n const reducerDefinition = reducers2[reducerName];\n const reducerDetails = {\n reducerName,\n type: getType(name, reducerName),\n createNotation: typeof options2.reducers === \"function\"\n };\n if (isAsyncThunkSliceReducerDefinition(reducerDefinition)) {\n handleThunkCaseReducerDefinition(reducerDetails, reducerDefinition, contextMethods, cAT);\n } else {\n handleNormalReducerDefinition(reducerDetails, reducerDefinition, contextMethods);\n }\n });\n function buildReducer() {\n if (false) {\n if (typeof options2.extraReducers === \"object\") {\n throw new Error(true ? formatProdErrorMessage2(14) : \"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\n }\n }\n const [extraReducers = {}, actionMatchers = [], defaultCaseReducer = void 0] = typeof options2.extraReducers === \"function\" ? executeReducerBuilderCallback(options2.extraReducers) : [options2.extraReducers];\n const finalCaseReducers = {\n ...extraReducers,\n ...context.sliceCaseReducersByType\n };\n return createReducer(options2.initialState, (builder) => {\n for (let key in finalCaseReducers) {\n builder.addCase(key, finalCaseReducers[key]);\n }\n for (let sM of context.sliceMatchers) {\n builder.addMatcher(sM.matcher, sM.reducer);\n }\n for (let m of actionMatchers) {\n builder.addMatcher(m.matcher, m.reducer);\n }\n if (defaultCaseReducer) {\n builder.addDefaultCase(defaultCaseReducer);\n }\n });\n }\n const selectSelf = (state2) => state2;\n const injectedSelectorCache = /* @__PURE__ */ new Map();\n const injectedStateCache = /* @__PURE__ */ new WeakMap();\n let _reducer;\n function reducer(state2, action) {\n if (!_reducer) _reducer = buildReducer();\n return _reducer(state2, action);\n }\n function getInitialState() {\n if (!_reducer) _reducer = buildReducer();\n return _reducer.getInitialState();\n }\n function makeSelectorProps(reducerPath2, injected = false) {\n function selectSlice(state2) {\n let sliceState = state2[reducerPath2];\n if (typeof sliceState === \"undefined\") {\n if (injected) {\n sliceState = getOrInsertComputed(injectedStateCache, selectSlice, getInitialState);\n } else if (false) {\n throw new Error(true ? formatProdErrorMessage2(15) : \"selectSlice returned undefined for an uninjected slice reducer\");\n }\n }\n return sliceState;\n }\n function getSelectors(selectState = selectSelf) {\n const selectorCache = getOrInsertComputed(injectedSelectorCache, injected, () => /* @__PURE__ */ new WeakMap());\n return getOrInsertComputed(selectorCache, selectState, () => {\n const map2 = {};\n for (const [name2, selector] of Object.entries(options2.selectors ?? {})) {\n map2[name2] = wrapSelector(selector, selectState, () => getOrInsertComputed(injectedStateCache, selectState, getInitialState), injected);\n }\n return map2;\n });\n }\n return {\n reducerPath: reducerPath2,\n getSelectors,\n get selectors() {\n return getSelectors(selectSlice);\n },\n selectSlice\n };\n }\n const slice2 = {\n name,\n reducer,\n actions: context.actionCreators,\n caseReducers: context.sliceCaseReducersByName,\n getInitialState,\n ...makeSelectorProps(reducerPath),\n injectInto(injectable, {\n reducerPath: pathOpt,\n ...config\n } = {}) {\n const newReducerPath = pathOpt ?? reducerPath;\n injectable.inject({\n reducerPath: newReducerPath,\n reducer\n }, config);\n return {\n ...slice2,\n ...makeSelectorProps(newReducerPath, true)\n };\n }\n };\n return slice2;\n };\n }\n function wrapSelector(selector, selectState, getInitialState, injected) {\n function wrapper(rootState, ...args) {\n let sliceState = selectState(rootState);\n if (typeof sliceState === \"undefined\") {\n if (injected) {\n sliceState = getInitialState();\n } else if (false) {\n throw new Error(true ? formatProdErrorMessage2(16) : \"selectState returned undefined for an uninjected slice reducer\");\n }\n }\n return selector(sliceState, ...args);\n }\n wrapper.unwrapped = selector;\n return wrapper;\n }\n var createSlice = /* @__PURE__ */ buildCreateSlice();\n function buildReducerCreators() {\n function asyncThunk(payloadCreator, config) {\n return {\n _reducerDefinitionType: \"asyncThunk\",\n payloadCreator,\n ...config\n };\n }\n asyncThunk.withTypes = () => asyncThunk;\n return {\n reducer(caseReducer) {\n return Object.assign({\n // hack so the wrapping function has the same name as the original\n // we need to create a wrapper so the `reducerDefinitionType` is not assigned to the original\n [caseReducer.name](...args) {\n return caseReducer(...args);\n }\n }[caseReducer.name], {\n _reducerDefinitionType: \"reducer\"\n /* reducer */\n });\n },\n preparedReducer(prepare, reducer) {\n return {\n _reducerDefinitionType: \"reducerWithPrepare\",\n prepare,\n reducer\n };\n },\n asyncThunk\n };\n }\n function handleNormalReducerDefinition({\n type,\n reducerName,\n createNotation\n }, maybeReducerWithPrepare, context) {\n let caseReducer;\n let prepareCallback;\n if (\"reducer\" in maybeReducerWithPrepare) {\n if (createNotation && !isCaseReducerWithPrepareDefinition(maybeReducerWithPrepare)) {\n throw new Error(true ? formatProdErrorMessage2(17) : \"Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.\");\n }\n caseReducer = maybeReducerWithPrepare.reducer;\n prepareCallback = maybeReducerWithPrepare.prepare;\n } else {\n caseReducer = maybeReducerWithPrepare;\n }\n context.addCase(type, caseReducer).exposeCaseReducer(reducerName, caseReducer).exposeAction(reducerName, prepareCallback ? createAction(type, prepareCallback) : createAction(type));\n }\n function isAsyncThunkSliceReducerDefinition(reducerDefinition) {\n return reducerDefinition._reducerDefinitionType === \"asyncThunk\";\n }\n function isCaseReducerWithPrepareDefinition(reducerDefinition) {\n return reducerDefinition._reducerDefinitionType === \"reducerWithPrepare\";\n }\n function handleThunkCaseReducerDefinition({\n type,\n reducerName\n }, reducerDefinition, context, cAT) {\n if (!cAT) {\n throw new Error(true ? formatProdErrorMessage2(18) : \"Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.\");\n }\n const {\n payloadCreator,\n fulfilled,\n pending,\n rejected,\n settled,\n options: options2\n } = reducerDefinition;\n const thunk2 = cAT(type, payloadCreator, options2);\n context.exposeAction(reducerName, thunk2);\n if (fulfilled) {\n context.addCase(thunk2.fulfilled, fulfilled);\n }\n if (pending) {\n context.addCase(thunk2.pending, pending);\n }\n if (rejected) {\n context.addCase(thunk2.rejected, rejected);\n }\n if (settled) {\n context.addMatcher(thunk2.settled, settled);\n }\n context.exposeCaseReducer(reducerName, {\n fulfilled: fulfilled || noop6,\n pending: pending || noop6,\n rejected: rejected || noop6,\n settled: settled || noop6\n });\n }\n function noop6() {\n }\n var task = \"task\";\n var listener = \"listener\";\n var completed = \"completed\";\n var cancelled = \"cancelled\";\n var taskCancelled = `task-${cancelled}`;\n var taskCompleted = `task-${completed}`;\n var listenerCancelled = `${listener}-${cancelled}`;\n var listenerCompleted = `${listener}-${completed}`;\n var TaskAbortError = class {\n constructor(code) {\n this.code = code;\n this.message = `${task} ${cancelled} (reason: ${code})`;\n }\n name = \"TaskAbortError\";\n message;\n };\n var assertFunction = (func, expected) => {\n if (typeof func !== \"function\") {\n throw new TypeError(true ? formatProdErrorMessage2(32) : `${expected} is not a function`);\n }\n };\n var noop22 = () => {\n };\n var catchRejection = (promise, onError = noop22) => {\n promise.catch(onError);\n return promise;\n };\n var addAbortSignalListener = (abortSignal, callback) => {\n abortSignal.addEventListener(\"abort\", callback, {\n once: true\n });\n return () => abortSignal.removeEventListener(\"abort\", callback);\n };\n var validateActive = (signal) => {\n if (signal.aborted) {\n throw new TaskAbortError(signal.reason);\n }\n };\n function raceWithSignal(signal, promise) {\n let cleanup = noop22;\n return new Promise((resolve, reject) => {\n const notifyRejection = () => reject(new TaskAbortError(signal.reason));\n if (signal.aborted) {\n notifyRejection();\n return;\n }\n cleanup = addAbortSignalListener(signal, notifyRejection);\n promise.finally(() => cleanup()).then(resolve, reject);\n }).finally(() => {\n cleanup = noop22;\n });\n }\n var runTask = async (task2, cleanUp) => {\n try {\n await Promise.resolve();\n const value = await task2();\n return {\n status: \"ok\",\n value\n };\n } catch (error) {\n return {\n status: error instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\n error\n };\n } finally {\n cleanUp?.();\n }\n };\n var createPause = (signal) => {\n return (promise) => {\n return catchRejection(raceWithSignal(signal, promise).then((output) => {\n validateActive(signal);\n return output;\n }));\n };\n };\n var createDelay = (signal) => {\n const pause = createPause(signal);\n return (timeoutMs) => {\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)));\n };\n };\n var {\n assign\n } = Object;\n var INTERNAL_NIL_TOKEN = {};\n var alm = \"listenerMiddleware\";\n var createFork = (parentAbortSignal, parentBlockingPromises) => {\n const linkControllers = (controller) => addAbortSignalListener(parentAbortSignal, () => controller.abort(parentAbortSignal.reason));\n return (taskExecutor, opts) => {\n assertFunction(taskExecutor, \"taskExecutor\");\n const childAbortController = new AbortController();\n linkControllers(childAbortController);\n const result = runTask(async () => {\n validateActive(parentAbortSignal);\n validateActive(childAbortController.signal);\n const result2 = await taskExecutor({\n pause: createPause(childAbortController.signal),\n delay: createDelay(childAbortController.signal),\n signal: childAbortController.signal\n });\n validateActive(childAbortController.signal);\n return result2;\n }, () => childAbortController.abort(taskCompleted));\n if (opts?.autoJoin) {\n parentBlockingPromises.push(result.catch(noop22));\n }\n return {\n result: createPause(parentAbortSignal)(result),\n cancel() {\n childAbortController.abort(taskCancelled);\n }\n };\n };\n };\n var createTakePattern = (startListening, signal) => {\n const take = async (predicate, timeout) => {\n validateActive(signal);\n let unsubscribe = () => {\n };\n const tuplePromise = new Promise((resolve, reject) => {\n let stopListening = startListening({\n predicate,\n effect: (action, listenerApi) => {\n listenerApi.unsubscribe();\n resolve([action, listenerApi.getState(), listenerApi.getOriginalState()]);\n }\n });\n unsubscribe = () => {\n stopListening();\n reject();\n };\n });\n const promises = [tuplePromise];\n if (timeout != null) {\n promises.push(new Promise((resolve) => setTimeout(resolve, timeout, null)));\n }\n try {\n const output = await raceWithSignal(signal, Promise.race(promises));\n validateActive(signal);\n return output;\n } finally {\n unsubscribe();\n }\n };\n return (predicate, timeout) => catchRejection(take(predicate, timeout));\n };\n var getListenerEntryPropsFrom = (options2) => {\n let {\n type,\n actionCreator,\n matcher,\n predicate,\n effect\n } = options2;\n if (type) {\n predicate = createAction(type).match;\n } else if (actionCreator) {\n type = actionCreator.type;\n predicate = actionCreator.match;\n } else if (matcher) {\n predicate = matcher;\n } else if (predicate) {\n } else {\n throw new Error(true ? formatProdErrorMessage2(21) : \"Creating or removing a listener requires one of the known fields for matching an action\");\n }\n assertFunction(effect, \"options.listener\");\n return {\n predicate,\n type,\n effect\n };\n };\n var createListenerEntry = /* @__PURE__ */ assign((options2) => {\n const {\n type,\n predicate,\n effect\n } = getListenerEntryPropsFrom(options2);\n const entry = {\n id: nanoid(),\n effect,\n type,\n predicate,\n pending: /* @__PURE__ */ new Set(),\n unsubscribe: () => {\n throw new Error(true ? formatProdErrorMessage2(22) : \"Unsubscribe not initialized\");\n }\n };\n return entry;\n }, {\n withTypes: () => createListenerEntry\n });\n var findListenerEntry = (listenerMap, options2) => {\n const {\n type,\n effect,\n predicate\n } = getListenerEntryPropsFrom(options2);\n return Array.from(listenerMap.values()).find((entry) => {\n const matchPredicateOrType = typeof type === \"string\" ? entry.type === type : entry.predicate === predicate;\n return matchPredicateOrType && entry.effect === effect;\n });\n };\n var cancelActiveListeners = (entry) => {\n entry.pending.forEach((controller) => {\n controller.abort(listenerCancelled);\n });\n };\n var createClearListenerMiddleware = (listenerMap, executingListeners) => {\n return () => {\n for (const listener2 of executingListeners.keys()) {\n cancelActiveListeners(listener2);\n }\n listenerMap.clear();\n };\n };\n var safelyNotifyError = (errorHandler, errorToNotify, errorInfo) => {\n try {\n errorHandler(errorToNotify, errorInfo);\n } catch (errorHandlerError) {\n setTimeout(() => {\n throw errorHandlerError;\n }, 0);\n }\n };\n var addListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/add`), {\n withTypes: () => addListener\n });\n var clearAllListeners = /* @__PURE__ */ createAction(`${alm}/removeAll`);\n var removeListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/remove`), {\n withTypes: () => removeListener\n });\n var defaultErrorHandler = (...args) => {\n console.error(`${alm}/error`, ...args);\n };\n var createListenerMiddleware = (middlewareOptions = {}) => {\n const listenerMap = /* @__PURE__ */ new Map();\n const executingListeners = /* @__PURE__ */ new Map();\n const trackExecutingListener = (entry) => {\n const count3 = executingListeners.get(entry) ?? 0;\n executingListeners.set(entry, count3 + 1);\n };\n const untrackExecutingListener = (entry) => {\n const count3 = executingListeners.get(entry) ?? 1;\n if (count3 === 1) {\n executingListeners.delete(entry);\n } else {\n executingListeners.set(entry, count3 - 1);\n }\n };\n const {\n extra,\n onError = defaultErrorHandler\n } = middlewareOptions;\n assertFunction(onError, \"onError\");\n const insertEntry = (entry) => {\n entry.unsubscribe = () => listenerMap.delete(entry.id);\n listenerMap.set(entry.id, entry);\n return (cancelOptions) => {\n entry.unsubscribe();\n if (cancelOptions?.cancelActive) {\n cancelActiveListeners(entry);\n }\n };\n };\n const startListening = (options2) => {\n const entry = findListenerEntry(listenerMap, options2) ?? createListenerEntry(options2);\n return insertEntry(entry);\n };\n assign(startListening, {\n withTypes: () => startListening\n });\n const stopListening = (options2) => {\n const entry = findListenerEntry(listenerMap, options2);\n if (entry) {\n entry.unsubscribe();\n if (options2.cancelActive) {\n cancelActiveListeners(entry);\n }\n }\n return !!entry;\n };\n assign(stopListening, {\n withTypes: () => stopListening\n });\n const notifyListener = async (entry, action, api, getOriginalState) => {\n const internalTaskController = new AbortController();\n const take = createTakePattern(startListening, internalTaskController.signal);\n const autoJoinPromises = [];\n try {\n entry.pending.add(internalTaskController);\n trackExecutingListener(entry);\n await Promise.resolve(entry.effect(\n action,\n // Use assign() rather than ... to avoid extra helper functions added to bundle\n assign({}, api, {\n getOriginalState,\n condition: (predicate, timeout) => take(predicate, timeout).then(Boolean),\n take,\n delay: createDelay(internalTaskController.signal),\n pause: createPause(internalTaskController.signal),\n extra,\n signal: internalTaskController.signal,\n fork: createFork(internalTaskController.signal, autoJoinPromises),\n unsubscribe: entry.unsubscribe,\n subscribe: () => {\n listenerMap.set(entry.id, entry);\n },\n cancelActiveListeners: () => {\n entry.pending.forEach((controller, _, set3) => {\n if (controller !== internalTaskController) {\n controller.abort(listenerCancelled);\n set3.delete(controller);\n }\n });\n },\n cancel: () => {\n internalTaskController.abort(listenerCancelled);\n entry.pending.delete(internalTaskController);\n },\n throwIfCancelled: () => {\n validateActive(internalTaskController.signal);\n }\n })\n ));\n } catch (listenerError) {\n if (!(listenerError instanceof TaskAbortError)) {\n safelyNotifyError(onError, listenerError, {\n raisedBy: \"effect\"\n });\n }\n } finally {\n await Promise.all(autoJoinPromises);\n internalTaskController.abort(listenerCompleted);\n untrackExecutingListener(entry);\n entry.pending.delete(internalTaskController);\n }\n };\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap, executingListeners);\n const middleware = (api) => (next2) => (action) => {\n if (!isAction(action)) {\n return next2(action);\n }\n if (addListener.match(action)) {\n return startListening(action.payload);\n }\n if (clearAllListeners.match(action)) {\n clearListenerMiddleware();\n return;\n }\n if (removeListener.match(action)) {\n return stopListening(action.payload);\n }\n let originalState = api.getState();\n const getOriginalState = () => {\n if (originalState === INTERNAL_NIL_TOKEN) {\n throw new Error(true ? formatProdErrorMessage2(23) : `${alm}: getOriginalState can only be called synchronously`);\n }\n return originalState;\n };\n let result;\n try {\n result = next2(action);\n if (listenerMap.size > 0) {\n const currentState = api.getState();\n const listenerEntries = Array.from(listenerMap.values());\n for (const entry of listenerEntries) {\n let runListener = false;\n try {\n runListener = entry.predicate(action, currentState, originalState);\n } catch (predicateError) {\n runListener = false;\n safelyNotifyError(onError, predicateError, {\n raisedBy: \"predicate\"\n });\n }\n if (!runListener) {\n continue;\n }\n notifyListener(entry, action, api, getOriginalState);\n }\n }\n } finally {\n originalState = INTERNAL_NIL_TOKEN;\n }\n return result;\n };\n return {\n middleware,\n startListening,\n stopListening,\n clearListeners: clearListenerMiddleware\n };\n };\n function formatProdErrorMessage2(code) {\n return `Minified Redux Toolkit error #${code}; visit https://redux-toolkit.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/layoutSlice.js\n var initialState = {\n layoutType: \"horizontal\",\n width: 0,\n height: 0,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n scale: 1\n };\n var chartLayoutSlice = createSlice({\n name: \"chartLayout\",\n initialState,\n reducers: {\n setLayout(state2, action) {\n state2.layoutType = action.payload;\n },\n setChartSize(state2, action) {\n state2.width = action.payload.width;\n state2.height = action.payload.height;\n },\n setMargin(state2, action) {\n var _action$payload$top, _action$payload$right, _action$payload$botto, _action$payload$left;\n state2.margin.top = (_action$payload$top = action.payload.top) !== null && _action$payload$top !== void 0 ? _action$payload$top : 0;\n state2.margin.right = (_action$payload$right = action.payload.right) !== null && _action$payload$right !== void 0 ? _action$payload$right : 0;\n state2.margin.bottom = (_action$payload$botto = action.payload.bottom) !== null && _action$payload$botto !== void 0 ? _action$payload$botto : 0;\n state2.margin.left = (_action$payload$left = action.payload.left) !== null && _action$payload$left !== void 0 ? _action$payload$left : 0;\n },\n setScale(state2, action) {\n state2.scale = action.payload;\n }\n }\n });\n var {\n setMargin,\n setLayout,\n setChartSize,\n setScale\n } = chartLayoutSlice.actions;\n var chartLayoutReducer = chartLayoutSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ChartUtils.js\n var import_sortBy2 = __toESM(require_sortBy2());\n var import_get2 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getSliced.js\n function getSliced(arr, startIndex, endIndex) {\n if (!Array.isArray(arr)) {\n return arr;\n }\n if (arr && startIndex + endIndex !== 0) {\n return arr.slice(startIndex, endIndex + 1);\n }\n return arr;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/isWellBehavedNumber.js\n function isWellBehavedNumber(n) {\n return Number.isFinite(n);\n }\n function isPositiveNumber(n) {\n return typeof n === \"number\" && n > 0 && Number.isFinite(n);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ChartUtils.js\n function ownKeys4(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread4(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys4(Object(t2), true).forEach(function(r3) {\n _defineProperty4(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys4(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty4(e, r2, t2) {\n return (r2 = _toPropertyKey4(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey4(t2) {\n var i = _toPrimitive4(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive4(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getValueByDataKey(obj, dataKey, defaultValue) {\n if (isNullish(obj) || isNullish(dataKey)) {\n return defaultValue;\n }\n if (isNumOrStr(dataKey)) {\n return (0, import_get2.default)(obj, dataKey, defaultValue);\n }\n if (typeof dataKey === \"function\") {\n return dataKey(obj);\n }\n return defaultValue;\n }\n var appendOffsetOfLegend = (offset4, legendSettings, legendSize) => {\n if (legendSettings && legendSize) {\n var {\n width: boxWidth,\n height: boxHeight\n } = legendSize;\n var {\n align,\n verticalAlign,\n layout\n } = legendSettings;\n if ((layout === \"vertical\" || layout === \"horizontal\" && verticalAlign === \"middle\") && align !== \"center\" && isNumber3(offset4[align])) {\n return _objectSpread4(_objectSpread4({}, offset4), {}, {\n [align]: offset4[align] + (boxWidth || 0)\n });\n }\n if ((layout === \"horizontal\" || layout === \"vertical\" && align === \"center\") && verticalAlign !== \"middle\" && isNumber3(offset4[verticalAlign])) {\n return _objectSpread4(_objectSpread4({}, offset4), {}, {\n [verticalAlign]: offset4[verticalAlign] + (boxHeight || 0)\n });\n }\n }\n return offset4;\n };\n var isCategoricalAxis = (layout, axisType) => layout === \"horizontal\" && axisType === \"xAxis\" || layout === \"vertical\" && axisType === \"yAxis\" || layout === \"centric\" && axisType === \"angleAxis\" || layout === \"radial\" && axisType === \"radiusAxis\";\n var getCoordinatesOfGrid = (ticks2, minValue, maxValue, syncWithTicks) => {\n if (syncWithTicks) {\n return ticks2.map((entry) => entry.coordinate);\n }\n var hasMin, hasMax;\n var values = ticks2.map((entry) => {\n if (entry.coordinate === minValue) {\n hasMin = true;\n }\n if (entry.coordinate === maxValue) {\n hasMax = true;\n }\n return entry.coordinate;\n });\n if (!hasMin) {\n values.push(minValue);\n }\n if (!hasMax) {\n values.push(maxValue);\n }\n return values;\n };\n var getTicksOfAxis = (axis, isGrid, isAll) => {\n if (!axis) {\n return null;\n }\n var {\n duplicateDomain,\n type,\n range: range4,\n scale,\n realScaleType,\n isCategorical,\n categoricalDomain,\n tickCount,\n ticks: ticks2,\n niceTicks,\n axisType\n } = axis;\n if (!scale) {\n return null;\n }\n var offsetForBand = realScaleType === \"scaleBand\" && scale.bandwidth ? scale.bandwidth() / 2 : 2;\n var offset4 = (isGrid || isAll) && type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && range4 && range4.length >= 2 ? mathSign(range4[0] - range4[1]) * 2 * offset4 : offset4;\n if (isGrid && (ticks2 || niceTicks)) {\n var result = (ticks2 || niceTicks || []).map((entry, index2) => {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n var scaled = scale.map(scaleContent);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n // If the scaleContent is not a number, the coordinate will be NaN.\n // That could be the case for example with a PointScale and a string as domain.\n coordinate: scaled + offset4,\n value: entry,\n offset: offset4,\n index: index2\n };\n }).filter(isNotNil);\n return result;\n }\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks && !isAll && tickCount != null) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as an index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var truncateByDomain = (value, domain) => {\n if (!domain || domain.length !== 2 || !isNumber3(domain[0]) || !isNumber3(domain[1])) {\n return value;\n }\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n if (!isNumber3(value[0]) || value[0] < minValue) {\n result[0] = minValue;\n }\n if (!isNumber3(value[1]) || value[1] > maxValue) {\n result[1] = maxValue;\n }\n if (result[0] > maxValue) {\n result[0] = maxValue;\n }\n if (result[1] < minValue) {\n result[1] = minValue;\n }\n return result;\n };\n var offsetSign = (series) => {\n var _series$;\n var n = series.length;\n if (n <= 0) {\n return;\n }\n var m = (_series$ = series[0]) === null || _series$ === void 0 ? void 0 : _series$.length;\n if (m == null || m <= 0) {\n return;\n }\n for (var j = 0; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n for (var i = 0; i < n; ++i) {\n var row = series[i];\n var col = row === null || row === void 0 ? void 0 : row[j];\n if (col == null) {\n continue;\n }\n var series1 = col[1];\n var series0 = col[0];\n var value = isNan(series1) ? series0 : series1;\n if (value >= 0) {\n col[0] = positive;\n positive += value;\n col[1] = positive;\n } else {\n col[0] = negative;\n negative += value;\n col[1] = negative;\n }\n }\n }\n };\n var offsetPositive = (series) => {\n var _series$2;\n var n = series.length;\n if (n <= 0) {\n return;\n }\n var m = (_series$2 = series[0]) === null || _series$2 === void 0 ? void 0 : _series$2.length;\n if (m == null || m <= 0) {\n return;\n }\n for (var j = 0; j < m; ++j) {\n var positive = 0;\n for (var i = 0; i < n; ++i) {\n var row = series[i];\n var col = row === null || row === void 0 ? void 0 : row[j];\n if (col == null) {\n continue;\n }\n var value = isNan(col[1]) ? col[0] : col[1];\n if (value >= 0) {\n col[0] = positive;\n positive += value;\n col[1] = positive;\n } else {\n col[0] = 0;\n col[1] = 0;\n }\n }\n }\n };\n var STACK_OFFSET_MAP = {\n sign: offsetSign,\n // @ts-expect-error definitelytyped types are incorrect\n expand: expand_default,\n // @ts-expect-error definitelytyped types are incorrect\n none: none_default,\n // @ts-expect-error definitelytyped types are incorrect\n silhouette: silhouette_default,\n // @ts-expect-error definitelytyped types are incorrect\n wiggle: wiggle_default,\n positive: offsetPositive\n };\n var getStackedData = (data, dataKeys, offsetType) => {\n var _STACK_OFFSET_MAP$off;\n var offsetAccessor = (_STACK_OFFSET_MAP$off = STACK_OFFSET_MAP[offsetType]) !== null && _STACK_OFFSET_MAP$off !== void 0 ? _STACK_OFFSET_MAP$off : none_default;\n var stack = stack_default().keys(dataKeys).value((d, key) => Number(getValueByDataKey(d, key, 0))).order(none_default2).offset(offsetAccessor);\n var result = stack(data);\n result.forEach((series, seriesIndex) => {\n series.forEach((point4, pointIndex) => {\n var value = getValueByDataKey(data[pointIndex], dataKeys[seriesIndex], 0);\n if (Array.isArray(value) && value.length === 2 && isNumber3(value[0]) && isNumber3(value[1])) {\n point4[0] = value[0];\n point4[1] = value[1];\n }\n });\n });\n return result;\n };\n function getNormalizedStackId(publicStackId) {\n return publicStackId == null ? void 0 : String(publicStackId);\n }\n function getCateCoordinateOfLine(_ref2) {\n var {\n axis,\n ticks: ticks2,\n bandSize,\n entry,\n index: index2,\n dataKey\n } = _ref2;\n if (axis.type === \"category\") {\n if (!axis.allowDuplicatedCategory && axis.dataKey && !isNullish(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks2, \"value\", entry[axis.dataKey]);\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n return ticks2 !== null && ticks2 !== void 0 && ticks2[index2] ? ticks2[index2].coordinate + bandSize / 2 : null;\n }\n var value = getValueByDataKey(entry, !isNullish(dataKey) ? dataKey : axis.dataKey);\n var scaled = axis.scale.map(value);\n if (!isNumber3(scaled)) {\n return null;\n }\n return scaled;\n }\n var getCateCoordinateOfBar = (_ref2) => {\n var {\n axis,\n ticks: ticks2,\n offset: offset4,\n bandSize,\n entry,\n index: index2\n } = _ref2;\n if (axis.type === \"category\") {\n return ticks2[index2] ? ticks2[index2].coordinate + offset4 : null;\n }\n var value = getValueByDataKey(entry, axis.dataKey, axis.scale.domain()[index2]);\n if (isNullish(value)) {\n return null;\n }\n var scaled = axis.scale.map(value);\n if (!isNumber3(scaled)) {\n return null;\n }\n return scaled - bandSize / 2 + offset4;\n };\n var getBaseValueOfBar = (_ref3) => {\n var {\n numericAxis\n } = _ref3;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === \"number\") {\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n if (minValue <= 0 && maxValue >= 0) {\n return 0;\n }\n if (maxValue < 0) {\n return maxValue;\n }\n return minValue;\n }\n return domain[0];\n };\n var getDomainOfSingle = (data) => {\n var flat = data.flat(2).filter(isNumber3);\n return [Math.min(...flat), Math.max(...flat)];\n };\n var makeDomainFinite = (domain) => {\n return [domain[0] === Infinity ? 0 : domain[0], domain[1] === -Infinity ? 0 : domain[1]];\n };\n var getDomainOfStackGroups = (stackGroups, startIndex, endIndex) => {\n if (stackGroups == null) {\n return void 0;\n }\n return makeDomainFinite(Object.keys(stackGroups).reduce((result, stackId) => {\n var group = stackGroups[stackId];\n if (!group) {\n return result;\n }\n var {\n stackedData\n } = group;\n var domain = stackedData.reduce((res, entry) => {\n var sliced = getSliced(entry, startIndex, endIndex);\n var s2 = getDomainOfSingle(sliced);\n if (!isWellBehavedNumber(s2[0]) || !isWellBehavedNumber(s2[1])) {\n return res;\n }\n return [Math.min(res[0], s2[0]), Math.max(res[1], s2[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]));\n };\n var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\n var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\n var getBandSizeOfAxis = (axis, ticks2, isBar) => {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n if (axis && ticks2 && ticks2.length >= 2) {\n var orderedTicks = (0, import_sortBy2.default)(ticks2, (o) => o.coordinate);\n var bandSize = Infinity;\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min(((cur === null || cur === void 0 ? void 0 : cur.coordinate) || 0) - ((prev === null || prev === void 0 ? void 0 : prev.coordinate) || 0), bandSize);\n }\n return bandSize === Infinity ? 0 : bandSize;\n }\n return isBar ? void 0 : 0;\n };\n function getTooltipEntry(_ref4) {\n var {\n tooltipEntrySettings,\n dataKey,\n payload,\n value,\n name\n } = _ref4;\n return _objectSpread4(_objectSpread4({}, tooltipEntrySettings), {}, {\n dataKey,\n payload,\n value,\n name\n });\n }\n function getTooltipNameProp(nameFromItem, dataKey) {\n if (nameFromItem) {\n return String(nameFromItem);\n }\n if (typeof dataKey === \"string\") {\n return dataKey;\n }\n return void 0;\n }\n var calculateCartesianTooltipPos = (coordinate, layout) => {\n if (layout === \"horizontal\") {\n return coordinate.relativeX;\n }\n if (layout === \"vertical\") {\n return coordinate.relativeY;\n }\n return void 0;\n };\n var calculatePolarTooltipPos = (rangeObj, layout) => {\n if (layout === \"centric\") {\n return rangeObj.angle;\n }\n return rangeObj.radius;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/containerSelectors.js\n var selectChartWidth = (state2) => state2.layout.width;\n var selectChartHeight = (state2) => state2.layout.height;\n var selectContainerScale = (state2) => state2.layout.scale;\n var selectMargin = (state2) => state2.layout.margin;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectAllAxes.js\n var selectAllXAxes = createSelector((state2) => state2.cartesianAxis.xAxis, (xAxisMap) => {\n return Object.values(xAxisMap);\n });\n var selectAllYAxes = createSelector((state2) => state2.cartesianAxis.yAxis, (yAxisMap) => {\n return Object.values(yAxisMap);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Constants.js\n var COLOR_PANEL = [\"#1890FF\", \"#66B5FF\", \"#41D9C7\", \"#2FC25B\", \"#6EDB8F\", \"#9AE65C\", \"#FACC14\", \"#E6965C\", \"#57AD71\", \"#223273\", \"#738AE6\", \"#7564CC\", \"#8543E0\", \"#A877ED\", \"#5C8EE6\", \"#13C2C2\", \"#70E0E0\", \"#5CA3E6\", \"#3436C7\", \"#8082FF\", \"#DD81E6\", \"#F04864\", \"#FA7D92\", \"#D598D9\"];\n var DATA_ITEM_INDEX_ATTRIBUTE_NAME = \"data-recharts-item-index\";\n var DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME = \"data-recharts-item-id\";\n var DEFAULT_Y_AXIS_WIDTH = 60;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectChartOffsetInternal.js\n function ownKeys5(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread5(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys5(Object(t2), true).forEach(function(r3) {\n _defineProperty5(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys5(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty5(e, r2, t2) {\n return (r2 = _toPropertyKey5(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey5(t2) {\n var i = _toPrimitive5(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive5(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectBrushHeight = (state2) => state2.brush.height;\n function selectLeftAxesOffset(state2) {\n var yAxes = selectAllYAxes(state2);\n return yAxes.reduce((result, entry) => {\n if (entry.orientation === \"left\" && !entry.mirror && !entry.hide) {\n var width = typeof entry.width === \"number\" ? entry.width : DEFAULT_Y_AXIS_WIDTH;\n return result + width;\n }\n return result;\n }, 0);\n }\n function selectRightAxesOffset(state2) {\n var yAxes = selectAllYAxes(state2);\n return yAxes.reduce((result, entry) => {\n if (entry.orientation === \"right\" && !entry.mirror && !entry.hide) {\n var width = typeof entry.width === \"number\" ? entry.width : DEFAULT_Y_AXIS_WIDTH;\n return result + width;\n }\n return result;\n }, 0);\n }\n function selectTopAxesOffset(state2) {\n var xAxes = selectAllXAxes(state2);\n return xAxes.reduce((result, entry) => {\n if (entry.orientation === \"top\" && !entry.mirror && !entry.hide) {\n return result + entry.height;\n }\n return result;\n }, 0);\n }\n function selectBottomAxesOffset(state2) {\n var xAxes = selectAllXAxes(state2);\n return xAxes.reduce((result, entry) => {\n if (entry.orientation === \"bottom\" && !entry.mirror && !entry.hide) {\n return result + entry.height;\n }\n return result;\n }, 0);\n }\n var selectChartOffsetInternal = createSelector([selectChartWidth, selectChartHeight, selectMargin, selectBrushHeight, selectLeftAxesOffset, selectRightAxesOffset, selectTopAxesOffset, selectBottomAxesOffset, selectLegendSettings, selectLegendSize], (chartWidth, chartHeight, margin, brushHeight, leftAxesOffset, rightAxesOffset, topAxesOffset, bottomAxesOffset, legendSettings, legendSize) => {\n var offsetH = {\n left: (margin.left || 0) + leftAxesOffset,\n right: (margin.right || 0) + rightAxesOffset\n };\n var offsetV = {\n top: (margin.top || 0) + topAxesOffset,\n bottom: (margin.bottom || 0) + bottomAxesOffset\n };\n var offset4 = _objectSpread5(_objectSpread5({}, offsetV), offsetH);\n var brushBottom = offset4.bottom;\n offset4.bottom += brushHeight;\n offset4 = appendOffsetOfLegend(offset4, legendSettings, legendSize);\n var offsetWidth = chartWidth - offset4.left - offset4.right;\n var offsetHeight = chartHeight - offset4.top - offset4.bottom;\n return _objectSpread5(_objectSpread5({\n brushBottom\n }, offset4), {}, {\n // never return negative values for height and width\n width: Math.max(offsetWidth, 0),\n height: Math.max(offsetHeight, 0)\n });\n });\n var selectChartViewBox = createSelector(selectChartOffsetInternal, (offset4) => ({\n x: offset4.left,\n y: offset4.top,\n width: offset4.width,\n height: offset4.height\n }));\n var selectAxisViewBox = createSelector(selectChartWidth, selectChartHeight, (width, height) => ({\n x: 0,\n y: 0,\n width,\n height\n }));\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/PanoramaContext.js\n var React66 = __toESM(require_react());\n var import_react19 = __toESM(require_react());\n var PanoramaContext = /* @__PURE__ */ (0, import_react19.createContext)(null);\n var useIsPanorama = () => (0, import_react19.useContext)(PanoramaContext) != null;\n var PanoramaContextProvider = (_ref2) => {\n var {\n children\n } = _ref2;\n return /* @__PURE__ */ React66.createElement(PanoramaContext.Provider, {\n value: true\n }, children);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/brushSelectors.js\n var selectBrushSettings = (state2) => state2.brush;\n var selectBrushDimensions = createSelector([selectBrushSettings, selectChartOffsetInternal, selectMargin], (brushSettings, offset4, margin) => ({\n height: brushSettings.height,\n x: isNumber3(brushSettings.x) ? brushSettings.x : offset4.left,\n y: isNumber3(brushSettings.y) ? brushSettings.y : offset4.top + offset4.height + offset4.brushBottom - ((margin === null || margin === void 0 ? void 0 : margin.bottom) || 0),\n width: isNumber3(brushSettings.width) ? brushSettings.width : offset4.width\n }));\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ResponsiveContainer.js\n var React67 = __toESM(require_react());\n var import_react20 = __toESM(require_react());\n var import_throttle = __toESM(require_throttle2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/LogUtils.js\n var isDev = true;\n var warn = function warn2(condition, format2) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n if (isDev && typeof console !== \"undefined\" && console.warn) {\n if (format2 === void 0) {\n console.warn(\"LogUtils requires an error message argument\");\n }\n if (!condition) {\n if (format2 === void 0) {\n console.warn(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");\n } else {\n var argIndex = 0;\n console.warn(format2.replace(/%s/g, () => args[argIndex++]));\n }\n }\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/responsiveContainerUtils.js\n var defaultResponsiveContainerProps = {\n width: \"100%\",\n height: \"100%\",\n debounce: 0,\n minWidth: 0,\n initialDimension: {\n width: -1,\n height: -1\n }\n };\n var calculateChartDimensions = (containerWidth, containerHeight, props) => {\n var {\n width = defaultResponsiveContainerProps.width,\n height = defaultResponsiveContainerProps.height,\n aspect,\n maxHeight\n } = props;\n var calculatedWidth = isPercent2(width) ? containerWidth : Number(width);\n var calculatedHeight = isPercent2(height) ? containerHeight : Number(height);\n if (aspect && aspect > 0) {\n if (calculatedWidth) {\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n calculatedWidth = calculatedHeight * aspect;\n }\n if (maxHeight && calculatedHeight != null && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n return {\n calculatedWidth,\n calculatedHeight\n };\n };\n var bothOverflow = {\n width: 0,\n height: 0,\n overflow: \"visible\"\n };\n var overflowX = {\n width: 0,\n overflowX: \"visible\"\n };\n var overflowY = {\n height: 0,\n overflowY: \"visible\"\n };\n var noStyle = {};\n var getInnerDivStyle = (props) => {\n var {\n width,\n height\n } = props;\n var isWidthPercent = isPercent2(width);\n var isHeightPercent = isPercent2(height);\n if (isWidthPercent && isHeightPercent) {\n return bothOverflow;\n }\n if (isWidthPercent) {\n return overflowX;\n }\n if (isHeightPercent) {\n return overflowY;\n }\n return noStyle;\n };\n function getDefaultWidthAndHeight(_ref2) {\n var {\n width,\n height,\n aspect\n } = _ref2;\n var calculatedWidth = width;\n var calculatedHeight = height;\n if (calculatedWidth === void 0 && calculatedHeight === void 0) {\n calculatedWidth = defaultResponsiveContainerProps.width;\n calculatedHeight = defaultResponsiveContainerProps.height;\n } else if (calculatedWidth === void 0) {\n calculatedWidth = aspect && aspect > 0 ? void 0 : defaultResponsiveContainerProps.width;\n } else if (calculatedHeight === void 0) {\n calculatedHeight = aspect && aspect > 0 ? void 0 : defaultResponsiveContainerProps.height;\n }\n return {\n width: calculatedWidth,\n height: calculatedHeight\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ResponsiveContainer.js\n function _extends5() {\n return _extends5 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends5.apply(null, arguments);\n }\n function ownKeys6(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread6(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys6(Object(t2), true).forEach(function(r3) {\n _defineProperty6(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys6(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty6(e, r2, t2) {\n return (r2 = _toPropertyKey6(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey6(t2) {\n var i = _toPrimitive6(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive6(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var ResponsiveContainerContext = /* @__PURE__ */ (0, import_react20.createContext)(defaultResponsiveContainerProps.initialDimension);\n function isAcceptableSize(size4) {\n return isPositiveNumber(size4.width) && isPositiveNumber(size4.height);\n }\n function ResponsiveContainerContextProvider(_ref2) {\n var {\n children,\n width,\n height\n } = _ref2;\n var size4 = (0, import_react20.useMemo)(() => ({\n width,\n height\n }), [width, height]);\n if (!isAcceptableSize(size4)) {\n return null;\n }\n return /* @__PURE__ */ React67.createElement(ResponsiveContainerContext.Provider, {\n value: size4\n }, children);\n }\n var useResponsiveContainerContext = () => (0, import_react20.useContext)(ResponsiveContainerContext);\n var SizeDetectorContainer = /* @__PURE__ */ (0, import_react20.forwardRef)((_ref2, ref) => {\n var {\n aspect,\n initialDimension = defaultResponsiveContainerProps.initialDimension,\n width,\n height,\n /*\n * default min-width to 0 if not specified - 'auto' causes issues with flexbox\n * https://github.com/recharts/recharts/issues/172\n */\n minWidth = defaultResponsiveContainerProps.minWidth,\n minHeight,\n maxHeight,\n children,\n debounce = defaultResponsiveContainerProps.debounce,\n id,\n className,\n onResize,\n style = {}\n } = _ref2;\n var containerRef = (0, import_react20.useRef)(null);\n var onResizeRef = (0, import_react20.useRef)();\n onResizeRef.current = onResize;\n (0, import_react20.useImperativeHandle)(ref, () => containerRef.current);\n var [sizes, setSizes] = (0, import_react20.useState)({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n });\n var setContainerSize = (0, import_react20.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n (0, import_react20.useEffect)(() => {\n if (containerRef.current == null || typeof ResizeObserver === \"undefined\") {\n return noop4;\n }\n var callback = (entries) => {\n var _onResizeRef$current;\n var entry = entries[0];\n if (entry == null) {\n return;\n }\n var {\n width: containerWidth3,\n height: containerHeight3\n } = entry.contentRect;\n setContainerSize(containerWidth3, containerHeight3);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth3, containerHeight3);\n };\n if (debounce > 0) {\n callback = (0, import_throttle.default)(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var {\n width: containerWidth2,\n height: containerHeight2\n } = containerRef.current.getBoundingClientRect();\n setContainerSize(containerWidth2, containerHeight2);\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var {\n containerWidth,\n containerHeight\n } = sizes;\n warn(!aspect || aspect > 0, \"The aspect(%s) must be greater than zero.\", aspect);\n var {\n calculatedWidth,\n calculatedHeight\n } = calculateChartDimensions(containerWidth, containerHeight, {\n width,\n height,\n aspect,\n maxHeight\n });\n warn(calculatedWidth != null && calculatedWidth > 0 || calculatedHeight != null && calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /* @__PURE__ */ React67.createElement(\"div\", {\n id: id ? \"\".concat(id) : void 0,\n className: clsx(\"recharts-responsive-container\", className),\n style: _objectSpread6(_objectSpread6({}, style), {}, {\n width,\n height,\n minWidth,\n minHeight,\n maxHeight\n }),\n ref: containerRef\n }, /* @__PURE__ */ React67.createElement(\"div\", {\n style: getInnerDivStyle({\n width,\n height\n })\n }, /* @__PURE__ */ React67.createElement(ResponsiveContainerContextProvider, {\n width: calculatedWidth,\n height: calculatedHeight\n }, children)));\n });\n var ResponsiveContainer = /* @__PURE__ */ (0, import_react20.forwardRef)((props, ref) => {\n var responsiveContainerContext = useResponsiveContainerContext();\n if (isPositiveNumber(responsiveContainerContext.width) && isPositiveNumber(responsiveContainerContext.height)) {\n return props.children;\n }\n var {\n width,\n height\n } = getDefaultWidthAndHeight({\n width: props.width,\n height: props.height,\n aspect: props.aspect\n });\n var {\n calculatedWidth,\n calculatedHeight\n } = calculateChartDimensions(void 0, void 0, {\n width,\n height,\n aspect: props.aspect,\n maxHeight: props.maxHeight\n });\n if (isNumber3(calculatedWidth) && isNumber3(calculatedHeight)) {\n return /* @__PURE__ */ React67.createElement(ResponsiveContainerContextProvider, {\n width: calculatedWidth,\n height: calculatedHeight\n }, props.children);\n }\n return /* @__PURE__ */ React67.createElement(SizeDetectorContainer, _extends5({}, props, {\n width,\n height,\n ref\n }));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartLayoutContext.js\n function cartesianViewBoxToTrapezoid(box) {\n if (!box) {\n return void 0;\n }\n return {\n x: box.x,\n y: box.y,\n upperWidth: \"upperWidth\" in box ? box.upperWidth : box.width,\n lowerWidth: \"lowerWidth\" in box ? box.lowerWidth : box.width,\n width: box.width,\n height: box.height\n };\n }\n var useViewBox = () => {\n var _useAppSelector;\n var panorama = useIsPanorama();\n var rootViewBox = useAppSelector(selectChartViewBox);\n var brushDimensions = useAppSelector(selectBrushDimensions);\n var brushPadding = (_useAppSelector = useAppSelector(selectBrushSettings)) === null || _useAppSelector === void 0 ? void 0 : _useAppSelector.padding;\n if (!panorama || !brushDimensions || !brushPadding) {\n return rootViewBox;\n }\n return {\n width: brushDimensions.width - brushPadding.left - brushPadding.right,\n height: brushDimensions.height - brushPadding.top - brushPadding.bottom,\n x: brushPadding.left,\n y: brushPadding.top\n };\n };\n var manyComponentsThrowErrorsIfOffsetIsUndefined = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0,\n brushBottom: 0\n };\n var useOffsetInternal = () => {\n var _useAppSelector2;\n return (_useAppSelector2 = useAppSelector(selectChartOffsetInternal)) !== null && _useAppSelector2 !== void 0 ? _useAppSelector2 : manyComponentsThrowErrorsIfOffsetIsUndefined;\n };\n var useChartWidth = () => {\n return useAppSelector(selectChartWidth);\n };\n var useChartHeight = () => {\n return useAppSelector(selectChartHeight);\n };\n var useMargin = () => {\n return useAppSelector((state2) => state2.layout.margin);\n };\n var selectChartLayout = (state2) => state2.layout.layoutType;\n var useChartLayout = () => useAppSelector(selectChartLayout);\n var useCartesianChartLayout = () => {\n var layout = useChartLayout();\n if (layout === \"horizontal\" || layout === \"vertical\") {\n return layout;\n }\n return void 0;\n };\n var selectPolarChartLayout = (state2) => {\n var layout = state2.layout.layoutType;\n if (layout === \"centric\" || layout === \"radial\") {\n return layout;\n }\n return void 0;\n };\n var usePolarChartLayout = () => {\n return useAppSelector(selectPolarChartLayout);\n };\n var useIsInChartContext = () => {\n var layout = useChartLayout();\n return layout !== void 0;\n };\n var ReportChartSize = (props) => {\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var {\n width: widthFromProps,\n height: heightFromProps\n } = props;\n var responsiveContainerCalculations = useResponsiveContainerContext();\n var width = widthFromProps;\n var height = heightFromProps;\n if (responsiveContainerCalculations) {\n width = responsiveContainerCalculations.width > 0 ? responsiveContainerCalculations.width : widthFromProps;\n height = responsiveContainerCalculations.height > 0 ? responsiveContainerCalculations.height : heightFromProps;\n }\n (0, import_react21.useEffect)(() => {\n if (!isPanorama && isPositiveNumber(width) && isPositiveNumber(height)) {\n dispatch(setChartSize({\n width,\n height\n }));\n }\n }, [dispatch, isPanorama, width, height]);\n return null;\n };\n var ReportChartMargin = (_ref2) => {\n var {\n margin\n } = _ref2;\n var dispatch = useAppDispatch();\n (0, import_react21.useEffect)(() => {\n dispatch(setMargin(margin));\n }, [dispatch, margin]);\n return null;\n };\n\n // ../../../node_modules/.bun/immer@10.2.0/node_modules/immer/dist/immer.mjs\n var NOTHING2 = /* @__PURE__ */ Symbol.for(\"immer-nothing\");\n var DRAFTABLE2 = /* @__PURE__ */ Symbol.for(\"immer-draftable\");\n var DRAFT_STATE2 = /* @__PURE__ */ Symbol.for(\"immer-state\");\n function die2(error, ...args) {\n if (false) {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n }\n var getPrototypeOf2 = Object.getPrototypeOf;\n function isDraft2(value) {\n return !!value && !!value[DRAFT_STATE2];\n }\n function isDraftable2(value) {\n if (!value)\n return false;\n return isPlainObject4(value) || Array.isArray(value) || !!value[DRAFTABLE2] || !!value.constructor?.[DRAFTABLE2] || isMap2(value) || isSet2(value);\n }\n var objectCtorString2 = Object.prototype.constructor.toString();\n var cachedCtorStrings2 = /* @__PURE__ */ new WeakMap();\n function isPlainObject4(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto2 = Object.getPrototypeOf(value);\n if (proto2 === null || proto2 === Object.prototype)\n return true;\n const Ctor = Object.hasOwnProperty.call(proto2, \"constructor\") && proto2.constructor;\n if (Ctor === Object)\n return true;\n if (typeof Ctor !== \"function\")\n return false;\n let ctorString = cachedCtorStrings2.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings2.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString2;\n }\n function each2(obj, iter, strict = true) {\n if (getArchtype2(obj) === 0) {\n const keys = strict ? Reflect.ownKeys(obj) : Object.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index2) => iter(index2, entry, obj));\n }\n }\n function getArchtype2(thing) {\n const state2 = thing[DRAFT_STATE2];\n return state2 ? state2.type_ : Array.isArray(thing) ? 1 : isMap2(thing) ? 2 : isSet2(thing) ? 3 : 0;\n }\n function has2(thing, prop) {\n return getArchtype2(thing) === 2 ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n }\n function set2(thing, propOrOldValue, value) {\n const t2 = getArchtype2(thing);\n if (t2 === 2)\n thing.set(propOrOldValue, value);\n else if (t2 === 3) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n }\n function is2(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n function isMap2(target) {\n return target instanceof Map;\n }\n function isSet2(target) {\n return target instanceof Set;\n }\n function latest2(state2) {\n return state2.copy_ || state2.base_;\n }\n function shallowCopy2(base, strict) {\n if (isMap2(base)) {\n return new Map(base);\n }\n if (isSet2(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject4(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE2];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf2(base), descriptors);\n } else {\n const proto2 = getPrototypeOf2(base);\n if (proto2 !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto2);\n return Object.assign(obj, base);\n }\n }\n function freeze2(obj, deep = false) {\n if (isFrozen2(obj) || isDraft2(obj) || !isDraftable2(obj))\n return obj;\n if (getArchtype2(obj) > 1) {\n Object.defineProperties(obj, {\n set: dontMutateMethodOverride2,\n add: dontMutateMethodOverride2,\n clear: dontMutateMethodOverride2,\n delete: dontMutateMethodOverride2\n });\n }\n Object.freeze(obj);\n if (deep)\n Object.values(obj).forEach((value) => freeze2(value, true));\n return obj;\n }\n function dontMutateFrozenCollections2() {\n die2(2);\n }\n var dontMutateMethodOverride2 = {\n value: dontMutateFrozenCollections2\n };\n function isFrozen2(obj) {\n if (obj === null || typeof obj !== \"object\")\n return true;\n return Object.isFrozen(obj);\n }\n var plugins2 = {};\n function getPlugin2(pluginKey) {\n const plugin = plugins2[pluginKey];\n if (!plugin) {\n die2(0, pluginKey);\n }\n return plugin;\n }\n var currentScope2;\n function getCurrentScope2() {\n return currentScope2;\n }\n function createScope2(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n }\n function usePatchesInScope2(scope, patchListener) {\n if (patchListener) {\n getPlugin2(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n }\n function revokeScope2(scope) {\n leaveScope2(scope);\n scope.drafts_.forEach(revokeDraft2);\n scope.drafts_ = null;\n }\n function leaveScope2(scope) {\n if (scope === currentScope2) {\n currentScope2 = scope.parent_;\n }\n }\n function enterScope2(immer22) {\n return currentScope2 = createScope2(currentScope2, immer22);\n }\n function revokeDraft2(draft) {\n const state2 = draft[DRAFT_STATE2];\n if (state2.type_ === 0 || state2.type_ === 1)\n state2.revoke_();\n else\n state2.revoked_ = true;\n }\n function processResult2(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE2].modified_) {\n revokeScope2(scope);\n die2(4);\n }\n if (isDraftable2(result)) {\n result = finalize2(scope, result);\n if (!scope.parent_)\n maybeFreeze2(scope, result);\n }\n if (scope.patches_) {\n getPlugin2(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE2].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize2(scope, baseDraft, []);\n }\n revokeScope2(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING2 ? result : void 0;\n }\n function finalize2(rootScope, value, path2) {\n if (isFrozen2(value))\n return value;\n const useStrictIteration = rootScope.immer_.shouldUseStrictIteration();\n const state2 = value[DRAFT_STATE2];\n if (!state2) {\n each2(\n value,\n (key, childValue) => finalizeProperty(rootScope, state2, value, key, childValue, path2),\n useStrictIteration\n );\n return value;\n }\n if (state2.scope_ !== rootScope)\n return value;\n if (!state2.modified_) {\n maybeFreeze2(rootScope, state2.base_, true);\n return state2.base_;\n }\n if (!state2.finalized_) {\n state2.finalized_ = true;\n state2.scope_.unfinalizedDrafts_--;\n const result = state2.copy_;\n let resultEach = result;\n let isSet22 = false;\n if (state2.type_ === 3) {\n resultEach = new Set(result);\n result.clear();\n isSet22 = true;\n }\n each2(\n resultEach,\n (key, childValue) => finalizeProperty(\n rootScope,\n state2,\n result,\n key,\n childValue,\n path2,\n isSet22\n ),\n useStrictIteration\n );\n maybeFreeze2(rootScope, result, false);\n if (path2 && rootScope.patches_) {\n getPlugin2(\"Patches\").generatePatches_(\n state2,\n path2,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state2.copy_;\n }\n function finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (childValue == null) {\n return;\n }\n if (typeof childValue !== \"object\" && !targetIsSet) {\n return;\n }\n const childIsFrozen = isFrozen2(childValue);\n if (childIsFrozen && !targetIsSet) {\n return;\n }\n if (false)\n die2(5);\n if (isDraft2(childValue)) {\n const path2 = rootPath && parentState && parentState.type_ !== 3 && // Set objects are atomic since they have no keys.\n !has2(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize2(rootScope, childValue, path2);\n set2(targetObject, prop, res);\n if (isDraft2(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable2(childValue) && !childIsFrozen) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n if (parentState && parentState.base_ && parentState.base_[prop] === childValue && childIsFrozen) {\n return;\n }\n finalize2(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && (isMap2(targetObject) ? targetObject.has(prop) : Object.prototype.propertyIsEnumerable.call(targetObject, prop)))\n maybeFreeze2(rootScope, childValue);\n }\n }\n function maybeFreeze2(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze2(value, deep);\n }\n }\n function createProxyProxy2(base, parent) {\n const isArray2 = Array.isArray(base);\n const state2 = {\n type_: isArray2 ? 1 : 0,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope2(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state2;\n let traps = objectTraps2;\n if (isArray2) {\n target = [state2];\n traps = arrayTraps2;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state2.draft_ = proxy;\n state2.revoke_ = revoke;\n return proxy;\n }\n var objectTraps2 = {\n get(state2, prop) {\n if (prop === DRAFT_STATE2)\n return state2;\n const source = latest2(state2);\n if (!has2(source, prop)) {\n return readPropFromProto2(state2, source, prop);\n }\n const value = source[prop];\n if (state2.finalized_ || !isDraftable2(value)) {\n return value;\n }\n if (value === peek2(state2.base_, prop)) {\n prepareCopy2(state2);\n return state2.copy_[prop] = createProxy2(value, state2);\n }\n return value;\n },\n has(state2, prop) {\n return prop in latest2(state2);\n },\n ownKeys(state2) {\n return Reflect.ownKeys(latest2(state2));\n },\n set(state2, prop, value) {\n const desc = getDescriptorFromProto2(latest2(state2), prop);\n if (desc?.set) {\n desc.set.call(state2.draft_, value);\n return true;\n }\n if (!state2.modified_) {\n const current22 = peek2(latest2(state2), prop);\n const currentState = current22?.[DRAFT_STATE2];\n if (currentState && currentState.base_ === value) {\n state2.copy_[prop] = value;\n state2.assigned_[prop] = false;\n return true;\n }\n if (is2(value, current22) && (value !== void 0 || has2(state2.base_, prop)))\n return true;\n prepareCopy2(state2);\n markChanged2(state2);\n }\n if (state2.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state2.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state2.copy_[prop]))\n return true;\n state2.copy_[prop] = value;\n state2.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state2, prop) {\n if (peek2(state2.base_, prop) !== void 0 || prop in state2.base_) {\n state2.assigned_[prop] = false;\n prepareCopy2(state2);\n markChanged2(state2);\n } else {\n delete state2.assigned_[prop];\n }\n if (state2.copy_) {\n delete state2.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state2, prop) {\n const owner = latest2(state2);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state2.type_ !== 1 || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die2(11);\n },\n getPrototypeOf(state2) {\n return getPrototypeOf2(state2.base_);\n },\n setPrototypeOf() {\n die2(12);\n }\n };\n var arrayTraps2 = {};\n each2(objectTraps2, (key, fn) => {\n arrayTraps2[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n });\n arrayTraps2.deleteProperty = function(state2, prop) {\n if (false)\n die2(13);\n return arrayTraps2.set.call(this, state2, prop, void 0);\n };\n arrayTraps2.set = function(state2, prop, value) {\n if (false)\n die2(14);\n return objectTraps2.set.call(this, state2[0], prop, value, state2[0]);\n };\n function peek2(draft, prop) {\n const state2 = draft[DRAFT_STATE2];\n const source = state2 ? latest2(state2) : draft;\n return source[prop];\n }\n function readPropFromProto2(state2, source, prop) {\n const desc = getDescriptorFromProto2(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state2.draft_)\n ) : void 0;\n }\n function getDescriptorFromProto2(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto2 = getPrototypeOf2(source);\n while (proto2) {\n const desc = Object.getOwnPropertyDescriptor(proto2, prop);\n if (desc)\n return desc;\n proto2 = getPrototypeOf2(proto2);\n }\n return void 0;\n }\n function markChanged2(state2) {\n if (!state2.modified_) {\n state2.modified_ = true;\n if (state2.parent_) {\n markChanged2(state2.parent_);\n }\n }\n }\n function prepareCopy2(state2) {\n if (!state2.copy_) {\n state2.copy_ = shallowCopy2(\n state2.base_,\n state2.scope_.immer_.useStrictShallowCopy_\n );\n }\n }\n var Immer22 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = true;\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self2 = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self2.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die2(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die2(7);\n let result;\n if (isDraftable2(base)) {\n const scope = enterScope2(this);\n const proxy = createProxy2(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope2(scope);\n else\n leaveScope2(scope);\n }\n usePatchesInScope2(scope, patchListener);\n return processResult2(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING2)\n result = void 0;\n if (this.autoFreeze_)\n freeze2(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin2(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die2(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state2, ...args) => this.produceWithPatches(state2, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (typeof config?.useStrictIteration === \"boolean\")\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable2(base))\n die2(8);\n if (isDraft2(base))\n base = current2(base);\n const scope = enterScope2(this);\n const proxy = createProxy2(base, void 0);\n proxy[DRAFT_STATE2].isManual_ = true;\n leaveScope2(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state2 = draft && draft[DRAFT_STATE2];\n if (!state2 || !state2.isManual_)\n die2(9);\n const { scope_: scope } = state2;\n usePatchesInScope2(scope, patchListener);\n return processResult2(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin2(\"Patches\").applyPatches_;\n if (isDraft2(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n };\n function createProxy2(value, parent) {\n const draft = isMap2(value) ? getPlugin2(\"MapSet\").proxyMap_(value, parent) : isSet2(value) ? getPlugin2(\"MapSet\").proxySet_(value, parent) : createProxyProxy2(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope2();\n scope.drafts_.push(draft);\n return draft;\n }\n function current2(value) {\n if (!isDraft2(value))\n die2(10, value);\n return currentImpl2(value);\n }\n function currentImpl2(value) {\n if (!isDraftable2(value) || isFrozen2(value))\n return value;\n const state2 = value[DRAFT_STATE2];\n let copy3;\n let strict = true;\n if (state2) {\n if (!state2.modified_)\n return state2.base_;\n state2.finalized_ = true;\n copy3 = shallowCopy2(value, state2.scope_.immer_.useStrictShallowCopy_);\n strict = state2.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy3 = shallowCopy2(value, true);\n }\n each2(\n copy3,\n (key, childValue) => {\n set2(copy3, key, currentImpl2(childValue));\n },\n strict\n );\n if (state2) {\n state2.finalized_ = false;\n }\n return copy3;\n }\n var immer2 = new Immer22();\n var produce2 = immer2.produce;\n function castDraft(value) {\n return value;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/legendSlice.js\n var initialState2 = {\n settings: {\n layout: \"horizontal\",\n align: \"center\",\n verticalAlign: \"middle\",\n itemSorter: \"value\"\n },\n size: {\n width: 0,\n height: 0\n },\n payload: []\n };\n var legendSlice = createSlice({\n name: \"legend\",\n initialState: initialState2,\n reducers: {\n setLegendSize(state2, action) {\n state2.size.width = action.payload.width;\n state2.size.height = action.payload.height;\n },\n setLegendSettings(state2, action) {\n state2.settings.align = action.payload.align;\n state2.settings.layout = action.payload.layout;\n state2.settings.verticalAlign = action.payload.verticalAlign;\n state2.settings.itemSorter = action.payload.itemSorter;\n },\n addLegendPayload: {\n reducer(state2, action) {\n state2.payload.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceLegendPayload: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).payload.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.payload[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeLegendPayload: {\n reducer(state2, action) {\n var index2 = current(state2).payload.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.payload.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n setLegendSize,\n setLegendSettings,\n addLegendPayload,\n replaceLegendPayload,\n removeLegendPayload\n } = legendSlice.actions;\n var legendReducer = legendSlice.reducer;\n\n // ../../../node_modules/.bun/react-redux@9.2.0+d662c712299d1b1e/node_modules/react-redux/dist/react-redux.mjs\n var React68 = __toESM(require_react(), 1);\n var import_with_selector2 = __toESM(require_with_selector2(), 1);\n var REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var ForwardRef = REACT_FORWARD_REF_TYPE;\n var Memo = REACT_MEMO_TYPE;\n function defaultNoopBatch(callback) {\n callback();\n }\n function createListenerCollection() {\n let first = null;\n let last2 = null;\n return {\n clear() {\n first = null;\n last2 = null;\n },\n notify() {\n defaultNoopBatch(() => {\n let listener2 = first;\n while (listener2) {\n listener2.callback();\n listener2 = listener2.next;\n }\n });\n },\n get() {\n const listeners = [];\n let listener2 = first;\n while (listener2) {\n listeners.push(listener2);\n listener2 = listener2.next;\n }\n return listeners;\n },\n subscribe(callback) {\n let isSubscribed = true;\n const listener2 = last2 = {\n callback,\n next: null,\n prev: last2\n };\n if (listener2.prev) {\n listener2.prev.next = listener2;\n } else {\n first = listener2;\n }\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n if (listener2.next) {\n listener2.next.prev = listener2.prev;\n } else {\n last2 = listener2.prev;\n }\n if (listener2.prev) {\n listener2.prev.next = listener2.next;\n } else {\n first = listener2.next;\n }\n };\n }\n };\n }\n var nullListeners = {\n notify() {\n },\n get: () => []\n };\n function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n let subscriptionsAmount = 0;\n let selfSubscribed = false;\n function addNestedSub(listener2) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener2);\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n function notifyNestedSubs() {\n listeners.notify();\n }\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n function isSubscribed() {\n return selfSubscribed;\n }\n function trySubscribe() {\n subscriptionsAmount++;\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n function tryUnsubscribe() {\n subscriptionsAmount--;\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = void 0;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n }\n var canUseDOM2 = () => !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\n var isDOM = /* @__PURE__ */ canUseDOM2();\n var isRunningInReactNative = () => typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\";\n var isReactNative = /* @__PURE__ */ isRunningInReactNative();\n var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? React68.useLayoutEffect : React68.useEffect;\n var useIsomorphicLayoutEffect2 = /* @__PURE__ */ getUseIsomorphicLayoutEffect();\n function is3(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || y2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n function shallowEqual(objA, objB) {\n if (is3(objA, objB)) return true;\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is3(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n }\n var FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n };\n var MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n };\n var TYPE_STATICS = {\n [ForwardRef]: FORWARD_REF_STATICS,\n [Memo]: MEMO_STATICS\n };\n var objectPrototype = Object.prototype;\n var ContextKey = /* @__PURE__ */ Symbol.for(`react-redux-context`);\n var gT = typeof globalThis !== \"undefined\" ? globalThis : (\n /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n {}\n );\n function getContext() {\n if (!React68.createContext) return {};\n const contextMap = gT[ContextKey] ??= /* @__PURE__ */ new Map();\n let realContext = contextMap.get(React68.createContext);\n if (!realContext) {\n realContext = React68.createContext(\n null\n );\n if (false) {\n realContext.displayName = \"ReactRedux\";\n }\n contextMap.set(React68.createContext, realContext);\n }\n return realContext;\n }\n var ReactReduxContext = /* @__PURE__ */ getContext();\n function Provider2(providerProps) {\n const { children, context, serverState, store } = providerProps;\n const contextValue = React68.useMemo(() => {\n const subscription = createSubscription(store);\n const baseContextValue = {\n store,\n subscription,\n getServerState: serverState ? () => serverState : void 0\n };\n if (true) {\n return baseContextValue;\n } else {\n const { identityFunctionCheck = \"once\", stabilityCheck = \"once\" } = providerProps;\n return /* @__PURE__ */ Object.assign(baseContextValue, {\n stabilityCheck,\n identityFunctionCheck\n });\n }\n }, [store, serverState]);\n const previousState = React68.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect2(() => {\n const { subscription } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = void 0;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext;\n return /* @__PURE__ */ React68.createElement(Context.Provider, { value: contextValue }, children);\n }\n var Provider_default = Provider2;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/propsAreEqual.js\n var propsToShallowCompare = /* @__PURE__ */ new Set([\n \"axisLine\",\n \"tickLine\",\n \"activeBar\",\n \"activeDot\",\n \"activeLabel\",\n \"activeShape\",\n \"allowEscapeViewBox\",\n \"background\",\n \"cursor\",\n \"dot\",\n \"label\",\n \"line\",\n \"margin\",\n \"padding\",\n \"position\",\n \"shape\",\n \"style\",\n \"tick\",\n \"wrapperStyle\",\n // radius can be an array of 4 numbers, easy to compare shallowly\n \"radius\",\n \"throttledEvents\"\n ]);\n function sameValueZero(x2, y2) {\n if (x2 == null && y2 == null) {\n return true;\n }\n if (typeof x2 === \"number\" && typeof y2 === \"number\") {\n return x2 === y2 || x2 !== x2 && y2 !== y2;\n }\n return x2 === y2;\n }\n function propsAreEqual(prevProps, nextProps) {\n var allKeys = /* @__PURE__ */ new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);\n for (var key of allKeys) {\n if (propsToShallowCompare.has(key)) {\n if (prevProps[key] == null && nextProps[key] == null) {\n continue;\n }\n if (!shallowEqual(prevProps[key], nextProps[key])) {\n return false;\n }\n } else if (!sameValueZero(prevProps[key], nextProps[key])) {\n return false;\n }\n }\n return true;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Legend.js\n var _excluded4 = [\"contextPayload\"];\n function _extends6() {\n return _extends6 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends6.apply(null, arguments);\n }\n function ownKeys7(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread7(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys7(Object(t2), true).forEach(function(r3) {\n _defineProperty7(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys7(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty7(e, r2, t2) {\n return (r2 = _toPropertyKey7(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey7(t2) {\n var i = _toPrimitive7(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive7(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties4(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose4(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose4(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function defaultUniqBy(entry) {\n return entry.value;\n }\n function LegendContent(props) {\n var {\n contextPayload\n } = props, otherProps = _objectWithoutProperties4(props, _excluded4);\n var finalPayload = getUniqPayload(contextPayload, props.payloadUniqBy, defaultUniqBy);\n var contentProps = _objectSpread7(_objectSpread7({}, otherProps), {}, {\n payload: finalPayload\n });\n if (/* @__PURE__ */ React69.isValidElement(props.content)) {\n return /* @__PURE__ */ React69.cloneElement(props.content, contentProps);\n }\n if (typeof props.content === \"function\") {\n return /* @__PURE__ */ React69.createElement(props.content, contentProps);\n }\n return /* @__PURE__ */ React69.createElement(DefaultLegendContent, contentProps);\n }\n function getDefaultPosition(style, props, margin, chartWidth, chartHeight, box) {\n var {\n layout,\n align,\n verticalAlign\n } = props;\n var hPos, vPos;\n if (!style || (style.left === void 0 || style.left === null) && (style.right === void 0 || style.right === null)) {\n if (align === \"center\" && layout === \"vertical\") {\n hPos = {\n left: ((chartWidth || 0) - box.width) / 2\n };\n } else {\n hPos = align === \"right\" ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n if (!style || (style.top === void 0 || style.top === null) && (style.bottom === void 0 || style.bottom === null)) {\n if (verticalAlign === \"middle\") {\n vPos = {\n top: ((chartHeight || 0) - box.height) / 2\n };\n } else {\n vPos = verticalAlign === \"bottom\" ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n return _objectSpread7(_objectSpread7({}, hPos), vPos);\n }\n function LegendSettingsDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react22.useEffect)(() => {\n dispatch(setLegendSettings(props));\n }, [dispatch, props]);\n return null;\n }\n function LegendSizeDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react22.useEffect)(() => {\n dispatch(setLegendSize(props));\n return () => {\n dispatch(setLegendSize({\n width: 0,\n height: 0\n }));\n };\n }, [dispatch, props]);\n return null;\n }\n function getWidthOrHeight(layout, height, width, maxWidth) {\n if (layout === \"vertical\" && height != null) {\n return {\n height\n };\n }\n if (layout === \"horizontal\") {\n return {\n width: width || maxWidth\n };\n }\n return null;\n }\n var legendDefaultProps = {\n align: \"center\",\n iconSize: 14,\n inactiveColor: \"#ccc\",\n itemSorter: \"value\",\n layout: \"horizontal\",\n verticalAlign: \"bottom\"\n };\n function LegendImpl(outsideProps) {\n var props = resolveDefaultProps(outsideProps, legendDefaultProps);\n var contextPayload = useLegendPayload();\n var legendPortalFromContext = useLegendPortal();\n var margin = useMargin();\n var {\n width: widthFromProps,\n height: heightFromProps,\n wrapperStyle,\n portal: portalFromProps\n } = props;\n var [lastBoundingBox, updateBoundingBox] = useElementOffset([contextPayload]);\n var chartWidth = useChartWidth();\n var chartHeight = useChartHeight();\n if (chartWidth == null || chartHeight == null) {\n return null;\n }\n var maxWidth = chartWidth - ((margin === null || margin === void 0 ? void 0 : margin.left) || 0) - ((margin === null || margin === void 0 ? void 0 : margin.right) || 0);\n var widthOrHeight = getWidthOrHeight(props.layout, heightFromProps, widthFromProps, maxWidth);\n var outerStyle = portalFromProps ? wrapperStyle : _objectSpread7(_objectSpread7({\n position: \"absolute\",\n width: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.width) || widthFromProps || \"auto\",\n height: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.height) || heightFromProps || \"auto\"\n }, getDefaultPosition(wrapperStyle, props, margin, chartWidth, chartHeight, lastBoundingBox)), wrapperStyle);\n var legendPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : legendPortalFromContext;\n if (legendPortal == null || contextPayload == null) {\n return null;\n }\n var legendElement = /* @__PURE__ */ React69.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: updateBoundingBox\n }, /* @__PURE__ */ React69.createElement(LegendSettingsDispatcher, {\n layout: props.layout,\n align: props.align,\n verticalAlign: props.verticalAlign,\n itemSorter: props.itemSorter\n }), !portalFromProps && /* @__PURE__ */ React69.createElement(LegendSizeDispatcher, {\n width: lastBoundingBox.width,\n height: lastBoundingBox.height\n }), /* @__PURE__ */ React69.createElement(LegendContent, _extends6({}, props, widthOrHeight, {\n margin,\n chartWidth,\n chartHeight,\n contextPayload\n })));\n return /* @__PURE__ */ (0, import_react_dom3.createPortal)(legendElement, legendPortal);\n }\n var Legend = /* @__PURE__ */ React69.memo(LegendImpl, propsAreEqual);\n Legend.displayName = \"Legend\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Tooltip.js\n var React77 = __toESM(require_react());\n var import_react32 = __toESM(require_react());\n var import_react_dom5 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultTooltipContent.js\n var React70 = __toESM(require_react());\n var import_sortBy3 = __toESM(require_sortBy2());\n function _extends7() {\n return _extends7 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends7.apply(null, arguments);\n }\n function ownKeys8(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread8(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys8(Object(t2), true).forEach(function(r3) {\n _defineProperty8(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys8(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty8(e, r2, t2) {\n return (r2 = _toPropertyKey8(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey8(t2) {\n var i = _toPrimitive8(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive8(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultFormatter(value) {\n return Array.isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(\" ~ \") : value;\n }\n var defaultDefaultTooltipContentProps = {\n separator: \" : \",\n contentStyle: {\n margin: 0,\n padding: 10,\n backgroundColor: \"#fff\",\n border: \"1px solid #ccc\",\n whiteSpace: \"nowrap\"\n },\n itemStyle: {\n display: \"block\",\n paddingTop: 4,\n paddingBottom: 4,\n color: \"#000\"\n },\n labelStyle: {},\n accessibilityLayer: false\n };\n function lodashLikeSortBy(array2, itemSorter) {\n if (itemSorter == null) {\n return array2;\n }\n return (0, import_sortBy3.default)(array2, itemSorter);\n }\n var DefaultTooltipContent = (props) => {\n var {\n separator = defaultDefaultTooltipContentProps.separator,\n contentStyle,\n itemStyle,\n labelStyle = defaultDefaultTooltipContentProps.labelStyle,\n payload,\n formatter,\n itemSorter,\n wrapperClassName,\n labelClassName,\n label,\n labelFormatter,\n accessibilityLayer = defaultDefaultTooltipContentProps.accessibilityLayer\n } = props;\n var renderContent2 = () => {\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var sortedPayload = lodashLikeSortBy(payload, itemSorter);\n var items = sortedPayload.map((entry, i) => {\n if (entry.type === \"none\") {\n return null;\n }\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var {\n value,\n name\n } = entry;\n var finalValue = value;\n var finalName = name;\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n if (Array.isArray(formatted)) {\n [finalValue, finalName] = formatted;\n } else if (formatted != null) {\n finalValue = formatted;\n } else {\n return null;\n }\n }\n var finalItemStyle = _objectSpread8(_objectSpread8({}, defaultDefaultTooltipContentProps.itemStyle), {}, {\n color: entry.color || defaultDefaultTooltipContentProps.itemStyle.color\n }, itemStyle);\n return /* @__PURE__ */ React70.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(finalName) ? /* @__PURE__ */ React70.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, finalName) : null, isNumOrStr(finalName) ? /* @__PURE__ */ React70.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /* @__PURE__ */ React70.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, finalValue), /* @__PURE__ */ React70.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || \"\"));\n });\n return /* @__PURE__ */ React70.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n return null;\n };\n var finalStyle = _objectSpread8(_objectSpread8({}, defaultDefaultTooltipContentProps.contentStyle), contentStyle);\n var finalLabelStyle = _objectSpread8({\n margin: 0\n }, labelStyle);\n var hasLabel = !isNullish(label);\n var finalLabel = hasLabel ? label : \"\";\n var wrapperCN = clsx(\"recharts-default-tooltip\", wrapperClassName);\n var labelCN = clsx(\"recharts-tooltip-label\", labelClassName);\n if (hasLabel && labelFormatter && payload !== void 0 && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n var accessibilityAttributes = accessibilityLayer ? {\n role: \"status\",\n \"aria-live\": \"assertive\"\n } : {};\n return /* @__PURE__ */ React70.createElement(\"div\", _extends7({\n className: wrapperCN,\n style: finalStyle\n }, accessibilityAttributes), /* @__PURE__ */ React70.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /* @__PURE__ */ React70.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent2());\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/TooltipBoundingBox.js\n var React71 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/tooltip/translate.js\n var CSS_CLASS_PREFIX = \"recharts-tooltip-wrapper\";\n var TOOLTIP_HIDDEN = {\n visibility: \"hidden\"\n };\n function getTooltipCSSClassName(_ref2) {\n var {\n coordinate,\n translateX,\n translateY\n } = _ref2;\n return clsx(CSS_CLASS_PREFIX, {\n [\"\".concat(CSS_CLASS_PREFIX, \"-right\")]: isNumber3(translateX) && coordinate && isNumber3(coordinate.x) && translateX >= coordinate.x,\n [\"\".concat(CSS_CLASS_PREFIX, \"-left\")]: isNumber3(translateX) && coordinate && isNumber3(coordinate.x) && translateX < coordinate.x,\n [\"\".concat(CSS_CLASS_PREFIX, \"-bottom\")]: isNumber3(translateY) && coordinate && isNumber3(coordinate.y) && translateY >= coordinate.y,\n [\"\".concat(CSS_CLASS_PREFIX, \"-top\")]: isNumber3(translateY) && coordinate && isNumber3(coordinate.y) && translateY < coordinate.y\n });\n }\n function getTooltipTranslateXY(_ref2) {\n var {\n allowEscapeViewBox,\n coordinate,\n key,\n offset: offset4,\n position: position2,\n reverseDirection,\n tooltipDimension,\n viewBox,\n viewBoxDimension\n } = _ref2;\n if (position2 && isNumber3(position2[key])) {\n return position2[key];\n }\n var negative = coordinate[key] - tooltipDimension - (offset4 > 0 ? offset4 : 0);\n var positive = coordinate[key] + offset4;\n if (allowEscapeViewBox[key]) {\n return reverseDirection[key] ? negative : positive;\n }\n var viewBoxKey = viewBox[key];\n if (viewBoxKey == null) {\n return 0;\n }\n if (reverseDirection[key]) {\n var _tooltipBoundary = negative;\n var _viewBoxBoundary = viewBoxKey;\n if (_tooltipBoundary < _viewBoxBoundary) {\n return Math.max(positive, viewBoxKey);\n }\n return Math.max(negative, viewBoxKey);\n }\n if (viewBoxDimension == null) {\n return 0;\n }\n var tooltipBoundary = positive + tooltipDimension;\n var viewBoxBoundary = viewBoxKey + viewBoxDimension;\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(negative, viewBoxKey);\n }\n return Math.max(positive, viewBoxKey);\n }\n function getTransformStyle(_ref3) {\n var {\n translateX,\n translateY,\n useTranslate3d\n } = _ref3;\n return {\n transform: useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n };\n }\n function getTooltipTranslate(_ref4) {\n var {\n allowEscapeViewBox,\n coordinate,\n offsetTop,\n offsetLeft,\n position: position2,\n reverseDirection,\n tooltipBox,\n useTranslate3d,\n viewBox\n } = _ref4;\n var cssProperties, translateX, translateY;\n if (tooltipBox.height > 0 && tooltipBox.width > 0 && coordinate) {\n translateX = getTooltipTranslateXY({\n allowEscapeViewBox,\n coordinate,\n key: \"x\",\n offset: offsetLeft,\n position: position2,\n reverseDirection,\n tooltipDimension: tooltipBox.width,\n viewBox,\n viewBoxDimension: viewBox.width\n });\n translateY = getTooltipTranslateXY({\n allowEscapeViewBox,\n coordinate,\n key: \"y\",\n offset: offsetTop,\n position: position2,\n reverseDirection,\n tooltipDimension: tooltipBox.height,\n viewBox,\n viewBoxDimension: viewBox.height\n });\n cssProperties = getTransformStyle({\n translateX,\n translateY,\n useTranslate3d\n });\n } else {\n cssProperties = TOOLTIP_HIDDEN;\n }\n return {\n cssProperties,\n cssClasses: getTooltipCSSClassName({\n translateX,\n translateY,\n coordinate\n })\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/usePrefersReducedMotion.js\n var import_react23 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Global.js\n var parseIsSsrByDefault = () => !(typeof window !== \"undefined\" && window.document && Boolean(window.document.createElement) && window.setTimeout);\n var Global = {\n devToolsEnabled: true,\n isSsr: parseIsSsrByDefault()\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/usePrefersReducedMotion.js\n function usePrefersReducedMotion() {\n var [prefersReducedMotion, setPrefersReducedMotion] = (0, import_react23.useState)(() => {\n if (Global.isSsr) {\n return false;\n }\n if (!window.matchMedia) {\n return false;\n }\n return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n });\n (0, import_react23.useEffect)(() => {\n if (!window.matchMedia) {\n return;\n }\n var mediaQuery = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n var handleChange = () => {\n setPrefersReducedMotion(mediaQuery.matches);\n };\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => {\n mediaQuery.removeEventListener(\"change\", handleChange);\n };\n }, []);\n return prefersReducedMotion;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/TooltipBoundingBox.js\n function ownKeys9(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread9(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys9(Object(t2), true).forEach(function(r3) {\n _defineProperty9(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys9(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty9(e, r2, t2) {\n return (r2 = _toPropertyKey9(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey9(t2) {\n var i = _toPrimitive9(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive9(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function resolveTransitionProperty(args) {\n if (args.prefersReducedMotion && args.isAnimationActive === \"auto\") {\n return void 0;\n }\n if (args.isAnimationActive && args.active) {\n return \"transform \".concat(args.animationDuration, \"ms \").concat(args.animationEasing);\n }\n return void 0;\n }\n function TooltipBoundingBoxImpl(props) {\n var _props$coordinate3, _props$coordinate4, _props$coordinate$x2, _props$coordinate5, _props$coordinate$y2, _props$coordinate6;\n var prefersReducedMotion = usePrefersReducedMotion();\n var [state2, setState] = React71.useState(() => ({\n dismissed: false,\n dismissedAtCoordinate: {\n x: 0,\n y: 0\n }\n }));\n React71.useEffect(() => {\n var handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n var _props$coordinate$x, _props$coordinate, _props$coordinate$y, _props$coordinate2;\n setState({\n dismissed: true,\n dismissedAtCoordinate: {\n x: (_props$coordinate$x = (_props$coordinate = props.coordinate) === null || _props$coordinate === void 0 ? void 0 : _props$coordinate.x) !== null && _props$coordinate$x !== void 0 ? _props$coordinate$x : 0,\n y: (_props$coordinate$y = (_props$coordinate2 = props.coordinate) === null || _props$coordinate2 === void 0 ? void 0 : _props$coordinate2.y) !== null && _props$coordinate$y !== void 0 ? _props$coordinate$y : 0\n }\n });\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [(_props$coordinate3 = props.coordinate) === null || _props$coordinate3 === void 0 ? void 0 : _props$coordinate3.x, (_props$coordinate4 = props.coordinate) === null || _props$coordinate4 === void 0 ? void 0 : _props$coordinate4.y]);\n if (state2.dismissed && (((_props$coordinate$x2 = (_props$coordinate5 = props.coordinate) === null || _props$coordinate5 === void 0 ? void 0 : _props$coordinate5.x) !== null && _props$coordinate$x2 !== void 0 ? _props$coordinate$x2 : 0) !== state2.dismissedAtCoordinate.x || ((_props$coordinate$y2 = (_props$coordinate6 = props.coordinate) === null || _props$coordinate6 === void 0 ? void 0 : _props$coordinate6.y) !== null && _props$coordinate$y2 !== void 0 ? _props$coordinate$y2 : 0) !== state2.dismissedAtCoordinate.y)) {\n setState(_objectSpread9(_objectSpread9({}, state2), {}, {\n dismissed: false\n }));\n }\n var {\n cssClasses,\n cssProperties\n } = getTooltipTranslate({\n allowEscapeViewBox: props.allowEscapeViewBox,\n coordinate: props.coordinate,\n offsetLeft: typeof props.offset === \"number\" ? props.offset : props.offset.x,\n offsetTop: typeof props.offset === \"number\" ? props.offset : props.offset.y,\n position: props.position,\n reverseDirection: props.reverseDirection,\n tooltipBox: {\n height: props.lastBoundingBox.height,\n width: props.lastBoundingBox.width\n },\n useTranslate3d: props.useTranslate3d,\n viewBox: props.viewBox\n });\n var positionStyle = props.hasPortalFromProps ? {} : _objectSpread9(_objectSpread9({\n transition: resolveTransitionProperty({\n prefersReducedMotion,\n isAnimationActive: props.isAnimationActive,\n active: props.active,\n animationDuration: props.animationDuration,\n animationEasing: props.animationEasing\n })\n }, cssProperties), {}, {\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0\n });\n var outerStyle = _objectSpread9(_objectSpread9({}, positionStyle), {}, {\n visibility: !state2.dismissed && props.active && props.hasPayload ? \"visible\" : \"hidden\"\n }, props.wrapperStyle);\n return /* @__PURE__ */ React71.createElement(\"div\", {\n // @ts-expect-error typescript library does not recognize xmlns attribute, but it's required for an HTML chunk inside SVG.\n xmlns: \"http://www.w3.org/1999/xhtml\",\n tabIndex: -1,\n className: cssClasses,\n style: outerStyle,\n ref: props.innerRef\n }, props.children);\n }\n var TooltipBoundingBox = /* @__PURE__ */ React71.memo(TooltipBoundingBoxImpl);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/accessibilityContext.js\n var useAccessibilityLayer = () => {\n var _useAppSelector;\n return (_useAppSelector = useAppSelector((state2) => state2.rootProps.accessibilityLayer)) !== null && _useAppSelector !== void 0 ? _useAppSelector : true;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cursor.js\n var React76 = __toESM(require_react());\n var import_react29 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Curve.js\n var React72 = __toESM(require_react());\n function _extends8() {\n return _extends8 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends8.apply(null, arguments);\n }\n function ownKeys10(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread10(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys10(Object(t2), true).forEach(function(r3) {\n _defineProperty10(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys10(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty10(e, r2, t2) {\n return (r2 = _toPropertyKey10(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey10(t2) {\n var i = _toPrimitive10(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive10(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var CURVE_FACTORIES = {\n curveBasisClosed: basisClosed_default,\n curveBasisOpen: basisOpen_default,\n curveBasis: basis_default,\n curveBumpX: bumpX,\n curveBumpY: bumpY,\n curveLinearClosed: linearClosed_default,\n curveLinear: linear_default,\n curveMonotoneX: monotoneX,\n curveMonotoneY: monotoneY,\n curveNatural: natural_default,\n curveStep: step_default,\n curveStepAfter: stepAfter,\n curveStepBefore: stepBefore\n };\n var defined = (p) => isWellBehavedNumber(p.x) && isWellBehavedNumber(p.y);\n var areaDefined = (d) => d.base != null && defined(d.base) && defined(d);\n var getX = (p) => p.x;\n var getY = (p) => p.y;\n var getCurveFactory = (type, layout) => {\n if (typeof type === \"function\") {\n return type;\n }\n var name = \"curve\".concat(upperFirst(type));\n if ((name === \"curveMonotone\" || name === \"curveBump\") && layout) {\n var factory = CURVE_FACTORIES[\"\".concat(name).concat(layout === \"vertical\" ? \"Y\" : \"X\")];\n if (factory) {\n return factory;\n }\n }\n return CURVE_FACTORIES[name] || linear_default;\n };\n var defaultCurveProps = {\n connectNulls: false,\n type: \"linear\"\n };\n var getPath = (_ref2) => {\n var {\n type = defaultCurveProps.type,\n points = [],\n baseLine,\n layout,\n connectNulls = defaultCurveProps.connectNulls\n } = _ref2;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(defined) : points;\n if (Array.isArray(baseLine)) {\n var _lineFunction;\n var areaPoints = points.map((entry, index2) => _objectSpread10(_objectSpread10({}, entry), {}, {\n base: baseLine[index2]\n }));\n if (layout === \"vertical\") {\n _lineFunction = area_default().y(getY).x1(getX).x0((d) => d.base.x);\n } else {\n _lineFunction = area_default().x(getX).y1(getY).y0((d) => d.base.y);\n }\n var _nullableLineFunction = _lineFunction.defined(areaDefined).curve(curveFactory);\n var finalPoints = connectNulls ? areaPoints.filter(areaDefined) : areaPoints;\n return _nullableLineFunction(finalPoints);\n }\n var lineFunction;\n if (layout === \"vertical\" && isNumber3(baseLine)) {\n lineFunction = area_default().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber3(baseLine)) {\n lineFunction = area_default().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = line_default().x(getX).y(getY);\n }\n var nullableLineFunction = lineFunction.defined(defined).curve(curveFactory);\n return nullableLineFunction(formatPoints);\n };\n var Curve = (props) => {\n var {\n className,\n points,\n path: path2,\n pathRef\n } = props;\n var layout = useChartLayout();\n if ((!points || !points.length) && !path2) {\n return null;\n }\n var getPathInput = {\n type: props.type,\n points: props.points,\n baseLine: props.baseLine,\n layout: props.layout || layout,\n connectNulls: props.connectNulls\n };\n var realPath = points && points.length ? getPath(getPathInput) : path2;\n return /* @__PURE__ */ React72.createElement(\"path\", _extends8({}, svgPropertiesNoEvents(props), adaptEventHandlers(props), {\n className: clsx(\"recharts-curve\", className),\n d: realPath === null ? void 0 : realPath,\n ref: pathRef\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Cross.js\n var React73 = __toESM(require_react());\n var _excluded5 = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\n function _extends9() {\n return _extends9 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends9.apply(null, arguments);\n }\n function ownKeys11(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread11(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys11(Object(t2), true).forEach(function(r3) {\n _defineProperty11(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys11(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty11(e, r2, t2) {\n return (r2 = _toPropertyKey11(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey11(t2) {\n var i = _toPrimitive11(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive11(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties5(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose5(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose5(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var getPath2 = (x2, y2, width, height, top, left) => {\n return \"M\".concat(x2, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y2, \"h\").concat(width);\n };\n var Cross = (_ref2) => {\n var {\n x: x2 = 0,\n y: y2 = 0,\n top = 0,\n left = 0,\n width = 0,\n height = 0,\n className\n } = _ref2, rest = _objectWithoutProperties5(_ref2, _excluded5);\n var props = _objectSpread11({\n x: x2,\n y: y2,\n top,\n left,\n width,\n height\n }, rest);\n if (!isNumber3(x2) || !isNumber3(y2) || !isNumber3(width) || !isNumber3(height) || !isNumber3(top) || !isNumber3(left)) {\n return null;\n }\n return /* @__PURE__ */ React73.createElement(\"path\", _extends9({}, svgPropertiesAndEvents(props), {\n className: clsx(\"recharts-cross\", className),\n d: getPath2(x2, y2, width, height, top, left)\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getCursorRectangle.js\n function getCursorRectangle(layout, activeCoordinate, offset4, tooltipAxisBandSize) {\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: \"none\",\n fill: \"#ccc\",\n x: layout === \"horizontal\" ? activeCoordinate.x - halfSize : offset4.left + 0.5,\n y: layout === \"horizontal\" ? offset4.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === \"horizontal\" ? tooltipAxisBandSize : offset4.width - 1,\n height: layout === \"horizontal\" ? offset4.height - 1 : tooltipAxisBandSize\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Rectangle.js\n var React74 = __toESM(require_react());\n var import_react27 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/JavascriptAnimate.js\n var import_react25 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/util.js\n function ownKeys12(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread12(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys12(Object(t2), true).forEach(function(r3) {\n _defineProperty12(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys12(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty12(e, r2, t2) {\n return (r2 = _toPropertyKey12(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey12(t2) {\n var i = _toPrimitive12(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive12(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getDashCase = (name) => name.replace(/([A-Z])/g, (v) => \"-\".concat(v.toLowerCase()));\n var getTransitionVal = (props, duration, easing) => props.map((prop) => \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing)).join(\",\");\n var getIntersectionKeys = (preObj, nextObj) => [Object.keys(preObj), Object.keys(nextObj)].reduce((a2, b) => a2.filter((c2) => b.includes(c2)));\n var mapObject = (fn, obj) => Object.keys(obj).reduce((res, key) => _objectSpread12(_objectSpread12({}, res), {}, {\n [key]: fn(key, obj[key])\n }), {});\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/configUpdate.js\n function ownKeys13(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread13(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys13(Object(t2), true).forEach(function(r3) {\n _defineProperty13(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys13(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty13(e, r2, t2) {\n return (r2 = _toPropertyKey13(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey13(t2) {\n var i = _toPrimitive13(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive13(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var alpha = (begin, end, k2) => begin + (end - begin) * k2;\n var needContinue = (_ref2) => {\n var {\n from: from2,\n to: to2\n } = _ref2;\n return from2 !== to2;\n };\n var calStepperVals = (easing, preVals, steps) => {\n var nextStepVals = mapObject((key, val) => {\n if (needContinue(val)) {\n var [newX, newV] = easing(val.from, val.to, val.velocity);\n return _objectSpread13(_objectSpread13({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n return val;\n }, preVals);\n if (steps < 1) {\n return mapObject((key, val) => {\n if (needContinue(val) && nextStepVals[key] != null) {\n return _objectSpread13(_objectSpread13({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n return val;\n }, preVals);\n }\n return calStepperVals(easing, nextStepVals, steps - 1);\n };\n function createStepperUpdate(from2, to2, easing, interKeys, render2, timeoutController) {\n var preTime;\n var stepperStyle = interKeys.reduce((res, key) => _objectSpread13(_objectSpread13({}, res), {}, {\n [key]: {\n from: from2[key],\n velocity: 0,\n to: to2[key]\n }\n }), {});\n var getCurrStyle = () => mapObject((key, val) => val.from, stepperStyle);\n var shouldStopAnimation = () => !Object.values(stepperStyle).filter(needContinue).length;\n var stopAnimation = null;\n var stepperUpdate = (now) => {\n if (!preTime) {\n preTime = now;\n }\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), getCurrStyle()));\n preTime = now;\n if (!shouldStopAnimation()) {\n stopAnimation = timeoutController.setTimeout(stepperUpdate);\n }\n };\n return () => {\n stopAnimation = timeoutController.setTimeout(stepperUpdate);\n return () => {\n var _stopAnimation;\n (_stopAnimation = stopAnimation) === null || _stopAnimation === void 0 || _stopAnimation();\n };\n };\n }\n function createTimingUpdate(from2, to2, easing, duration, interKeys, render2, timeoutController) {\n var stopAnimation = null;\n var timingStyle = interKeys.reduce((res, key) => {\n var fromElement = from2[key];\n var toElement = to2[key];\n if (fromElement == null || toElement == null) {\n return res;\n }\n return _objectSpread13(_objectSpread13({}, res), {}, {\n [key]: [fromElement, toElement]\n });\n }, {});\n var beginTime;\n var timingUpdate = (now) => {\n if (!beginTime) {\n beginTime = now;\n }\n var t2 = (now - beginTime) / duration;\n var currStyle = mapObject((key, val) => alpha(...val, easing(t2)), timingStyle);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), currStyle));\n if (t2 < 1) {\n stopAnimation = timeoutController.setTimeout(timingUpdate);\n } else {\n var finalStyle = mapObject((key, val) => alpha(...val, easing(1)), timingStyle);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), finalStyle));\n }\n };\n return () => {\n stopAnimation = timeoutController.setTimeout(timingUpdate);\n return () => {\n var _stopAnimation2;\n (_stopAnimation2 = stopAnimation) === null || _stopAnimation2 === void 0 || _stopAnimation2();\n };\n };\n }\n var configUpdate_default = (from2, to2, easing, duration, render2, timeoutController) => {\n var interKeys = getIntersectionKeys(from2, to2);\n if (easing == null) {\n return () => {\n render2(_objectSpread13(_objectSpread13({}, from2), to2));\n return () => {\n };\n };\n }\n return easing.isStepper === true ? createStepperUpdate(from2, to2, easing, interKeys, render2, timeoutController) : createTimingUpdate(from2, to2, easing, duration, interKeys, render2, timeoutController);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/easing.js\n var ACCURACY = 1e-4;\n var cubicBezierFactor = (c1, c2) => [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n var evaluatePolynomial = (params, t2) => params.map((param, i) => param * t2 ** i).reduce((pre, curr) => pre + curr);\n var cubicBezier = (c1, c2) => (t2) => {\n var params = cubicBezierFactor(c1, c2);\n return evaluatePolynomial(params, t2);\n };\n var derivativeCubicBezier = (c1, c2) => (t2) => {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [...params.map((param, i) => param * i).slice(1), 0];\n return evaluatePolynomial(newParams, t2);\n };\n var parseCubicBezier = (easing) => {\n var _easingParts$;\n var easingParts = easing.split(\"(\");\n if (easingParts.length !== 2 || easingParts[0] !== \"cubic-bezier\") {\n return null;\n }\n var numbers2 = (_easingParts$ = easingParts[1]) === null || _easingParts$ === void 0 || (_easingParts$ = _easingParts$.split(\")\")[0]) === null || _easingParts$ === void 0 ? void 0 : _easingParts$.split(\",\");\n if (numbers2 == null || numbers2.length !== 4) {\n return null;\n }\n var coords = numbers2.map((x2) => parseFloat(x2));\n return [coords[0], coords[1], coords[2], coords[3]];\n };\n var getBezierCoordinates = function getBezierCoordinates2() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1) {\n switch (args[0]) {\n case \"linear\":\n return [0, 0, 1, 1];\n case \"ease\":\n return [0.25, 0.1, 0.25, 1];\n case \"ease-in\":\n return [0.42, 0, 1, 1];\n case \"ease-out\":\n return [0.42, 0, 0.58, 1];\n case \"ease-in-out\":\n return [0, 0, 0.58, 1];\n default: {\n var easing = parseCubicBezier(args[0]);\n if (easing) {\n return easing;\n }\n }\n }\n }\n if (args.length === 4) {\n return args;\n }\n return [0, 0, 1, 1];\n };\n var createBezierEasing = (x1, y1, x2, y2) => {\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n var rangeValue = (value) => {\n if (value > 1) {\n return 1;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n };\n var bezier = (_t) => {\n var t2 = _t > 1 ? 1 : _t;\n var x3 = t2;\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x3) - t2;\n var derVal = derCurveX(x3);\n if (Math.abs(evalT - t2) < ACCURACY || derVal < ACCURACY) {\n return curveY(x3);\n }\n x3 = rangeValue(x3 - evalT / derVal);\n }\n return curveY(x3);\n };\n bezier.isStepper = false;\n return bezier;\n };\n var configBezier = function configBezier2() {\n return createBezierEasing(...getBezierCoordinates(...arguments));\n };\n var configSpring = function configSpring2() {\n var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var {\n stiff = 100,\n damping = 8,\n dt = 17\n } = config;\n var stepper = (currX, destX, currV) => {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1e3;\n var newX = currV * dt / 1e3 + currX;\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n return [newX, newV];\n };\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n };\n var configEasing = (easing) => {\n if (typeof easing === \"string\") {\n switch (easing) {\n case \"ease\":\n case \"ease-in-out\":\n case \"ease-out\":\n case \"ease-in\":\n case \"linear\":\n return configBezier(easing);\n case \"spring\":\n return configSpring();\n default:\n if (easing.split(\"(\")[0] === \"cubic-bezier\") {\n return configBezier(easing);\n }\n }\n }\n if (typeof easing === \"function\") {\n return easing;\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/useAnimationManager.js\n var import_react24 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/AnimationManager.js\n function createAnimateManager(timeoutController) {\n var currStyle;\n var handleChange = () => null;\n var shouldStop = false;\n var cancelTimeout = null;\n var setStyle = (_style) => {\n if (shouldStop) {\n return;\n }\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n var styles = _style;\n var [curr, ...restStyles] = styles;\n if (typeof curr === \"number\") {\n cancelTimeout = timeoutController.setTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n setStyle(curr);\n cancelTimeout = timeoutController.setTimeout(setStyle.bind(null, restStyles));\n return;\n }\n if (typeof _style === \"string\") {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === \"object\") {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === \"function\") {\n _style();\n }\n };\n return {\n stop: () => {\n shouldStop = true;\n },\n start: (style) => {\n shouldStop = false;\n if (cancelTimeout) {\n cancelTimeout();\n cancelTimeout = null;\n }\n setStyle(style);\n },\n subscribe: (_handleChange) => {\n handleChange = _handleChange;\n return () => {\n handleChange = () => null;\n };\n },\n getTimeoutController: () => timeoutController\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/timeoutController.js\n var RequestAnimationFrameTimeoutController = class {\n setTimeout(callback) {\n var delay = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var startTime = performance.now();\n var requestId = null;\n var executeCallback = (now) => {\n if (now - startTime >= delay) {\n callback(now);\n } else if (typeof requestAnimationFrame === \"function\") {\n requestId = requestAnimationFrame(executeCallback);\n }\n };\n requestId = requestAnimationFrame(executeCallback);\n return () => {\n if (requestId != null) {\n cancelAnimationFrame(requestId);\n }\n };\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/createDefaultAnimationManager.js\n function createDefaultAnimationManager() {\n return createAnimateManager(new RequestAnimationFrameTimeoutController());\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/useAnimationManager.js\n var AnimationManagerContext = /* @__PURE__ */ (0, import_react24.createContext)(createDefaultAnimationManager);\n function useAnimationManager(animationId, animationManagerFromProps) {\n var contextAnimationManager = (0, import_react24.useContext)(AnimationManagerContext);\n return (0, import_react24.useMemo)(() => animationManagerFromProps !== null && animationManagerFromProps !== void 0 ? animationManagerFromProps : contextAnimationManager(animationId), [animationId, animationManagerFromProps, contextAnimationManager]);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/JavascriptAnimate.js\n var defaultJavascriptAnimateProps = {\n begin: 0,\n duration: 1e3,\n easing: \"ease\",\n isActive: true,\n canBegin: true,\n onAnimationEnd: () => {\n },\n onAnimationStart: () => {\n }\n };\n var from = {\n t: 0\n };\n var to = {\n t: 1\n };\n function JavascriptAnimate(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultJavascriptAnimateProps);\n var {\n isActive: isActiveProp,\n canBegin,\n duration,\n easing,\n begin,\n onAnimationEnd,\n onAnimationStart,\n children\n } = props;\n var prefersReducedMotion = usePrefersReducedMotion();\n var isActive = isActiveProp === \"auto\" ? !Global.isSsr && !prefersReducedMotion : isActiveProp;\n var animationManager = useAnimationManager(props.animationId, props.animationManager);\n var [style, setStyle] = (0, import_react25.useState)(isActive ? from : to);\n var stopJSAnimation = (0, import_react25.useRef)(null);\n (0, import_react25.useEffect)(() => {\n if (!isActive) {\n setStyle(to);\n }\n }, [isActive]);\n (0, import_react25.useEffect)(() => {\n if (!isActive || !canBegin) {\n return noop4;\n }\n var startAnimation = configUpdate_default(from, to, configEasing(easing), duration, setStyle, animationManager.getTimeoutController());\n var onAnimationActive = () => {\n stopJSAnimation.current = startAnimation();\n };\n animationManager.start([onAnimationStart, begin, onAnimationActive, duration, onAnimationEnd]);\n return () => {\n animationManager.stop();\n if (stopJSAnimation.current) {\n stopJSAnimation.current();\n }\n onAnimationEnd();\n };\n }, [isActive, canBegin, duration, easing, begin, onAnimationStart, onAnimationEnd, animationManager]);\n return children(style.t);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useAnimationId.js\n var import_react26 = __toESM(require_react());\n function useAnimationId(input2) {\n var prefix2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"animation-\";\n var animationId = (0, import_react26.useRef)(uniqueId(prefix2));\n var prevProps = (0, import_react26.useRef)(input2);\n if (prevProps.current !== input2) {\n animationId.current = uniqueId(prefix2);\n prevProps.current = input2;\n }\n return animationId.current;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Rectangle.js\n var _excluded6 = [\"radius\"];\n var _excluded22 = [\"radius\"];\n var _templateObject;\n var _templateObject2;\n var _templateObject3;\n var _templateObject4;\n var _templateObject5;\n var _templateObject6;\n var _templateObject7;\n var _templateObject8;\n var _templateObject9;\n var _templateObject0;\n function ownKeys14(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread14(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys14(Object(t2), true).forEach(function(r3) {\n _defineProperty14(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys14(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty14(e, r2, t2) {\n return (r2 = _toPropertyKey14(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey14(t2) {\n var i = _toPrimitive14(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive14(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends10() {\n return _extends10 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends10.apply(null, arguments);\n }\n function _objectWithoutProperties6(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose6(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose6(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _taggedTemplateLiteral(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getRectanglePath = (x2, y2, width, height, radius) => {\n var roundedWidth = round2(width);\n var roundedHeight = round2(height);\n var maxRadius = Math.min(Math.abs(roundedWidth) / 2, Math.abs(roundedHeight) / 2);\n var ySign = roundedHeight >= 0 ? 1 : -1;\n var xSign = roundedWidth >= 0 ? 1 : -1;\n var clockWise = roundedHeight >= 0 && roundedWidth >= 0 || roundedHeight < 0 && roundedWidth < 0 ? 1 : 0;\n var path2;\n if (maxRadius > 0 && Array.isArray(radius)) {\n var newRadius = [0, 0, 0, 0];\n for (var i = 0, len = 4; i < len; i++) {\n var _radius$i;\n var r2 = (_radius$i = radius[i]) !== null && _radius$i !== void 0 ? _radius$i : 0;\n newRadius[i] = r2 > maxRadius ? maxRadius : r2;\n }\n path2 = roundTemplateLiteral(_templateObject || (_templateObject = _taggedTemplateLiteral([\"M\", \",\", \"\"])), x2, y2 + ySign * newRadius[0]);\n if (newRadius[0] > 0) {\n path2 += roundTemplateLiteral(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\", \",\", \"\"])), newRadius[0], newRadius[0], clockWise, x2 + xSign * newRadius[0], y2);\n }\n path2 += roundTemplateLiteral(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + width - xSign * newRadius[1], y2);\n if (newRadius[1] > 0) {\n path2 += roundTemplateLiteral(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[1], newRadius[1], clockWise, x2 + width, y2 + ySign * newRadius[1]);\n }\n path2 += roundTemplateLiteral(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + width, y2 + height - ySign * newRadius[2]);\n if (newRadius[2] > 0) {\n path2 += roundTemplateLiteral(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[2], newRadius[2], clockWise, x2 + width - xSign * newRadius[2], y2 + height);\n }\n path2 += roundTemplateLiteral(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + xSign * newRadius[3], y2 + height);\n if (newRadius[3] > 0) {\n path2 += roundTemplateLiteral(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[3], newRadius[3], clockWise, x2, y2 + height - ySign * newRadius[3]);\n }\n path2 += \"Z\";\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n path2 = roundTemplateLiteral(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"M \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \" Z\"])), x2, y2 + ySign * _newRadius, _newRadius, _newRadius, clockWise, x2 + xSign * _newRadius, y2, x2 + width - xSign * _newRadius, y2, _newRadius, _newRadius, clockWise, x2 + width, y2 + ySign * _newRadius, x2 + width, y2 + height - ySign * _newRadius, _newRadius, _newRadius, clockWise, x2 + width - xSign * _newRadius, y2 + height, x2 + xSign * _newRadius, y2 + height, _newRadius, _newRadius, clockWise, x2, y2 + height - ySign * _newRadius);\n } else {\n path2 = roundTemplateLiteral(_templateObject0 || (_templateObject0 = _taggedTemplateLiteral([\"M \", \",\", \" h \", \" v \", \" h \", \" Z\"])), x2, y2, width, height, -width);\n }\n return path2;\n };\n var defaultRectangleProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\"\n };\n var Rectangle = (rectangleProps) => {\n var props = resolveDefaultProps(rectangleProps, defaultRectangleProps);\n var pathRef = (0, import_react27.useRef)(null);\n var [totalLength, setTotalLength] = (0, import_react27.useState)(-1);\n (0, import_react27.useEffect)(() => {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (_unused) {\n }\n }\n }, []);\n var {\n x: x2,\n y: y2,\n width,\n height,\n radius,\n className\n } = props;\n var {\n animationEasing,\n animationDuration,\n animationBegin,\n isAnimationActive,\n isUpdateAnimationActive\n } = props;\n var prevWidthRef = (0, import_react27.useRef)(width);\n var prevHeightRef = (0, import_react27.useRef)(height);\n var prevXRef = (0, import_react27.useRef)(x2);\n var prevYRef = (0, import_react27.useRef)(y2);\n var animationIdInput = (0, import_react27.useMemo)(() => ({\n x: x2,\n y: y2,\n width,\n height,\n radius\n }), [x2, y2, width, height, radius]);\n var animationId = useAnimationId(animationIdInput, \"rectangle-\");\n if (x2 !== +x2 || y2 !== +y2 || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-rectangle\", className);\n if (!isUpdateAnimationActive) {\n var _svgPropertiesAndEven = svgPropertiesAndEvents(props), {\n radius: _\n } = _svgPropertiesAndEven, otherPathProps = _objectWithoutProperties6(_svgPropertiesAndEven, _excluded6);\n return /* @__PURE__ */ React74.createElement(\"path\", _extends10({}, otherPathProps, {\n x: round2(x2),\n y: round2(y2),\n width: round2(width),\n height: round2(height),\n radius: typeof radius === \"number\" ? radius : void 0,\n className: layerClass,\n d: getRectanglePath(x2, y2, width, height, radius)\n }));\n }\n var prevWidth = prevWidthRef.current;\n var prevHeight = prevHeightRef.current;\n var prevX = prevXRef.current;\n var prevY = prevYRef.current;\n var from2 = \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\");\n var to2 = \"\".concat(totalLength, \"px \").concat(totalLength, \"px\");\n var transition = getTransitionVal([\"strokeDasharray\"], animationDuration, typeof animationEasing === \"string\" ? animationEasing : defaultRectangleProps.animationEasing);\n return /* @__PURE__ */ React74.createElement(JavascriptAnimate, {\n animationId,\n key: animationId,\n canBegin: totalLength > 0,\n duration: animationDuration,\n easing: animationEasing,\n isActive: isUpdateAnimationActive,\n begin: animationBegin\n }, (t2) => {\n var currWidth = interpolate(prevWidth, width, t2);\n var currHeight = interpolate(prevHeight, height, t2);\n var currX = interpolate(prevX, x2, t2);\n var currY = interpolate(prevY, y2, t2);\n if (pathRef.current) {\n prevWidthRef.current = currWidth;\n prevHeightRef.current = currHeight;\n prevXRef.current = currX;\n prevYRef.current = currY;\n }\n var animationStyle;\n if (!isAnimationActive) {\n animationStyle = {\n strokeDasharray: to2\n };\n } else if (t2 > 0) {\n animationStyle = {\n transition,\n strokeDasharray: to2\n };\n } else {\n animationStyle = {\n strokeDasharray: from2\n };\n }\n var _svgPropertiesAndEven2 = svgPropertiesAndEvents(props), {\n radius: _2\n } = _svgPropertiesAndEven2, otherPathProps2 = _objectWithoutProperties6(_svgPropertiesAndEven2, _excluded22);\n return /* @__PURE__ */ React74.createElement(\"path\", _extends10({}, otherPathProps2, {\n radius: typeof radius === \"number\" ? radius : void 0,\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: pathRef,\n style: _objectSpread14(_objectSpread14({}, animationStyle), props.style)\n }));\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/PolarUtils.js\n function ownKeys15(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread15(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys15(Object(t2), true).forEach(function(r3) {\n _defineProperty15(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys15(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty15(e, r2, t2) {\n return (r2 = _toPropertyKey15(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey15(t2) {\n var i = _toPrimitive15(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive15(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var RADIAN2 = Math.PI / 180;\n var degreeToRadian = (angle) => angle * Math.PI / 180;\n var radianToDegree = (angleInRadian) => angleInRadian * 180 / Math.PI;\n var polarToCartesian = (cx2, cy, radius, angle) => ({\n x: cx2 + Math.cos(-RADIAN2 * angle) * radius,\n y: cy + Math.sin(-RADIAN2 * angle) * radius\n });\n var getMaxRadius = function getMaxRadius2(width, height) {\n var offset4 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0,\n brushBottom: 0\n };\n return Math.min(Math.abs(width - (offset4.left || 0) - (offset4.right || 0)), Math.abs(height - (offset4.top || 0) - (offset4.bottom || 0))) / 2;\n };\n var distanceBetweenPoints = (point4, anotherPoint) => {\n var {\n x: x1,\n y: y1\n } = point4;\n var {\n x: x2,\n y: y2\n } = anotherPoint;\n return Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2);\n };\n var getAngleOfPoint = (_ref2, _ref22) => {\n var {\n x: x2,\n y: y2\n } = _ref2;\n var {\n cx: cx2,\n cy\n } = _ref22;\n var radius = distanceBetweenPoints({\n x: x2,\n y: y2\n }, {\n x: cx2,\n y: cy\n });\n if (radius <= 0) {\n return {\n radius,\n angle: 0\n };\n }\n var cos2 = (x2 - cx2) / radius;\n var angleInRadian = Math.acos(cos2);\n if (y2 > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n return {\n radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian\n };\n };\n var formatAngleOfSector = (_ref3) => {\n var {\n startAngle,\n endAngle\n } = _ref3;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min3 = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min3 * 360,\n endAngle: endAngle - min3 * 360\n };\n };\n var reverseFormatAngleOfSector = (angle, _ref4) => {\n var {\n startAngle,\n endAngle\n } = _ref4;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min3 = Math.min(startCnt, endCnt);\n return angle + min3 * 360;\n };\n var inRangeOfSector = (_ref5, viewBox) => {\n var {\n relativeX: x2,\n relativeY: y2\n } = _ref5;\n var {\n radius,\n angle\n } = getAngleOfPoint({\n x: x2,\n y: y2\n }, viewBox);\n var {\n innerRadius,\n outerRadius\n } = viewBox;\n if (radius < innerRadius || radius > outerRadius) {\n return null;\n }\n if (radius === 0) {\n return null;\n }\n var {\n startAngle,\n endAngle\n } = formatAngleOfSector(viewBox);\n var formatAngle = angle;\n var inRange;\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n if (inRange) {\n return _objectSpread15(_objectSpread15({}, viewBox), {}, {\n radius,\n angle: reverseFormatAngleOfSector(formatAngle, viewBox)\n });\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js\n function getRadialCursorPoints(activeCoordinate) {\n var {\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n } = activeCoordinate;\n var startPoint = polarToCartesian(cx2, cy, radius, startAngle);\n var endPoint = polarToCartesian(cx2, cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Sector.js\n var React75 = __toESM(require_react());\n var _templateObject10;\n var _templateObject22;\n var _templateObject32;\n var _templateObject42;\n var _templateObject52;\n var _templateObject62;\n var _templateObject72;\n function _extends11() {\n return _extends11 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends11.apply(null, arguments);\n }\n function _taggedTemplateLiteral2(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getDeltaAngle = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign2 * deltaAngle;\n };\n var getTangentCircle = (_ref2) => {\n var {\n cx: cx2,\n cy,\n radius,\n angle,\n sign: sign2,\n isExternal,\n cornerRadius,\n cornerIsExternal\n } = _ref2;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN2;\n var centerAngle = cornerIsExternal ? angle : angle + sign2 * theta;\n var center = polarToCartesian(cx2, cy, centerRadius, centerAngle);\n var circleTangency = polarToCartesian(cx2, cy, radius, centerAngle);\n var lineTangencyAngle = cornerIsExternal ? angle - sign2 * theta : angle;\n var lineTangency = polarToCartesian(cx2, cy, centerRadius * Math.cos(theta * RADIAN2), lineTangencyAngle);\n return {\n center,\n circleTangency,\n lineTangency,\n theta\n };\n };\n var getSectorPath = (_ref2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n } = _ref2;\n var angle = getDeltaAngle(startAngle, endAngle);\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx2, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx2, cy, outerRadius, tempEndAngle);\n var path2 = roundTemplateLiteral(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n A \", \",\", \",0,\\n \", \",\", \",\\n \", \",\", \"\\n \"])), outerStartPoint.x, outerStartPoint.y, outerRadius, outerRadius, +(Math.abs(angle) > 180), +(startAngle > tempEndAngle), outerEndPoint.x, outerEndPoint.y);\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx2, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx2, cy, innerRadius, tempEndAngle);\n path2 += roundTemplateLiteral(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral2([\"L \", \",\", \"\\n A \", \",\", \",0,\\n \", \",\", \",\\n \", \",\", \" Z\"])), innerEndPoint.x, innerEndPoint.y, innerRadius, innerRadius, +(Math.abs(angle) > 180), +(startAngle <= tempEndAngle), innerStartPoint.x, innerStartPoint.y);\n } else {\n path2 += roundTemplateLiteral(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral2([\"L \", \",\", \" Z\"])), cx2, cy);\n }\n return path2;\n };\n var getSectorWithCorner = (_ref3) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius,\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle\n } = _ref3;\n var sign2 = mathSign(endAngle - startAngle);\n var {\n circleTangency: soct,\n lineTangency: solt,\n theta: sot\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign2,\n cornerRadius,\n cornerIsExternal\n });\n var {\n circleTangency: eoct,\n lineTangency: eolt,\n theta: eot\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign2,\n cornerRadius,\n cornerIsExternal\n });\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return roundTemplateLiteral(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n a\", \",\", \",0,0,1,\", \",0\\n a\", \",\", \",0,0,1,\", \",0\\n \"])), solt.x, solt.y, cornerRadius, cornerRadius, cornerRadius * 2, cornerRadius, cornerRadius, -cornerRadius * 2);\n }\n return getSectorPath({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n });\n }\n var path2 = roundTemplateLiteral(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n A\", \",\", \",0,\", \",\", \",\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n \"])), solt.x, solt.y, cornerRadius, cornerRadius, +(sign2 < 0), soct.x, soct.y, outerRadius, outerRadius, +(outerArcAngle > 180), +(sign2 < 0), eoct.x, eoct.y, cornerRadius, cornerRadius, +(sign2 < 0), eolt.x, eolt.y);\n if (innerRadius > 0) {\n var {\n circleTangency: sict,\n lineTangency: silt,\n theta: sit\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign2,\n isExternal: true,\n cornerRadius,\n cornerIsExternal\n });\n var {\n circleTangency: eict,\n lineTangency: eilt,\n theta: eit\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign2,\n isExternal: true,\n cornerRadius,\n cornerIsExternal\n });\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path2, \"L\").concat(cx2, \",\").concat(cy, \"Z\");\n }\n path2 += roundTemplateLiteral(_templateObject62 || (_templateObject62 = _taggedTemplateLiteral2([\"L\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n A\", \",\", \",0,\", \",\", \",\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"Z\"])), eilt.x, eilt.y, cornerRadius, cornerRadius, +(sign2 < 0), eict.x, eict.y, innerRadius, innerRadius, +(innerArcAngle > 180), +(sign2 > 0), sict.x, sict.y, cornerRadius, cornerRadius, +(sign2 < 0), silt.x, silt.y);\n } else {\n path2 += roundTemplateLiteral(_templateObject72 || (_templateObject72 = _taggedTemplateLiteral2([\"L\", \",\", \"Z\"])), cx2, cy);\n }\n return path2;\n };\n var defaultSectorProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n };\n var Sector = (sectorProps) => {\n var props = resolveDefaultProps(sectorProps, defaultSectorProps);\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius,\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle,\n className\n } = props;\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n var layerClass = clsx(\"recharts-sector\", className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path2;\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path2 = getSectorWithCorner({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle\n });\n } else {\n path2 = getSectorPath({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n });\n }\n return /* @__PURE__ */ React75.createElement(\"path\", _extends11({}, svgPropertiesAndEvents(props), {\n className: layerClass,\n d: path2\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getCursorPoints.js\n function getCursorPoints(layout, activeCoordinate, offset4) {\n if (layout === \"horizontal\") {\n return [{\n x: activeCoordinate.x,\n y: offset4.top\n }, {\n x: activeCoordinate.x,\n y: offset4.top + offset4.height\n }];\n }\n if (layout === \"vertical\") {\n return [{\n x: offset4.left,\n y: activeCoordinate.y\n }, {\n x: offset4.left + offset4.width,\n y: activeCoordinate.y\n }];\n }\n if (isPolarCoordinate(activeCoordinate)) {\n if (layout === \"centric\") {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n angle\n } = activeCoordinate;\n var innerPoint = polarToCartesian(cx2, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx2, cy, outerRadius, angle);\n return [{\n x: innerPoint.x,\n y: innerPoint.y\n }, {\n x: outerPoint.x,\n y: outerPoint.y\n }];\n }\n return getRadialCursorPoints(activeCoordinate);\n }\n return void 0;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/axisSelectors.js\n var import_range2 = __toESM(require_range2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/dataSelectors.js\n var selectChartDataWithIndexes = (state2) => state2.chartData;\n var selectChartDataAndAlwaysIgnoreIndexes = createSelector([selectChartDataWithIndexes], (dataState) => {\n var dataEndIndex = dataState.chartData != null ? dataState.chartData.length - 1 : 0;\n return {\n chartData: dataState.chartData,\n computedData: dataState.computedData,\n dataEndIndex,\n dataStartIndex: 0\n };\n });\n var selectChartDataWithIndexesIfNotInPanoramaPosition4 = (state2, _unused1, _unused2, isPanorama) => {\n if (isPanorama) {\n return selectChartDataAndAlwaysIgnoreIndexes(state2);\n }\n return selectChartDataWithIndexes(state2);\n };\n var selectChartDataWithIndexesIfNotInPanoramaPosition3 = (state2, _unused1, isPanorama) => {\n if (isPanorama) {\n return selectChartDataAndAlwaysIgnoreIndexes(state2);\n }\n return selectChartDataWithIndexes(state2);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js\n function isWellFormedNumberDomain(v) {\n if (Array.isArray(v) && v.length === 2) {\n var [min3, max3] = v;\n if (isWellBehavedNumber(min3) && isWellBehavedNumber(max3)) {\n return true;\n }\n }\n return false;\n }\n function extendDomain(providedDomain, boundaryDomain, allowDataOverflow) {\n if (allowDataOverflow) {\n return providedDomain;\n }\n return [Math.min(providedDomain[0], boundaryDomain[0]), Math.max(providedDomain[1], boundaryDomain[1])];\n }\n function numericalDomainSpecifiedWithoutRequiringData(userDomain, allowDataOverflow) {\n if (!allowDataOverflow) {\n return void 0;\n }\n if (typeof userDomain === \"function\") {\n return void 0;\n }\n if (Array.isArray(userDomain) && userDomain.length === 2) {\n var [providedMin, providedMax] = userDomain;\n var finalMin, finalMax;\n if (isWellBehavedNumber(providedMin)) {\n finalMin = providedMin;\n } else if (typeof providedMin === \"function\") {\n return void 0;\n }\n if (isWellBehavedNumber(providedMax)) {\n finalMax = providedMax;\n } else if (typeof providedMax === \"function\") {\n return void 0;\n }\n var candidate = [finalMin, finalMax];\n if (isWellFormedNumberDomain(candidate)) {\n return candidate;\n }\n }\n return void 0;\n }\n function parseNumericalUserDomain(userDomain, dataDomain, allowDataOverflow) {\n if (!allowDataOverflow && dataDomain == null) {\n return void 0;\n }\n if (typeof userDomain === \"function\" && dataDomain != null) {\n try {\n var result = userDomain(dataDomain, allowDataOverflow);\n if (isWellFormedNumberDomain(result)) {\n return extendDomain(result, dataDomain, allowDataOverflow);\n }\n } catch (_unused) {\n }\n }\n if (Array.isArray(userDomain) && userDomain.length === 2) {\n var [providedMin, providedMax] = userDomain;\n var finalMin, finalMax;\n if (providedMin === \"auto\") {\n if (dataDomain != null) {\n finalMin = Math.min(...dataDomain);\n }\n } else if (isNumber3(providedMin)) {\n finalMin = providedMin;\n } else if (typeof providedMin === \"function\") {\n try {\n if (dataDomain != null) {\n finalMin = providedMin(dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[0]);\n }\n } catch (_unused2) {\n }\n } else if (typeof providedMin === \"string\" && MIN_VALUE_REG.test(providedMin)) {\n var match2 = MIN_VALUE_REG.exec(providedMin);\n if (match2 == null || match2[1] == null || dataDomain == null) {\n finalMin = void 0;\n } else {\n var value = +match2[1];\n finalMin = dataDomain[0] - value;\n }\n } else {\n finalMin = dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[0];\n }\n if (providedMax === \"auto\") {\n if (dataDomain != null) {\n finalMax = Math.max(...dataDomain);\n }\n } else if (isNumber3(providedMax)) {\n finalMax = providedMax;\n } else if (typeof providedMax === \"function\") {\n try {\n if (dataDomain != null) {\n finalMax = providedMax(dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[1]);\n }\n } catch (_unused3) {\n }\n } else if (typeof providedMax === \"string\" && MAX_VALUE_REG.test(providedMax)) {\n var _match = MAX_VALUE_REG.exec(providedMax);\n if (_match == null || _match[1] == null || dataDomain == null) {\n finalMax = void 0;\n } else {\n var _value = +_match[1];\n finalMax = dataDomain[1] + _value;\n }\n } else {\n finalMax = dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[1];\n }\n var candidate = [finalMin, finalMax];\n if (isWellFormedNumberDomain(candidate)) {\n if (dataDomain == null) {\n return candidate;\n }\n return extendDomain(candidate, dataDomain, allowDataOverflow);\n }\n }\n return void 0;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/getNiceTickValues.js\n var import_decimal2 = __toESM(require_decimal());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/util/arithmetic.js\n var import_decimal = __toESM(require_decimal());\n function getDigitCount(value) {\n var result;\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new import_decimal.default(value).abs().log(10).toNumber()) + 1;\n }\n return result;\n }\n function rangeStep(start, end, step) {\n var num = new import_decimal.default(start);\n var i = 0;\n var result = [];\n while (num.lt(end) && i < 1e5) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/getNiceTickValues.js\n var getValidInterval = (_ref2) => {\n var [min3, max3] = _ref2;\n var [validMin, validMax] = [min3, max3];\n if (min3 > max3) {\n [validMin, validMax] = [max3, min3];\n }\n return [validMin, validMax];\n };\n var getAdaptiveStep = (roughStep, allowDecimals, correctionFactor) => {\n if (roughStep.lte(0)) {\n return new import_decimal2.default(0);\n }\n var digitCount = getDigitCount(roughStep.toNumber());\n var digitCountValue = new import_decimal2.default(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue);\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new import_decimal2.default(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? new import_decimal2.default(formatStep.toNumber()) : new import_decimal2.default(Math.ceil(formatStep.toNumber()));\n };\n var getSnap125Step = (roughStep, allowDecimals, correctionFactor) => {\n var _NICE_STEPS$niceIdx;\n if (roughStep.lte(0)) {\n return new import_decimal2.default(0);\n }\n var NICE_STEPS = [1, 2, 2.5, 5];\n var roughNum = roughStep.toNumber();\n var exponent = Math.floor(new import_decimal2.default(roughNum).abs().log(10).toNumber());\n var magnitude = new import_decimal2.default(10).pow(exponent);\n var normalized = roughStep.div(magnitude).toNumber();\n var niceIdx = NICE_STEPS.findIndex((s2) => s2 >= normalized - 1e-10);\n if (niceIdx === -1) {\n magnitude = magnitude.mul(10);\n niceIdx = 0;\n }\n niceIdx += correctionFactor;\n if (niceIdx >= NICE_STEPS.length) {\n var extraMag = Math.floor(niceIdx / NICE_STEPS.length);\n niceIdx %= NICE_STEPS.length;\n magnitude = magnitude.mul(new import_decimal2.default(10).pow(extraMag));\n }\n var niceStep = (_NICE_STEPS$niceIdx = NICE_STEPS[niceIdx]) !== null && _NICE_STEPS$niceIdx !== void 0 ? _NICE_STEPS$niceIdx : 1;\n var formatStep = new import_decimal2.default(niceStep).mul(magnitude);\n return allowDecimals ? formatStep : new import_decimal2.default(Math.ceil(formatStep.toNumber()));\n };\n var getTickOfSingleValue = (value, tickCount, allowDecimals) => {\n var step = new import_decimal2.default(1);\n var middle = new import_decimal2.default(value);\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n if (absVal < 1) {\n step = new import_decimal2.default(10).pow(getDigitCount(value) - 1);\n middle = new import_decimal2.default(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n middle = new import_decimal2.default(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new import_decimal2.default(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new import_decimal2.default(Math.floor(value));\n }\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var ticks2 = [];\n for (var i = 0; i < tickCount; i++) {\n ticks2.push(middle.add(new import_decimal2.default(i - middleIndex).mul(step)).toNumber());\n }\n return ticks2;\n };\n var _calculateStep = function calculateStep(min3, max3, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0;\n var stepFn = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : getAdaptiveStep;\n if (!Number.isFinite((max3 - min3) / (tickCount - 1))) {\n return {\n step: new import_decimal2.default(0),\n tickMin: new import_decimal2.default(0),\n tickMax: new import_decimal2.default(0)\n };\n }\n var step = stepFn(new import_decimal2.default(max3).sub(min3).div(tickCount - 1), allowDecimals, correctionFactor);\n var middle;\n if (min3 <= 0 && max3 >= 0) {\n middle = new import_decimal2.default(0);\n } else {\n middle = new import_decimal2.default(min3).add(max3).div(2);\n middle = middle.sub(new import_decimal2.default(middle).mod(step));\n }\n var belowCount = Math.ceil(middle.sub(min3).div(step).toNumber());\n var upCount = Math.ceil(new import_decimal2.default(max3).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n if (scaleCount > tickCount) {\n return _calculateStep(min3, max3, tickCount, allowDecimals, correctionFactor + 1, stepFn);\n }\n if (scaleCount < tickCount) {\n upCount = max3 > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max3 > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n return {\n step,\n tickMin: middle.sub(new import_decimal2.default(belowCount).mul(step)),\n tickMax: middle.add(new import_decimal2.default(upCount).mul(step))\n };\n };\n var getNiceTickValues = function getNiceTickValues2(_ref2) {\n var [min3, max3] = _ref2;\n var tickCount = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var niceTicksMode = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : \"auto\";\n var count3 = Math.max(tickCount, 2);\n var [cormin, cormax] = getValidInterval([min3, max3]);\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin, ...Array(tickCount - 1).fill(Infinity)] : [...Array(tickCount - 1).fill(-Infinity), cormax];\n return min3 > max3 ? _values.reverse() : _values;\n }\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n var stepFn = niceTicksMode === \"snap125\" ? getSnap125Step : getAdaptiveStep;\n var {\n step,\n tickMin,\n tickMax\n } = _calculateStep(cormin, cormax, count3, allowDecimals, 0, stepFn);\n var values = rangeStep(tickMin, tickMax.add(new import_decimal2.default(0.1).mul(step)), step);\n return min3 > max3 ? values.reverse() : values;\n };\n var getTickValuesFixedDomain = function getTickValuesFixedDomain2(_ref3, tickCount) {\n var [min3, max3] = _ref3;\n var allowDecimals = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var niceTicksMode = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : \"auto\";\n var [cormin, cormax] = getValidInterval([min3, max3]);\n if (cormin === -Infinity || cormax === Infinity) {\n return [min3, max3];\n }\n if (cormin === cormax) {\n return [cormin];\n }\n var stepFn = niceTicksMode === \"snap125\" ? getSnap125Step : getAdaptiveStep;\n var count3 = Math.max(tickCount, 2);\n var step = stepFn(new import_decimal2.default(cormax).sub(cormin).div(count3 - 1), allowDecimals, 0);\n var values = [...rangeStep(new import_decimal2.default(cormin), new import_decimal2.default(cormax), step), cormax];\n if (allowDecimals === false) {\n values = values.map((value) => Math.round(value));\n }\n return min3 > max3 ? values.reverse() : values;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/rootPropsSelectors.js\n var selectRootMaxBarSize = (state2) => state2.rootProps.maxBarSize;\n var selectBarGap = (state2) => state2.rootProps.barGap;\n var selectBarCategoryGap = (state2) => state2.rootProps.barCategoryGap;\n var selectRootBarSize = (state2) => state2.rootProps.barSize;\n var selectStackOffsetType = (state2) => state2.rootProps.stackOffset;\n var selectReverseStackOrder = (state2) => state2.rootProps.reverseStackOrder;\n var selectChartName = (state2) => state2.options.chartName;\n var selectSyncId = (state2) => state2.rootProps.syncId;\n var selectSyncMethod = (state2) => state2.rootProps.syncMethod;\n var selectEventEmitter = (state2) => state2.options.eventEmitter;\n var selectChartBaseValue = (state2) => state2.rootProps.baseValue;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/DefaultZIndexes.js\n var DefaultZIndexes = {\n /**\n * CartesianGrid and PolarGrid\n */\n grid: -100,\n /**\n * Background of Bar and RadialBar.\n * This is not visible by default but can be enabled by setting background={true} on Bar or RadialBar.\n */\n barBackground: -50,\n /*\n * other chart elements or custom elements without specific zIndex\n * render in here, at zIndex 0\n */\n /**\n * Area, Pie, Radar, and ReferenceArea\n */\n area: 100,\n /**\n * Cursor is embedded inside Tooltip and controlled by it.\n * The Tooltip itself has a separate portal and is not included in the zIndex system;\n * Cursor is the decoration inside the chart area. CursorRectangle is a rectangle box.\n * It renders below bar so that in a stacked bar chart the cursor rectangle does not hide the other bars.\n */\n cursorRectangle: 200,\n /**\n * Bar and RadialBar\n */\n bar: 300,\n /**\n * Line and ReferenceLine, and ErrorBor\n */\n line: 400,\n /**\n * XAxis and YAxis and PolarAngleAxis and PolarRadiusAxis ticks and lines and children\n */\n axis: 500,\n /**\n * Scatter and ReferenceDot,\n * and Dots of Line and Area and Radar if they have dot=true\n */\n scatter: 600,\n /**\n * Hovering over a Bar or RadialBar renders a highlight rectangle\n */\n activeBar: 1e3,\n /**\n * Cursor is embedded inside Tooltip and controlled by it.\n * The Tooltip itself has a separate portal and is not included in the zIndex system;\n * Cursor is the decoration inside the chart area, usually a cross or a box.\n * CursorLine is a line cursor rendered in Line, Area, Scatter, Radar charts.\n * It renders above the Line and Scatter so that it is always visible.\n * It renders below active dot so that the dot is always visible and shows the current point.\n * We're also assuming that the active dot is small enough that it does not fully cover the cursor line.\n *\n * This also applies to the radial cursor in RadialBarChart.\n */\n cursorLine: 1100,\n /**\n * Hovering over a Point in Line, Area, Scatter, Radar renders a highlight dot\n */\n activeDot: 1200,\n /**\n * LabelList and Label, including Axis labels\n */\n label: 2e3\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/defaultPolarAngleAxisProps.js\n var defaultPolarAngleAxisProps = {\n allowDecimals: false,\n allowDuplicatedCategory: true,\n // if I set this to false then Tooltip synchronisation stops working in Radar, wtf\n allowDataOverflow: false,\n angle: 0,\n angleAxisId: 0,\n axisLine: true,\n axisLineType: \"polygon\",\n cx: 0,\n cy: 0,\n hide: false,\n includeHidden: false,\n label: false,\n niceTicks: \"auto\",\n orientation: \"outer\",\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickLine: true,\n tickSize: 8,\n type: \"auto\",\n zIndex: DefaultZIndexes.axis\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/defaultPolarRadiusAxisProps.js\n var defaultPolarRadiusAxisProps = {\n allowDataOverflow: false,\n allowDecimals: false,\n allowDuplicatedCategory: true,\n angle: 0,\n axisLine: true,\n includeHidden: false,\n hide: false,\n niceTicks: \"auto\",\n label: false,\n orientation: \"right\",\n radiusAxisId: 0,\n reversed: false,\n scale: \"auto\",\n stroke: \"#ccc\",\n tick: true,\n tickCount: 5,\n tickLine: true,\n type: \"auto\",\n zIndex: DefaultZIndexes.axis\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineAxisRangeWithReverse.js\n var combineAxisRangeWithReverse = (axisSettings, axisRange) => {\n if (!axisSettings || !axisRange) {\n return void 0;\n }\n if (axisSettings !== null && axisSettings !== void 0 && axisSettings.reversed) {\n return [axisRange[1], axisRange[0]];\n }\n return axisRange;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getAxisTypeBasedOnLayout.js\n function getAxisTypeBasedOnLayout(layout, axisType, axisDomainType) {\n if (axisDomainType !== \"auto\") {\n return axisDomainType;\n }\n if (layout == null) {\n return void 0;\n }\n return isCategoricalAxis(layout, axisType) ? \"category\" : \"number\";\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarAxisSelectors.js\n function ownKeys16(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread16(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys16(Object(t2), true).forEach(function(r3) {\n _defineProperty16(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys16(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty16(e, r2, t2) {\n return (r2 = _toPropertyKey16(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey16(t2) {\n var i = _toPrimitive16(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive16(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var implicitAngleAxis = {\n allowDataOverflow: defaultPolarAngleAxisProps.allowDataOverflow,\n allowDecimals: defaultPolarAngleAxisProps.allowDecimals,\n allowDuplicatedCategory: false,\n // defaultPolarAngleAxisProps.allowDuplicatedCategory has it set to true but the actual axis rendering ignores the prop because reasons,\n dataKey: void 0,\n domain: void 0,\n id: defaultPolarAngleAxisProps.angleAxisId,\n includeHidden: false,\n name: void 0,\n reversed: defaultPolarAngleAxisProps.reversed,\n scale: defaultPolarAngleAxisProps.scale,\n tick: defaultPolarAngleAxisProps.tick,\n tickCount: void 0,\n ticks: void 0,\n type: defaultPolarAngleAxisProps.type,\n unit: void 0,\n niceTicks: \"auto\"\n };\n var implicitRadiusAxis = {\n allowDataOverflow: defaultPolarRadiusAxisProps.allowDataOverflow,\n allowDecimals: defaultPolarRadiusAxisProps.allowDecimals,\n allowDuplicatedCategory: defaultPolarRadiusAxisProps.allowDuplicatedCategory,\n dataKey: void 0,\n domain: void 0,\n id: defaultPolarRadiusAxisProps.radiusAxisId,\n includeHidden: defaultPolarRadiusAxisProps.includeHidden,\n name: void 0,\n reversed: defaultPolarRadiusAxisProps.reversed,\n scale: defaultPolarRadiusAxisProps.scale,\n tick: defaultPolarRadiusAxisProps.tick,\n tickCount: defaultPolarRadiusAxisProps.tickCount,\n ticks: void 0,\n type: defaultPolarRadiusAxisProps.type,\n unit: void 0,\n niceTicks: \"auto\"\n };\n var selectAngleAxisNoDefaults = (state2, angleAxisId) => {\n if (angleAxisId == null) {\n return void 0;\n }\n return state2.polarAxis.angleAxis[angleAxisId];\n };\n var selectAngleAxis = createSelector([selectAngleAxisNoDefaults, selectPolarChartLayout], (angleAxisSettings, layout) => {\n var _getAxisTypeBasedOnLa;\n if (angleAxisSettings != null) {\n return angleAxisSettings;\n }\n var evaluatedType = (_getAxisTypeBasedOnLa = getAxisTypeBasedOnLayout(layout, \"angleAxis\", implicitAngleAxis.type)) !== null && _getAxisTypeBasedOnLa !== void 0 ? _getAxisTypeBasedOnLa : \"category\";\n return _objectSpread16(_objectSpread16({}, implicitAngleAxis), {}, {\n type: evaluatedType\n });\n });\n var selectRadiusAxisNoDefaults = (state2, radiusAxisId) => {\n return state2.polarAxis.radiusAxis[radiusAxisId];\n };\n var selectRadiusAxis = createSelector([selectRadiusAxisNoDefaults, selectPolarChartLayout], (radiusAxisSettings, layout) => {\n var _getAxisTypeBasedOnLa2;\n if (radiusAxisSettings != null) {\n return radiusAxisSettings;\n }\n var evaluatedType = (_getAxisTypeBasedOnLa2 = getAxisTypeBasedOnLayout(layout, \"radiusAxis\", implicitRadiusAxis.type)) !== null && _getAxisTypeBasedOnLa2 !== void 0 ? _getAxisTypeBasedOnLa2 : \"category\";\n return _objectSpread16(_objectSpread16({}, implicitRadiusAxis), {}, {\n type: evaluatedType\n });\n });\n var selectPolarOptions = (state2) => state2.polarOptions;\n var selectMaxRadius = createSelector([selectChartWidth, selectChartHeight, selectChartOffsetInternal], getMaxRadius);\n var selectInnerRadius = createSelector([selectPolarOptions, selectMaxRadius], (polarChartOptions, maxRadius) => {\n if (polarChartOptions == null) {\n return void 0;\n }\n return getPercentValue(polarChartOptions.innerRadius, maxRadius, 0);\n });\n var selectOuterRadius = createSelector([selectPolarOptions, selectMaxRadius], (polarChartOptions, maxRadius) => {\n if (polarChartOptions == null) {\n return void 0;\n }\n return getPercentValue(polarChartOptions.outerRadius, maxRadius, maxRadius * 0.8);\n });\n var combineAngleAxisRange = (polarOptions) => {\n if (polarOptions == null) {\n return [0, 0];\n }\n var {\n startAngle,\n endAngle\n } = polarOptions;\n return [startAngle, endAngle];\n };\n var selectAngleAxisRange = createSelector([selectPolarOptions], combineAngleAxisRange);\n var selectAngleAxisRangeWithReversed = createSelector([selectAngleAxis, selectAngleAxisRange], combineAxisRangeWithReverse);\n var selectRadiusAxisRange = createSelector([selectMaxRadius, selectInnerRadius, selectOuterRadius], (maxRadius, innerRadius, outerRadius) => {\n if (maxRadius == null || innerRadius == null || outerRadius == null) {\n return void 0;\n }\n return [innerRadius, outerRadius];\n });\n var selectRadiusAxisRangeWithReversed = createSelector([selectRadiusAxis, selectRadiusAxisRange], combineAxisRangeWithReverse);\n var selectPolarViewBox = createSelector([selectChartLayout, selectPolarOptions, selectInnerRadius, selectOuterRadius, selectChartWidth, selectChartHeight], (layout, polarOptions, innerRadius, outerRadius, width, height) => {\n if (layout !== \"centric\" && layout !== \"radial\" || polarOptions == null || innerRadius == null || outerRadius == null) {\n return void 0;\n }\n var {\n cx: cx2,\n cy,\n startAngle,\n endAngle\n } = polarOptions;\n return {\n cx: getPercentValue(cx2, width, width / 2),\n cy: getPercentValue(cy, height, height / 2),\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise: false\n // this property look useful, why not use it?\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pickAxisType.js\n var pickAxisType = (_state, axisType) => axisType;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pickAxisId.js\n var pickAxisId = (_state, _axisType, axisId) => axisId;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/stacks/getStackSeriesIdentifier.js\n function getStackSeriesIdentifier(graphicalItem) {\n return graphicalItem === null || graphicalItem === void 0 ? void 0 : graphicalItem.id;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineDisplayedStackedData.js\n function combineDisplayedStackedData(stackedGraphicalItems, _ref2, tooltipAxisSettings) {\n var {\n chartData = []\n } = _ref2;\n var {\n allowDuplicatedCategory,\n dataKey: tooltipDataKey\n } = tooltipAxisSettings;\n var knownItemsByDataKey = /* @__PURE__ */ new Map();\n stackedGraphicalItems.forEach((item) => {\n var _item$data;\n var resolvedData = (_item$data = item.data) !== null && _item$data !== void 0 ? _item$data : chartData;\n if (resolvedData == null || resolvedData.length === 0) {\n return;\n }\n var stackIdentifier = getStackSeriesIdentifier(item);\n resolvedData.forEach((entry, index2) => {\n var tooltipValue = tooltipDataKey == null || allowDuplicatedCategory ? index2 : String(getValueByDataKey(entry, tooltipDataKey, null));\n var numericValue = getValueByDataKey(entry, item.dataKey, 0);\n var curr;\n if (knownItemsByDataKey.has(tooltipValue)) {\n curr = knownItemsByDataKey.get(tooltipValue);\n } else {\n curr = {};\n }\n Object.assign(curr, {\n [stackIdentifier]: numericValue\n });\n knownItemsByDataKey.set(tooltipValue, curr);\n });\n });\n return Array.from(knownItemsByDataKey.values());\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/types/StackedGraphicalItem.js\n function isStacked(graphicalItem) {\n return \"stackId\" in graphicalItem && graphicalItem.stackId != null && graphicalItem.dataKey != null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/numberDomainEqualityCheck.js\n var numberDomainEqualityCheck = (a2, b) => {\n if (a2 === b) {\n return true;\n }\n if (a2 == null || b == null) {\n return false;\n }\n return a2[0] === b[0] && a2[1] === b[1];\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/arrayEqualityCheck.js\n function emptyArraysAreEqualCheck(a2, b) {\n if (Array.isArray(a2) && Array.isArray(b) && a2.length === 0 && b.length === 0) {\n return true;\n }\n return a2 === b;\n }\n function arrayContentsAreEqualCheck(a2, b) {\n if (a2.length === b.length) {\n for (var i = 0; i < a2.length; i++) {\n if (a2[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipAxisType.js\n var selectTooltipAxisType = (state2) => {\n var layout = selectChartLayout(state2);\n if (layout === \"horizontal\") {\n return \"xAxis\";\n }\n if (layout === \"vertical\") {\n return \"yAxis\";\n }\n if (layout === \"centric\") {\n return \"angleAxis\";\n }\n return \"radiusAxis\";\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipAxisId.js\n var selectTooltipAxisId = (state2) => state2.tooltip.settings.axisId;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/RechartsScale.js\n function rechartsScaleFactory(d3Scale) {\n if (d3Scale == null) {\n return void 0;\n }\n var ticksFn = d3Scale.ticks;\n var bandwidthFn = d3Scale.bandwidth;\n var d3Range = d3Scale.range();\n var range4 = [Math.min(...d3Range), Math.max(...d3Range)];\n return {\n domain: () => d3Scale.domain(),\n range: (function(_range) {\n function range5() {\n return _range.apply(this, arguments);\n }\n range5.toString = function() {\n return _range.toString();\n };\n return range5;\n })(() => range4),\n rangeMin: () => range4[0],\n rangeMax: () => range4[1],\n isInRange(value) {\n var first = range4[0];\n var last2 = range4[1];\n return first <= last2 ? value >= first && value <= last2 : value >= last2 && value <= first;\n },\n bandwidth: bandwidthFn ? () => bandwidthFn.call(d3Scale) : void 0,\n ticks: ticksFn ? (count3) => ticksFn.call(d3Scale, count3) : void 0,\n map: (input2, options2) => {\n var baseValue = d3Scale(input2);\n if (baseValue == null) {\n return void 0;\n }\n if (d3Scale.bandwidth && options2 !== null && options2 !== void 0 && options2.position) {\n var bandWidth = d3Scale.bandwidth();\n switch (options2.position) {\n case \"middle\":\n baseValue += bandWidth / 2;\n break;\n case \"end\":\n baseValue += bandWidth;\n break;\n default:\n break;\n }\n }\n return baseValue;\n }\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineCheckedDomain.js\n var combineCheckedDomain = (realScaleType, axisDomain) => {\n if (axisDomain == null) {\n return void 0;\n }\n switch (realScaleType) {\n case \"linear\": {\n if (!isWellFormedNumberDomain(axisDomain)) {\n var min3, max3;\n for (var i = 0; i < axisDomain.length; i++) {\n var value = axisDomain[i];\n if (!isWellBehavedNumber(value)) {\n continue;\n }\n if (min3 === void 0 || value < min3) {\n min3 = value;\n }\n if (max3 === void 0 || value > max3) {\n max3 = value;\n }\n }\n if (min3 !== void 0 && max3 !== void 0) {\n return [min3, max3];\n }\n return void 0;\n }\n return axisDomain;\n }\n default:\n return axisDomain;\n }\n };\n\n // ../../../node_modules/.bun/victory-vendor@37.3.6/node_modules/victory-vendor/es/d3-scale.js\n var d3_scale_exports = {};\n __export(d3_scale_exports, {\n scaleBand: () => band,\n scaleDiverging: () => diverging,\n scaleDivergingLog: () => divergingLog,\n scaleDivergingPow: () => divergingPow,\n scaleDivergingSqrt: () => divergingSqrt,\n scaleDivergingSymlog: () => divergingSymlog,\n scaleIdentity: () => identity2,\n scaleImplicit: () => implicit,\n scaleLinear: () => linear2,\n scaleLog: () => log,\n scaleOrdinal: () => ordinal,\n scalePoint: () => point3,\n scalePow: () => pow,\n scaleQuantile: () => quantile2,\n scaleQuantize: () => quantize,\n scaleRadial: () => radial,\n scaleSequential: () => sequential,\n scaleSequentialLog: () => sequentialLog,\n scaleSequentialPow: () => sequentialPow,\n scaleSequentialQuantile: () => sequentialQuantile,\n scaleSequentialSqrt: () => sequentialSqrt,\n scaleSequentialSymlog: () => sequentialSymlog,\n scaleSqrt: () => sqrt2,\n scaleSymlog: () => symlog,\n scaleThreshold: () => threshold,\n scaleTime: () => time,\n scaleUtc: () => utcTime,\n tickFormat: () => tickFormat\n });\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/ascending.js\n function ascending(a2, b) {\n return a2 == null || b == null ? NaN : a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/descending.js\n function descending(a2, b) {\n return a2 == null || b == null ? NaN : b < a2 ? -1 : b > a2 ? 1 : b >= a2 ? 0 : NaN;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/bisector.js\n function bisector(f) {\n let compare1, compare2, delta;\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x2) => ascending(f(d), x2);\n delta = (d, x2) => f(d) - x2;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n function left(a2, x2, lo = 0, hi = a2.length) {\n if (lo < hi) {\n if (compare1(x2, x2) !== 0) return hi;\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a2[mid], x2) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n function right(a2, x2, lo = 0, hi = a2.length) {\n if (lo < hi) {\n if (compare1(x2, x2) !== 0) return hi;\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a2[mid], x2) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n function center(a2, x2, lo = 0, hi = a2.length) {\n const i = left(a2, x2, lo, hi - 1);\n return i > lo && delta(a2[i - 1], x2) > -delta(a2[i], x2) ? i - 1 : i;\n }\n return { left, center, right };\n }\n function zero() {\n return 0;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/number.js\n function number(x2) {\n return x2 === null ? NaN : +x2;\n }\n function* numbers(values, valueof) {\n if (valueof === void 0) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/bisect.js\n var ascendingBisect = bisector(ascending);\n var bisectRight = ascendingBisect.right;\n var bisectLeft = ascendingBisect.left;\n var bisectCenter = bisector(number).center;\n var bisect_default = bisectRight;\n\n // ../../../node_modules/.bun/internmap@2.0.3/node_modules/internmap/src/index.js\n var InternMap = class extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: key } });\n if (entries != null) for (const [key2, value] of entries) this.set(key2, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n };\n function intern_get({ _intern, _key }, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n }\n function intern_set({ _intern, _key }, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n }\n function intern_delete({ _intern, _key }, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n }\n function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/sort.js\n function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a2, b) => {\n const x2 = compare(a2, b);\n if (x2 || x2 === 0) return x2;\n return (compare(b, b) === 0) - (compare(a2, a2) === 0);\n };\n }\n function ascendingDefined(a2, b) {\n return (a2 == null || !(a2 >= a2)) - (b == null || !(b >= b)) || (a2 < b ? -1 : a2 > b ? 1 : 0);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/ticks.js\n var e10 = Math.sqrt(50);\n var e5 = Math.sqrt(10);\n var e2 = Math.sqrt(2);\n function tickSpec(start, stop, count3) {\n const step = (stop - start) / Math.max(0, count3), power = Math.floor(Math.log10(step)), error = step / Math.pow(10, power), factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count3 && count3 < 2) return tickSpec(start, stop, count3 * 2);\n return [i1, i2, inc];\n }\n function ticks(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n if (!(count3 > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count3) : tickSpec(start, stop, count3);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks2 = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) * inc;\n }\n return ticks2;\n }\n function tickIncrement(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n return tickSpec(start, stop, count3)[2];\n }\n function tickStep(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count3) : tickIncrement(start, stop, count3);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/max.js\n function max2(values, valueof) {\n let max3;\n if (valueof === void 0) {\n for (const value of values) {\n if (value != null && (max3 < value || max3 === void 0 && value >= value)) {\n max3 = value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (max3 < value || max3 === void 0 && value >= value)) {\n max3 = value;\n }\n }\n }\n return max3;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/min.js\n function min2(values, valueof) {\n let min3;\n if (valueof === void 0) {\n for (const value of values) {\n if (value != null && (min3 > value || min3 === void 0 && value >= value)) {\n min3 = value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (min3 > value || min3 === void 0 && value >= value)) {\n min3 = value;\n }\n }\n }\n return min3;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/quickselect.js\n function quickselect(array2, k2, left = 0, right = Infinity, compare) {\n k2 = Math.floor(k2);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array2.length - 1, right));\n if (!(left <= k2 && k2 <= right)) return array2;\n compare = compare === void 0 ? ascendingDefined : compareDefined(compare);\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k2 - left + 1;\n const z = Math.log(n);\n const s2 = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s2 * (n - s2) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k2 - m * s2 / n + sd));\n const newRight = Math.min(right, Math.floor(k2 + (n - m) * s2 / n + sd));\n quickselect(array2, k2, newLeft, newRight, compare);\n }\n const t2 = array2[k2];\n let i = left;\n let j = right;\n swap(array2, left, k2);\n if (compare(array2[right], t2) > 0) swap(array2, left, right);\n while (i < j) {\n swap(array2, i, j), ++i, --j;\n while (compare(array2[i], t2) < 0) ++i;\n while (compare(array2[j], t2) > 0) --j;\n }\n if (compare(array2[left], t2) === 0) swap(array2, left, j);\n else ++j, swap(array2, j, right);\n if (j <= k2) left = j + 1;\n if (k2 <= j) right = j - 1;\n }\n return array2;\n }\n function swap(array2, i, j) {\n const t2 = array2[i];\n array2[i] = array2[j];\n array2[j] = t2;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/quantile.js\n function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min2(values);\n if (p >= 1) return max2(values);\n var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = max2(quickselect(values, i0).subarray(0, i0 + 1)), value1 = min2(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n }\n function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = +valueof(values[i0], i0, values), value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/range.js\n function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n var i = -1, n = Math.max(0, Math.ceil((stop - start) / step)) | 0, range4 = new Array(n);\n while (++i < n) {\n range4[i] = start + i * step;\n }\n return range4;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/init.js\n function initRange(domain, range4) {\n switch (arguments.length) {\n case 0:\n break;\n case 1:\n this.range(domain);\n break;\n default:\n this.range(range4).domain(domain);\n break;\n }\n return this;\n }\n function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/ordinal.js\n var implicit = /* @__PURE__ */ Symbol(\"implicit\");\n function ordinal() {\n var index2 = new InternMap(), domain = [], range4 = [], unknown = implicit;\n function scale(d) {\n let i = index2.get(d);\n if (i === void 0) {\n if (unknown !== implicit) return unknown;\n index2.set(d, i = domain.push(d) - 1);\n }\n return range4[i % range4.length];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index2 = new InternMap();\n for (const value of _) {\n if (index2.has(value)) continue;\n index2.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), scale) : range4.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return ordinal(domain, range4).unknown(unknown);\n };\n initRange.apply(scale, arguments);\n return scale;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/band.js\n function band() {\n var scale = ordinal().unknown(void 0), domain = scale.domain, ordinalRange = scale.range, r0 = 0, r1 = 1, step, bandwidth, round3 = false, paddingInner = 0, paddingOuter = 0, align = 0.5;\n delete scale.unknown;\n function rescale() {\n var n = domain().length, reverse = r1 < r0, start = reverse ? r1 : r0, stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round3) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round3) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = range(n).map(function(i) {\n return start + step * i;\n });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round3 = true, rescale();\n };\n scale.bandwidth = function() {\n return bandwidth;\n };\n scale.step = function() {\n return step;\n };\n scale.round = function(_) {\n return arguments.length ? (round3 = !!_, rescale()) : round3;\n };\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n scale.copy = function() {\n return band(domain(), [r0, r1]).round(round3).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);\n };\n return initRange.apply(rescale(), arguments);\n }\n function pointish(scale) {\n var copy3 = scale.copy;\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n scale.copy = function() {\n return pointish(copy3());\n };\n return scale;\n }\n function point3() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n }\n\n // ../../../node_modules/.bun/d3-color@3.1.0/node_modules/d3-color/src/define.js\n function define_default(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n }\n function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n }\n\n // ../../../node_modules/.bun/d3-color@3.1.0/node_modules/d3-color/src/color.js\n function Color() {\n }\n var darker = 0.7;\n var brighter = 1 / darker;\n var reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\";\n var reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\";\n var reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\";\n var reHex = /^#([0-9a-f]{3,8})$/;\n var reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`);\n var reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`);\n var reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`);\n var reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`);\n var reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`);\n var reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n var named = {\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n };\n define_default(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n });\n function color_formatHex() {\n return this.rgb().formatHex();\n }\n function color_formatHex8() {\n return this.rgb().formatHex8();\n }\n function color_formatHsl() {\n return hslConvert(this).formatHsl();\n }\n function color_formatRgb() {\n return this.rgb().formatRgb();\n }\n function color(format2) {\n var m, l;\n format2 = (format2 + \"\").trim().toLowerCase();\n return (m = reHex.exec(format2)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format2)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format2)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format2)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format2)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n }\n function rgbn(n) {\n return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);\n }\n function rgba(r2, g, b, a2) {\n if (a2 <= 0) r2 = g = b = NaN;\n return new Rgb(r2, g, b, a2);\n }\n function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n }\n function rgb(r2, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r2) : new Rgb(r2, g, b, opacity == null ? 1 : opacity);\n }\n function Rgb(r2, g, b, opacity) {\n this.r = +r2;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n }\n define_default(Rgb, rgb, extend(Color, {\n brighter(k2) {\n k2 = k2 == null ? brighter : Math.pow(brighter, k2);\n return new Rgb(this.r * k2, this.g * k2, this.b * k2, this.opacity);\n },\n darker(k2) {\n k2 = k2 == null ? darker : Math.pow(darker, k2);\n return new Rgb(this.r * k2, this.g * k2, this.b * k2, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n }));\n function rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n }\n function rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n }\n function rgb_formatRgb() {\n const a2 = clampa(this.opacity);\n return `${a2 === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a2 === 1 ? \")\" : `, ${a2})`}`;\n }\n function clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n }\n function clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n }\n function hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n }\n function hsla(h, s2, l, a2) {\n if (a2 <= 0) h = s2 = l = NaN;\n else if (l <= 0 || l >= 1) h = s2 = NaN;\n else if (s2 <= 0) h = NaN;\n return new Hsl(h, s2, l, a2);\n }\n function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl();\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r2 = o.r / 255, g = o.g / 255, b = o.b / 255, min3 = Math.min(r2, g, b), max3 = Math.max(r2, g, b), h = NaN, s2 = max3 - min3, l = (max3 + min3) / 2;\n if (s2) {\n if (r2 === max3) h = (g - b) / s2 + (g < b) * 6;\n else if (g === max3) h = (b - r2) / s2 + 2;\n else h = (r2 - g) / s2 + 4;\n s2 /= l < 0.5 ? max3 + min3 : 2 - max3 - min3;\n h *= 60;\n } else {\n s2 = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s2, l, o.opacity);\n }\n function hsl(h, s2, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s2, l, opacity == null ? 1 : opacity);\n }\n function Hsl(h, s2, l, opacity) {\n this.h = +h;\n this.s = +s2;\n this.l = +l;\n this.opacity = +opacity;\n }\n define_default(Hsl, hsl, extend(Color, {\n brighter(k2) {\n k2 = k2 == null ? brighter : Math.pow(brighter, k2);\n return new Hsl(this.h, this.s, this.l * k2, this.opacity);\n },\n darker(k2) {\n k2 = k2 == null ? darker : Math.pow(darker, k2);\n return new Hsl(this.h, this.s, this.l * k2, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360, s2 = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s2, m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a2 = clampa(this.opacity);\n return `${a2 === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a2 === 1 ? \")\" : `, ${a2})`}`;\n }\n }));\n function clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n }\n function clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n }\n function hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/basis.js\n function basis(t12, v0, v1, v2, v3) {\n var t2 = t12 * t12, t3 = t2 * t12;\n return ((1 - 3 * t12 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t12 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\n }\n function basis_default2(values) {\n var n = values.length - 1;\n return function(t2) {\n var i = t2 <= 0 ? t2 = 0 : t2 >= 1 ? (t2 = 1, n - 1) : Math.floor(t2 * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t2 - i / n) * n, v0, v1, v2, v3);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/basisClosed.js\n function basisClosed_default2(values) {\n var n = values.length;\n return function(t2) {\n var i = Math.floor(((t2 %= 1) < 0 ? ++t2 : t2) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n];\n return basis((t2 - i / n) * n, v0, v1, v2, v3);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js\n var constant_default2 = (x2) => () => x2;\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js\n function linear(a2, d) {\n return function(t2) {\n return a2 + t2 * d;\n };\n }\n function exponential(a2, b, y2) {\n return a2 = Math.pow(a2, y2), b = Math.pow(b, y2) - a2, y2 = 1 / y2, function(t2) {\n return Math.pow(a2 + t2 * b, y2);\n };\n }\n function gamma(y2) {\n return (y2 = +y2) === 1 ? nogamma : function(a2, b) {\n return b - a2 ? exponential(a2, b, y2) : constant_default2(isNaN(a2) ? b : a2);\n };\n }\n function nogamma(a2, b) {\n var d = b - a2;\n return d ? linear(a2, d) : constant_default2(isNaN(a2) ? b : a2);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js\n var rgb_default = (function rgbGamma(y2) {\n var color2 = gamma(y2);\n function rgb2(start, end) {\n var r2 = color2((start = rgb(start)).r, (end = rgb(end)).r), g = color2(start.g, end.g), b = color2(start.b, end.b), opacity = nogamma(start.opacity, end.opacity);\n return function(t2) {\n start.r = r2(t2);\n start.g = g(t2);\n start.b = b(t2);\n start.opacity = opacity(t2);\n return start + \"\";\n };\n }\n rgb2.gamma = rgbGamma;\n return rgb2;\n })(1);\n function rgbSpline(spline) {\n return function(colors) {\n var n = colors.length, r2 = new Array(n), g = new Array(n), b = new Array(n), i, color2;\n for (i = 0; i < n; ++i) {\n color2 = rgb(colors[i]);\n r2[i] = color2.r || 0;\n g[i] = color2.g || 0;\n b[i] = color2.b || 0;\n }\n r2 = spline(r2);\n g = spline(g);\n b = spline(b);\n color2.opacity = 1;\n return function(t2) {\n color2.r = r2(t2);\n color2.g = g(t2);\n color2.b = b(t2);\n return color2 + \"\";\n };\n };\n }\n var rgbBasis = rgbSpline(basis_default2);\n var rgbBasisClosed = rgbSpline(basisClosed_default2);\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js\n function numberArray_default(a2, b) {\n if (!b) b = [];\n var n = a2 ? Math.min(b.length, a2.length) : 0, c2 = b.slice(), i;\n return function(t2) {\n for (i = 0; i < n; ++i) c2[i] = a2[i] * (1 - t2) + b[i] * t2;\n return c2;\n };\n }\n function isNumberArray(x2) {\n return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js\n function genericArray(a2, b) {\n var nb = b ? b.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x2 = new Array(na), c2 = new Array(nb), i;\n for (i = 0; i < na; ++i) x2[i] = value_default(a2[i], b[i]);\n for (; i < nb; ++i) c2[i] = b[i];\n return function(t2) {\n for (i = 0; i < na; ++i) c2[i] = x2[i](t2);\n return c2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js\n function date_default(a2, b) {\n var d = /* @__PURE__ */ new Date();\n return a2 = +a2, b = +b, function(t2) {\n return d.setTime(a2 * (1 - t2) + b * t2), d;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js\n function number_default(a2, b) {\n return a2 = +a2, b = +b, function(t2) {\n return a2 * (1 - t2) + b * t2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js\n function object_default(a2, b) {\n var i = {}, c2 = {}, k2;\n if (a2 === null || typeof a2 !== \"object\") a2 = {};\n if (b === null || typeof b !== \"object\") b = {};\n for (k2 in b) {\n if (k2 in a2) {\n i[k2] = value_default(a2[k2], b[k2]);\n } else {\n c2[k2] = b[k2];\n }\n }\n return function(t2) {\n for (k2 in i) c2[k2] = i[k2](t2);\n return c2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js\n var reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g;\n var reB = new RegExp(reA.source, \"g\");\n function zero2(b) {\n return function() {\n return b;\n };\n }\n function one(b) {\n return function(t2) {\n return b(t2) + \"\";\n };\n }\n function string_default(a2, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s2 = [], q = [];\n a2 = a2 + \"\", b = b + \"\";\n while ((am = reA.exec(a2)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s2[i]) s2[i] += bs;\n else s2[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s2[i]) s2[i] += bm;\n else s2[++i] = bm;\n } else {\n s2[++i] = null;\n q.push({ i, x: number_default(am, bm) });\n }\n bi = reB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s2[i]) s2[i] += bs;\n else s2[++i] = bs;\n }\n return s2.length < 2 ? q[0] ? one(q[0].x) : zero2(b) : (b = q.length, function(t2) {\n for (var i2 = 0, o; i2 < b; ++i2) s2[(o = q[i2]).i] = o.x(t2);\n return s2.join(\"\");\n });\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js\n function value_default(a2, b) {\n var t2 = typeof b, c2;\n return b == null || t2 === \"boolean\" ? constant_default2(b) : (t2 === \"number\" ? number_default : t2 === \"string\" ? (c2 = color(b)) ? (b = c2, rgb_default) : string_default : b instanceof color ? rgb_default : b instanceof Date ? date_default : isNumberArray(b) ? numberArray_default : Array.isArray(b) ? genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object_default : number_default)(a2, b);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js\n function round_default(a2, b) {\n return a2 = +a2, b = +b, function(t2) {\n return Math.round(a2 * (1 - t2) + b * t2);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/piecewise.js\n function piecewise(interpolate2, values) {\n if (values === void 0) values = interpolate2, interpolate2 = value_default;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate2(v, v = values[++i]);\n return function(t2) {\n var i2 = Math.max(0, Math.min(n - 1, Math.floor(t2 *= n)));\n return I[i2](t2 - i2);\n };\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js\n function constants(x2) {\n return function() {\n return x2;\n };\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/number.js\n function number2(x2) {\n return +x2;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js\n var unit = [0, 1];\n function identity(x2) {\n return x2;\n }\n function normalize(a2, b) {\n return (b -= a2 = +a2) ? function(x2) {\n return (x2 - a2) / b;\n } : constants(isNaN(b) ? NaN : 0.5);\n }\n function clamper(a2, b) {\n var t2;\n if (a2 > b) t2 = a2, a2 = b, b = t2;\n return function(x2) {\n return Math.max(a2, Math.min(b, x2));\n };\n }\n function bimap(domain, range4, interpolate2) {\n var d0 = domain[0], d1 = domain[1], r0 = range4[0], r1 = range4[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate2(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate2(r0, r1);\n return function(x2) {\n return r0(d0(x2));\n };\n }\n function polymap(domain, range4, interpolate2) {\n var j = Math.min(domain.length, range4.length) - 1, d = new Array(j), r2 = new Array(j), i = -1;\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range4 = range4.slice().reverse();\n }\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r2[i] = interpolate2(range4[i], range4[i + 1]);\n }\n return function(x2) {\n var i2 = bisect_default(domain, x2, 1, j) - 1;\n return r2[i2](d[i2](x2));\n };\n }\n function copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n }\n function transformer() {\n var domain = unit, range4 = unit, interpolate2 = value_default, transform2, untransform, unknown, clamp3 = identity, piecewise2, output, input2;\n function rescale() {\n var n = Math.min(domain.length, range4.length);\n if (clamp3 !== identity) clamp3 = clamper(domain[0], domain[n - 1]);\n piecewise2 = n > 2 ? polymap : bimap;\n output = input2 = null;\n return scale;\n }\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : (output || (output = piecewise2(domain.map(transform2), range4, interpolate2)))(transform2(clamp3(x2)));\n }\n scale.invert = function(y2) {\n return clamp3(untransform((input2 || (input2 = piecewise2(range4, domain.map(transform2), number_default)))(y2)));\n };\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number2), rescale()) : domain.slice();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), rescale()) : range4.slice();\n };\n scale.rangeRound = function(_) {\n return range4 = Array.from(_), interpolate2 = round_default, rescale();\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = _ ? true : identity, rescale()) : clamp3 !== identity;\n };\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate2 = _, rescale()) : interpolate2;\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t2, u) {\n transform2 = t2, untransform = u;\n return rescale();\n };\n }\n function continuous() {\n return transformer()(identity, identity);\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatDecimal.js\n function formatDecimal_default(x2) {\n return Math.abs(x2 = Math.round(x2)) >= 1e21 ? x2.toLocaleString(\"en\").replace(/,/g, \"\") : x2.toString(10);\n }\n function formatDecimalParts(x2, p) {\n if (!isFinite(x2) || x2 === 0) return null;\n var i = (x2 = p ? x2.toExponential(p - 1) : x2.toExponential()).indexOf(\"e\"), coefficient = x2.slice(0, i);\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x2.slice(i + 1)\n ];\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/exponent.js\n function exponent_default(x2) {\n return x2 = formatDecimalParts(Math.abs(x2)), x2 ? x2[1] : NaN;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatGroup.js\n function formatGroup_default(grouping, thousands) {\n return function(value, width) {\n var i = value.length, t2 = [], j = 0, g = grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t2.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n return t2.reverse().join(thousands);\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatNumerals.js\n function formatNumerals_default(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatSpecifier.js\n var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n function formatSpecifier(specifier) {\n if (!(match2 = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match2;\n return new FormatSpecifier({\n fill: match2[1],\n align: match2[2],\n sign: match2[3],\n symbol: match2[4],\n zero: match2[5],\n width: match2[6],\n comma: match2[7],\n precision: match2[8] && match2[8].slice(1),\n trim: match2[9],\n type: match2[10]\n });\n }\n formatSpecifier.prototype = FormatSpecifier.prototype;\n function FormatSpecifier(specifier) {\n this.fill = specifier.fill === void 0 ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === void 0 ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === void 0 ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === void 0 ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === void 0 ? void 0 : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === void 0 ? void 0 : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === void 0 ? \"\" : specifier.type + \"\";\n }\n FormatSpecifier.prototype.toString = function() {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === void 0 ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === void 0 ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n };\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatTrim.js\n function formatTrim_default(s2) {\n out: for (var n = s2.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s2[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n default:\n if (!+s2[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n return i0 > 0 ? s2.slice(0, i0) + s2.slice(i1 + 1) : s2;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatPrefixAuto.js\n var prefixExponent;\n function formatPrefixAuto_default(x2, p) {\n var d = formatDecimalParts(x2, p);\n if (!d) return prefixExponent = void 0, x2.toPrecision(p);\n var coefficient = d[0], exponent = d[1], i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x2, Math.max(0, p + i - 1))[0];\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatRounded.js\n function formatRounded_default(x2, p) {\n var d = formatDecimalParts(x2, p);\n if (!d) return x2 + \"\";\n var coefficient = d[0], exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatTypes.js\n var formatTypes_default = {\n \"%\": (x2, p) => (x2 * 100).toFixed(p),\n \"b\": (x2) => Math.round(x2).toString(2),\n \"c\": (x2) => x2 + \"\",\n \"d\": formatDecimal_default,\n \"e\": (x2, p) => x2.toExponential(p),\n \"f\": (x2, p) => x2.toFixed(p),\n \"g\": (x2, p) => x2.toPrecision(p),\n \"o\": (x2) => Math.round(x2).toString(8),\n \"p\": (x2, p) => formatRounded_default(x2 * 100, p),\n \"r\": formatRounded_default,\n \"s\": formatPrefixAuto_default,\n \"X\": (x2) => Math.round(x2).toString(16).toUpperCase(),\n \"x\": (x2) => Math.round(x2).toString(16)\n };\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/identity.js\n function identity_default(x2) {\n return x2;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/locale.js\n var map = Array.prototype.map;\n var prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"\\xB5\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\n function locale_default(locale3) {\n var group = locale3.grouping === void 0 || locale3.thousands === void 0 ? identity_default : formatGroup_default(map.call(locale3.grouping, Number), locale3.thousands + \"\"), currencyPrefix = locale3.currency === void 0 ? \"\" : locale3.currency[0] + \"\", currencySuffix = locale3.currency === void 0 ? \"\" : locale3.currency[1] + \"\", decimal = locale3.decimal === void 0 ? \".\" : locale3.decimal + \"\", numerals = locale3.numerals === void 0 ? identity_default : formatNumerals_default(map.call(locale3.numerals, String)), percent = locale3.percent === void 0 ? \"%\" : locale3.percent + \"\", minus = locale3.minus === void 0 ? \"\\u2212\" : locale3.minus + \"\", nan = locale3.nan === void 0 ? \"NaN\" : locale3.nan + \"\";\n function newFormat(specifier, options2) {\n specifier = formatSpecifier(specifier);\n var fill = specifier.fill, align = specifier.align, sign2 = specifier.sign, symbol = specifier.symbol, zero3 = specifier.zero, width = specifier.width, comma2 = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type;\n if (type === \"n\") comma2 = true, type = \"g\";\n else if (!formatTypes_default[type]) precision === void 0 && (precision = 12), trim = true, type = \"g\";\n if (zero3 || fill === \"0\" && align === \"=\") zero3 = true, fill = \"0\", align = \"=\";\n var prefix2 = (options2 && options2.prefix !== void 0 ? options2.prefix : \"\") + (symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\"), suffix2 = (symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\") + (options2 && options2.suffix !== void 0 ? options2.suffix : \"\");\n var formatType = formatTypes_default[type], maybeSuffix = /[defgprs%]/.test(type);\n precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n function format2(value) {\n var valuePrefix = prefix2, valueSuffix = suffix2, i, n, c2;\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n var valueNegative = value < 0 || 1 / value < 0;\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n if (trim) value = formatTrim_default(value);\n if (valueNegative && +value === 0 && sign2 !== \"+\") valueNegative = false;\n valuePrefix = (valueNegative ? sign2 === \"(\" ? sign2 : minus : sign2 === \"-\" || sign2 === \"(\" ? \"\" : sign2) + valuePrefix;\n valueSuffix = (type === \"s\" && !isNaN(value) && prefixExponent !== void 0 ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign2 === \"(\" ? \")\" : \"\");\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c2 = value.charCodeAt(i), 48 > c2 || c2 > 57) {\n valueSuffix = (c2 === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n if (comma2 && !zero3) value = group(value, Infinity);\n var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n if (comma2 && zero3) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n default:\n value = padding + valuePrefix + value + valueSuffix;\n break;\n }\n return numerals(value);\n }\n format2.toString = function() {\n return specifier + \"\";\n };\n return format2;\n }\n function formatPrefix2(specifier, value) {\n var e = Math.max(-8, Math.min(8, Math.floor(exponent_default(value) / 3))) * 3, k2 = Math.pow(10, -e), f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier), { suffix: prefixes[8 + e / 3] });\n return function(value2) {\n return f(k2 * value2);\n };\n }\n return {\n format: newFormat,\n formatPrefix: formatPrefix2\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/defaultLocale.js\n var locale;\n var format;\n var formatPrefix;\n defaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n });\n function defaultLocale(definition) {\n locale = locale_default(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionFixed.js\n function precisionFixed_default(step) {\n return Math.max(0, -exponent_default(Math.abs(step)));\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionPrefix.js\n function precisionPrefix_default(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent_default(value) / 3))) * 3 - exponent_default(Math.abs(step)));\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionRound.js\n function precisionRound_default(step, max3) {\n step = Math.abs(step), max3 = Math.abs(max3) - step;\n return Math.max(0, exponent_default(max3) - exponent_default(step)) + 1;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js\n function tickFormat(start, stop, count3, specifier) {\n var step = tickStep(start, stop, count3), precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix_default(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound_default(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed_default(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js\n function linearish(scale) {\n var domain = scale.domain;\n scale.ticks = function(count3) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count3 == null ? 10 : count3);\n };\n scale.tickFormat = function(count3, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count3 == null ? 10 : count3, specifier);\n };\n scale.nice = function(count3) {\n if (count3 == null) count3 = 10;\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count3);\n if (step === prestep) {\n d[i0] = start;\n d[i1] = stop;\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n return scale;\n };\n return scale;\n }\n function linear2() {\n var scale = continuous();\n scale.copy = function() {\n return copy(scale, linear2());\n };\n initRange.apply(scale, arguments);\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/identity.js\n function identity2(domain) {\n var unknown;\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : x2;\n }\n scale.invert = scale;\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number2), scale) : domain.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return identity2(domain).unknown(unknown);\n };\n domain = arguments.length ? Array.from(domain, number2) : [0, 1];\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/nice.js\n function nice(domain, interval) {\n domain = domain.slice();\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], t2;\n if (x1 < x0) {\n t2 = i0, i0 = i1, i1 = t2;\n t2 = x0, x0 = x1, x1 = t2;\n }\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/log.js\n function transformLog(x2) {\n return Math.log(x2);\n }\n function transformExp(x2) {\n return Math.exp(x2);\n }\n function transformLogn(x2) {\n return -Math.log(-x2);\n }\n function transformExpn(x2) {\n return -Math.exp(-x2);\n }\n function pow10(x2) {\n return isFinite(x2) ? +(\"1e\" + x2) : x2 < 0 ? 0 : x2;\n }\n function powp(base) {\n return base === 10 ? pow10 : base === Math.E ? Math.exp : (x2) => Math.pow(base, x2);\n }\n function logp(base) {\n return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), (x2) => Math.log(x2) / base);\n }\n function reflect(f) {\n return (x2, k2) => -f(-x2, k2);\n }\n function loggish(transform2) {\n const scale = transform2(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform2(transformLogn, transformExpn);\n } else {\n transform2(transformLog, transformExp);\n }\n return scale;\n }\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n scale.ticks = (count3) => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r2 = v < u;\n if (r2) [u, v] = [v, u];\n let i = logs(u);\n let j = logs(v);\n let k2;\n let t2;\n const n = count3 == null ? 10 : +count3;\n let z = [];\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k2 = 1; k2 < base; ++k2) {\n t2 = i < 0 ? k2 / pows(-i) : k2 * pows(i);\n if (t2 < u) continue;\n if (t2 > v) break;\n z.push(t2);\n }\n }\n else for (; i <= j; ++i) {\n for (k2 = base - 1; k2 >= 1; --k2) {\n t2 = i > 0 ? k2 / pows(-i) : k2 * pows(i);\n if (t2 < u) continue;\n if (t2 > v) break;\n z.push(t2);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r2 ? z.reverse() : z;\n };\n scale.tickFormat = (count3, specifier) => {\n if (count3 == null) count3 = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count3 === Infinity) return specifier;\n const k2 = Math.max(1, base * count3 / scale.ticks().length);\n return (d) => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k2 ? specifier(d) : \"\";\n };\n };\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: (x2) => pows(Math.floor(logs(x2))),\n ceil: (x2) => pows(Math.ceil(logs(x2)))\n }));\n };\n return scale;\n }\n function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/symlog.js\n function transformSymlog(c2) {\n return function(x2) {\n return Math.sign(x2) * Math.log1p(Math.abs(x2 / c2));\n };\n }\n function transformSymexp(c2) {\n return function(x2) {\n return Math.sign(x2) * Math.expm1(Math.abs(x2)) * c2;\n };\n }\n function symlogish(transform2) {\n var c2 = 1, scale = transform2(transformSymlog(c2), transformSymexp(c2));\n scale.constant = function(_) {\n return arguments.length ? transform2(transformSymlog(c2 = +_), transformSymexp(c2)) : c2;\n };\n return linearish(scale);\n }\n function symlog() {\n var scale = symlogish(transformer());\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/pow.js\n function transformPow(exponent) {\n return function(x2) {\n return x2 < 0 ? -Math.pow(-x2, exponent) : Math.pow(x2, exponent);\n };\n }\n function transformSqrt(x2) {\n return x2 < 0 ? -Math.sqrt(-x2) : Math.sqrt(x2);\n }\n function transformSquare(x2) {\n return x2 < 0 ? -x2 * x2 : x2 * x2;\n }\n function powish(transform2) {\n var scale = transform2(identity, identity), exponent = 1;\n function rescale() {\n return exponent === 1 ? transform2(identity, identity) : exponent === 0.5 ? transform2(transformSqrt, transformSquare) : transform2(transformPow(exponent), transformPow(1 / exponent));\n }\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n return linearish(scale);\n }\n function pow() {\n var scale = powish(transformer());\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n initRange.apply(scale, arguments);\n return scale;\n }\n function sqrt2() {\n return pow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/radial.js\n function square(x2) {\n return Math.sign(x2) * x2 * x2;\n }\n function unsquare(x2) {\n return Math.sign(x2) * Math.sqrt(Math.abs(x2));\n }\n function radial() {\n var squared = continuous(), range4 = [0, 1], round3 = false, unknown;\n function scale(x2) {\n var y2 = unsquare(squared(x2));\n return isNaN(y2) ? unknown : round3 ? Math.round(y2) : y2;\n }\n scale.invert = function(y2) {\n return squared.invert(square(y2));\n };\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n scale.range = function(_) {\n return arguments.length ? (squared.range((range4 = Array.from(_, number2)).map(square)), scale) : range4.slice();\n };\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n scale.round = function(_) {\n return arguments.length ? (round3 = !!_, scale) : round3;\n };\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return radial(squared.domain(), range4).round(round3).clamp(squared.clamp()).unknown(unknown);\n };\n initRange.apply(scale, arguments);\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/quantile.js\n function quantile2() {\n var domain = [], range4 = [], thresholds = [], unknown;\n function rescale() {\n var i = 0, n = Math.max(1, range4.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = quantileSorted(domain, i / n);\n return scale;\n }\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : range4[bisect_default(thresholds, x2)];\n }\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), rescale()) : range4.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.quantiles = function() {\n return thresholds.slice();\n };\n scale.copy = function() {\n return quantile2().domain(domain).range(range4).unknown(unknown);\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/quantize.js\n function quantize() {\n var x0 = 0, x1 = 1, n = 1, domain = [0.5], range4 = [0, 1], unknown;\n function scale(x2) {\n return x2 != null && x2 <= x2 ? range4[bisect_default(domain, x2, 0, n)] : unknown;\n }\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n scale.range = function(_) {\n return arguments.length ? (n = (range4 = Array.from(_)).length - 1, rescale()) : range4.slice();\n };\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return i < 0 ? [NaN, NaN] : i < 1 ? [x0, domain[0]] : i >= n ? [domain[n - 1], x1] : [domain[i - 1], domain[i]];\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n scale.thresholds = function() {\n return domain.slice();\n };\n scale.copy = function() {\n return quantize().domain([x0, x1]).range(range4).unknown(unknown);\n };\n return initRange.apply(linearish(scale), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/threshold.js\n function threshold() {\n var domain = [0.5], range4 = [0, 1], unknown, n = 1;\n function scale(x2) {\n return x2 != null && x2 <= x2 ? range4[bisect_default(domain, x2, 0, n)] : unknown;\n }\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range4.length - 1), scale) : domain.slice();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), n = Math.min(domain.length, range4.length - 1), scale) : range4.slice();\n };\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return [domain[i - 1], domain[i]];\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return threshold().domain(domain).range(range4).unknown(unknown);\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/interval.js\n var t0 = /* @__PURE__ */ new Date();\n var t1 = /* @__PURE__ */ new Date();\n function timeInterval(floori, offseti, count3, field) {\n function interval(date2) {\n return floori(date2 = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+date2)), date2;\n }\n interval.floor = (date2) => {\n return floori(date2 = /* @__PURE__ */ new Date(+date2)), date2;\n };\n interval.ceil = (date2) => {\n return floori(date2 = new Date(date2 - 1)), offseti(date2, 1), floori(date2), date2;\n };\n interval.round = (date2) => {\n const d0 = interval(date2), d1 = interval.ceil(date2);\n return date2 - d0 < d1 - date2 ? d0 : d1;\n };\n interval.offset = (date2, step) => {\n return offseti(date2 = /* @__PURE__ */ new Date(+date2), step == null ? 1 : Math.floor(step)), date2;\n };\n interval.range = (start, stop, step) => {\n const range4 = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range4;\n let previous;\n do\n range4.push(previous = /* @__PURE__ */ new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range4;\n };\n interval.filter = (test) => {\n return timeInterval((date2) => {\n if (date2 >= date2) while (floori(date2), !test(date2)) date2.setTime(date2 - 1);\n }, (date2, step) => {\n if (date2 >= date2) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date2, -1), !test(date2)) {\n }\n }\n else while (--step >= 0) {\n while (offseti(date2, 1), !test(date2)) {\n }\n }\n }\n });\n };\n if (count3) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count3(t0, t1));\n };\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? (d) => field(d) % step === 0 : (d) => interval.count(0, d) % step === 0);\n };\n }\n return interval;\n }\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/millisecond.js\n var millisecond = timeInterval(() => {\n }, (date2, step) => {\n date2.setTime(+date2 + step);\n }, (start, end) => {\n return end - start;\n });\n millisecond.every = (k2) => {\n k2 = Math.floor(k2);\n if (!isFinite(k2) || !(k2 > 0)) return null;\n if (!(k2 > 1)) return millisecond;\n return timeInterval((date2) => {\n date2.setTime(Math.floor(date2 / k2) * k2);\n }, (date2, step) => {\n date2.setTime(+date2 + step * k2);\n }, (start, end) => {\n return (end - start) / k2;\n });\n };\n var milliseconds = millisecond.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/duration.js\n var durationSecond = 1e3;\n var durationMinute = durationSecond * 60;\n var durationHour = durationMinute * 60;\n var durationDay = durationHour * 24;\n var durationWeek = durationDay * 7;\n var durationMonth = durationDay * 30;\n var durationYear = durationDay * 365;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/second.js\n var second = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds());\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationSecond);\n }, (start, end) => {\n return (end - start) / durationSecond;\n }, (date2) => {\n return date2.getUTCSeconds();\n });\n var seconds = second.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/minute.js\n var timeMinute = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds() - date2.getSeconds() * durationSecond);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationMinute);\n }, (start, end) => {\n return (end - start) / durationMinute;\n }, (date2) => {\n return date2.getMinutes();\n });\n var timeMinutes = timeMinute.range;\n var utcMinute = timeInterval((date2) => {\n date2.setUTCSeconds(0, 0);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationMinute);\n }, (start, end) => {\n return (end - start) / durationMinute;\n }, (date2) => {\n return date2.getUTCMinutes();\n });\n var utcMinutes = utcMinute.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/hour.js\n var timeHour = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds() - date2.getSeconds() * durationSecond - date2.getMinutes() * durationMinute);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationHour);\n }, (start, end) => {\n return (end - start) / durationHour;\n }, (date2) => {\n return date2.getHours();\n });\n var timeHours = timeHour.range;\n var utcHour = timeInterval((date2) => {\n date2.setUTCMinutes(0, 0, 0);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationHour);\n }, (start, end) => {\n return (end - start) / durationHour;\n }, (date2) => {\n return date2.getUTCHours();\n });\n var utcHours = utcHour.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/day.js\n var timeDay = timeInterval(\n (date2) => date2.setHours(0, 0, 0, 0),\n (date2, step) => date2.setDate(date2.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n (date2) => date2.getDate() - 1\n );\n var timeDays = timeDay.range;\n var utcDay = timeInterval((date2) => {\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step);\n }, (start, end) => {\n return (end - start) / durationDay;\n }, (date2) => {\n return date2.getUTCDate() - 1;\n });\n var utcDays = utcDay.range;\n var unixDay = timeInterval((date2) => {\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step);\n }, (start, end) => {\n return (end - start) / durationDay;\n }, (date2) => {\n return Math.floor(date2 / durationDay);\n });\n var unixDays = unixDay.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/week.js\n function timeWeekday(i) {\n return timeInterval((date2) => {\n date2.setDate(date2.getDate() - (date2.getDay() + 7 - i) % 7);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setDate(date2.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n }\n var timeSunday = timeWeekday(0);\n var timeMonday = timeWeekday(1);\n var timeTuesday = timeWeekday(2);\n var timeWednesday = timeWeekday(3);\n var timeThursday = timeWeekday(4);\n var timeFriday = timeWeekday(5);\n var timeSaturday = timeWeekday(6);\n var timeSundays = timeSunday.range;\n var timeMondays = timeMonday.range;\n var timeTuesdays = timeTuesday.range;\n var timeWednesdays = timeWednesday.range;\n var timeThursdays = timeThursday.range;\n var timeFridays = timeFriday.range;\n var timeSaturdays = timeSaturday.range;\n function utcWeekday(i) {\n return timeInterval((date2) => {\n date2.setUTCDate(date2.getUTCDate() - (date2.getUTCDay() + 7 - i) % 7);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n }\n var utcSunday = utcWeekday(0);\n var utcMonday = utcWeekday(1);\n var utcTuesday = utcWeekday(2);\n var utcWednesday = utcWeekday(3);\n var utcThursday = utcWeekday(4);\n var utcFriday = utcWeekday(5);\n var utcSaturday = utcWeekday(6);\n var utcSundays = utcSunday.range;\n var utcMondays = utcMonday.range;\n var utcTuesdays = utcTuesday.range;\n var utcWednesdays = utcWednesday.range;\n var utcThursdays = utcThursday.range;\n var utcFridays = utcFriday.range;\n var utcSaturdays = utcSaturday.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/month.js\n var timeMonth = timeInterval((date2) => {\n date2.setDate(1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setMonth(date2.getMonth() + step);\n }, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n }, (date2) => {\n return date2.getMonth();\n });\n var timeMonths = timeMonth.range;\n var utcMonth = timeInterval((date2) => {\n date2.setUTCDate(1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCMonth(date2.getUTCMonth() + step);\n }, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n }, (date2) => {\n return date2.getUTCMonth();\n });\n var utcMonths = utcMonth.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/year.js\n var timeYear = timeInterval((date2) => {\n date2.setMonth(0, 1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setFullYear(date2.getFullYear() + step);\n }, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n }, (date2) => {\n return date2.getFullYear();\n });\n timeYear.every = (k2) => {\n return !isFinite(k2 = Math.floor(k2)) || !(k2 > 0) ? null : timeInterval((date2) => {\n date2.setFullYear(Math.floor(date2.getFullYear() / k2) * k2);\n date2.setMonth(0, 1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setFullYear(date2.getFullYear() + step * k2);\n });\n };\n var timeYears = timeYear.range;\n var utcYear = timeInterval((date2) => {\n date2.setUTCMonth(0, 1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCFullYear(date2.getUTCFullYear() + step);\n }, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n }, (date2) => {\n return date2.getUTCFullYear();\n });\n utcYear.every = (k2) => {\n return !isFinite(k2 = Math.floor(k2)) || !(k2 > 0) ? null : timeInterval((date2) => {\n date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / k2) * k2);\n date2.setUTCMonth(0, 1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCFullYear(date2.getUTCFullYear() + step * k2);\n });\n };\n var utcYears = utcYear.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/ticks.js\n function ticker(year, month, week, day, hour, minute) {\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [hour, 1, durationHour],\n [hour, 3, 3 * durationHour],\n [hour, 6, 6 * durationHour],\n [hour, 12, 12 * durationHour],\n [day, 1, durationDay],\n [day, 2, 2 * durationDay],\n [week, 1, durationWeek],\n [month, 1, durationMonth],\n [month, 3, 3 * durationMonth],\n [year, 1, durationYear]\n ];\n function ticks2(start, stop, count3) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count3 && typeof count3.range === \"function\" ? count3 : tickInterval(start, stop, count3);\n const ticks3 = interval ? interval.range(start, +stop + 1) : [];\n return reverse ? ticks3.reverse() : ticks3;\n }\n function tickInterval(start, stop, count3) {\n const target = Math.abs(stop - start) / count3;\n const i = bisector(([, , step2]) => step2).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count3));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count3), 1));\n const [t2, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t2.every(step);\n }\n return [ticks2, tickInterval];\n }\n var [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\n var [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\n // ../../../node_modules/.bun/d3-time-format@4.1.0/node_modules/d3-time-format/src/locale.js\n function localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date2 = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date2.setFullYear(d.y);\n return date2;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n }\n function utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date2 = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date2.setUTCFullYear(d.y);\n return date2;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n }\n function newDate(y2, m, d) {\n return { y: y2, m, d, H: 0, M: 0, S: 0, L: 0 };\n }\n function formatLocale(locale3) {\n var locale_dateTime = locale3.dateTime, locale_date = locale3.date, locale_time = locale3.time, locale_periods = locale3.periods, locale_weekdays = locale3.days, locale_shortWeekdays = locale3.shortDays, locale_months = locale3.months, locale_shortMonths = locale3.shortMonths;\n var periodRe = formatRe(locale_periods), periodLookup = formatLookup(locale_periods), weekdayRe = formatRe(locale_weekdays), weekdayLookup = formatLookup(locale_weekdays), shortWeekdayRe = formatRe(locale_shortWeekdays), shortWeekdayLookup = formatLookup(locale_shortWeekdays), monthRe = formatRe(locale_months), monthLookup = formatLookup(locale_months), shortMonthRe = formatRe(locale_shortMonths), shortMonthLookup = formatLookup(locale_shortMonths);\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n function newFormat(specifier, formats2) {\n return function(date2) {\n var string = [], i = -1, j = 0, n = specifier.length, c2, pad2, format2;\n if (!(date2 instanceof Date)) date2 = /* @__PURE__ */ new Date(+date2);\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad2 = pads[c2 = specifier.charAt(++i)]) != null) c2 = specifier.charAt(++i);\n else pad2 = c2 === \"e\" ? \" \" : \"0\";\n if (format2 = formats2[c2]) c2 = format2(date2, pad2);\n string.push(c2);\n j = i + 1;\n }\n }\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, void 0, 1), i = parseSpecifier(d, specifier, string += \"\", 0), week, day;\n if (i != string.length) return null;\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1e3 + (\"L\" in d ? d.L : 0));\n if (Z && !(\"Z\" in d)) d.Z = 0;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n if (d.m === void 0) d.m = \"q\" in d ? d.q : 0;\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n return localDate(d);\n };\n }\n function parseSpecifier(d, specifier, string, j) {\n var i = 0, n = specifier.length, m = string.length, c2, parse3;\n while (i < n) {\n if (j >= m) return -1;\n c2 = specifier.charCodeAt(i++);\n if (c2 === 37) {\n c2 = specifier.charAt(i++);\n parse3 = parses[c2 in pads ? specifier.charAt(i++) : c2];\n if (!parse3 || (j = parse3(d, string, j)) < 0) return -1;\n } else if (c2 != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() {\n return specifier;\n };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() {\n return specifier;\n };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() {\n return specifier;\n };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() {\n return specifier;\n };\n return p;\n }\n };\n }\n var pads = { \"-\": \"\", \"_\": \" \", \"0\": \"0\" };\n var numberRe = /^\\s*\\d+/;\n var percentRe = /^%/;\n var requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n function pad(value, fill, width) {\n var sign2 = value < 0 ? \"-\" : \"\", string = (sign2 ? -value : value) + \"\", length = string.length;\n return sign2 + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function requote(s2) {\n return s2.replace(requoteRe, \"\\\\$&\");\n }\n function formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n }\n function formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n }\n function parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n }\n function parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n }\n function parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n }\n function parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), i + n[0].length) : -1;\n }\n function parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n }\n function parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n }\n function parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n }\n function parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n }\n function parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n }\n function parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n }\n function parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n }\n function parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n }\n function parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n }\n function parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1e3), i + n[0].length) : -1;\n }\n function parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n }\n function parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n }\n function formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n }\n function formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n }\n function formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n }\n function formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n }\n function formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n }\n function formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n }\n function formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n }\n function formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n }\n function formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n }\n function formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n }\n function formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n }\n function dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n }\n function formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n }\n function formatWeekdayNumberSunday(d) {\n return d.getDay();\n }\n function formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n }\n function formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n }\n function formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n }\n function formatFullYear(d, p) {\n return pad(d.getFullYear() % 1e4, p, 4);\n }\n function formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 1e4, p, 4);\n }\n function formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n }\n function formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n }\n function formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n }\n function formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n }\n function formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n }\n function formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n }\n function formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n }\n function formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n }\n function formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n }\n function formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n }\n function formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n }\n function formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n }\n function UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n }\n function formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n }\n function formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n }\n function formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n }\n function formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n }\n function formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n }\n function formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 1e4, p, 4);\n }\n function formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 1e4, p, 4);\n }\n function formatUTCZone() {\n return \"+0000\";\n }\n function formatLiteralPercent() {\n return \"%\";\n }\n function formatUnixTimestamp(d) {\n return +d;\n }\n function formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1e3);\n }\n\n // ../../../node_modules/.bun/d3-time-format@4.1.0/node_modules/d3-time-format/src/defaultLocale.js\n var locale2;\n var timeFormat;\n var timeParse;\n var utcFormat;\n var utcParse;\n defaultLocale2({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n });\n function defaultLocale2(definition) {\n locale2 = formatLocale(definition);\n timeFormat = locale2.format;\n timeParse = locale2.parse;\n utcFormat = locale2.utcFormat;\n utcParse = locale2.utcParse;\n return locale2;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/time.js\n function date(t2) {\n return new Date(t2);\n }\n function number3(t2) {\n return t2 instanceof Date ? +t2 : +/* @__PURE__ */ new Date(+t2);\n }\n function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format2) {\n var scale = continuous(), invert = scale.invert, domain = scale.domain;\n var formatMillisecond = format2(\".%L\"), formatSecond = format2(\":%S\"), formatMinute = format2(\"%I:%M\"), formatHour = format2(\"%I %p\"), formatDay = format2(\"%a %d\"), formatWeek = format2(\"%b %d\"), formatMonth = format2(\"%B\"), formatYear2 = format2(\"%Y\");\n function tickFormat2(date2) {\n return (second2(date2) < date2 ? formatMillisecond : minute(date2) < date2 ? formatSecond : hour(date2) < date2 ? formatMinute : day(date2) < date2 ? formatHour : month(date2) < date2 ? week(date2) < date2 ? formatDay : formatWeek : year(date2) < date2 ? formatMonth : formatYear2)(date2);\n }\n scale.invert = function(y2) {\n return new Date(invert(y2));\n };\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number3)) : domain().map(date);\n };\n scale.ticks = function(interval) {\n var d = domain();\n return ticks2(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n scale.tickFormat = function(count3, specifier) {\n return specifier == null ? tickFormat2 : format2(specifier);\n };\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n scale.copy = function() {\n return copy(scale, calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format2));\n };\n return scale;\n }\n function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute, second, timeFormat).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/utcTime.js\n function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, utcFormat).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/sequential.js\n function transformer2() {\n var x0 = 0, x1 = 1, t02, t12, k10, transform2, interpolator = identity, clamp3 = false, unknown;\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : interpolator(k10 === 0 ? 0.5 : (x2 = (transform2(x2) - t02) * k10, clamp3 ? Math.max(0, Math.min(1, x2)) : x2));\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t02 = transform2(x0 = +x0), t12 = transform2(x1 = +x1), k10 = t02 === t12 ? 0 : 1 / (t12 - t02), scale) : [x0, x1];\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = !!_, scale) : clamp3;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n function range4(interpolate2) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate2(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n scale.range = range4(value_default);\n scale.rangeRound = range4(round_default);\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t2) {\n transform2 = t2, t02 = t2(x0), t12 = t2(x1), k10 = t02 === t12 ? 0 : 1 / (t12 - t02);\n return scale;\n };\n }\n function copy2(source, target) {\n return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());\n }\n function sequential() {\n var scale = linearish(transformer2()(identity));\n scale.copy = function() {\n return copy2(scale, sequential());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialLog() {\n var scale = loggish(transformer2()).domain([1, 10]);\n scale.copy = function() {\n return copy2(scale, sequentialLog()).base(scale.base());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialSymlog() {\n var scale = symlogish(transformer2());\n scale.copy = function() {\n return copy2(scale, sequentialSymlog()).constant(scale.constant());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialPow() {\n var scale = powish(transformer2());\n scale.copy = function() {\n return copy2(scale, sequentialPow()).exponent(scale.exponent());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/sequentialQuantile.js\n function sequentialQuantile() {\n var domain = [], interpolator = identity;\n function scale(x2) {\n if (x2 != null && !isNaN(x2 = +x2)) return interpolator((bisect_default(domain, x2, 1) - 1) / (domain.length - 1));\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n scale.quantiles = function(n) {\n return Array.from({ length: n + 1 }, (_, i) => quantile(domain, i / n));\n };\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n return initInterpolator.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/diverging.js\n function transformer3() {\n var x0 = 0, x1 = 0.5, x2 = 1, s2 = 1, t02, t12, t2, k10, k21, interpolator = identity, transform2, clamp3 = false, unknown;\n function scale(x3) {\n return isNaN(x3 = +x3) ? unknown : (x3 = 0.5 + ((x3 = +transform2(x3)) - t12) * (s2 * x3 < s2 * t12 ? k10 : k21), interpolator(clamp3 ? Math.max(0, Math.min(1, x3)) : x3));\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t02 = transform2(x0 = +x0), t12 = transform2(x1 = +x1), t2 = transform2(x2 = +x2), k10 = t02 === t12 ? 0 : 0.5 / (t12 - t02), k21 = t12 === t2 ? 0 : 0.5 / (t2 - t12), s2 = t12 < t02 ? -1 : 1, scale) : [x0, x1, x2];\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = !!_, scale) : clamp3;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n function range4(interpolate2) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate2, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n scale.range = range4(value_default);\n scale.rangeRound = range4(round_default);\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t3) {\n transform2 = t3, t02 = t3(x0), t12 = t3(x1), t2 = t3(x2), k10 = t02 === t12 ? 0 : 0.5 / (t12 - t02), k21 = t12 === t2 ? 0 : 0.5 / (t2 - t12), s2 = t12 < t02 ? -1 : 1;\n return scale;\n };\n }\n function diverging() {\n var scale = linearish(transformer3()(identity));\n scale.copy = function() {\n return copy2(scale, diverging());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingLog() {\n var scale = loggish(transformer3()).domain([0.1, 1, 10]);\n scale.copy = function() {\n return copy2(scale, divergingLog()).base(scale.base());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingSymlog() {\n var scale = symlogish(transformer3());\n scale.copy = function() {\n return copy2(scale, divergingSymlog()).constant(scale.constant());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingPow() {\n var scale = powish(transformer3());\n scale.copy = function() {\n return copy2(scale, divergingPow()).exponent(scale.exponent());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineConfiguredScale.js\n function getD3ScaleFromType(realScaleType) {\n if (realScaleType in d3_scale_exports) {\n return d3_scale_exports[realScaleType]();\n }\n var name = \"scale\".concat(upperFirst(realScaleType));\n if (name in d3_scale_exports) {\n return d3_scale_exports[name]();\n }\n return void 0;\n }\n function combineConfiguredScaleInternal(scale, axisDomain, axisRange) {\n if (typeof scale === \"function\") {\n return scale.copy().domain(axisDomain).range(axisRange);\n }\n if (scale == null) {\n return void 0;\n }\n var d3ScaleFunction = getD3ScaleFromType(scale);\n if (d3ScaleFunction == null) {\n return void 0;\n }\n d3ScaleFunction.domain(axisDomain).range(axisRange);\n return d3ScaleFunction;\n }\n function combineConfiguredScale(axis, realScaleType, axisDomain, axisRange) {\n if (axisDomain == null || axisRange == null) {\n return void 0;\n }\n if (typeof axis.scale === \"function\") {\n return combineConfiguredScaleInternal(axis.scale, axisDomain, axisRange);\n }\n return combineConfiguredScaleInternal(realScaleType, axisDomain, axisRange);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineRealScaleType.js\n function getD3ScaleName(name) {\n return \"scale\".concat(upperFirst(name));\n }\n function isSupportedScaleName(name) {\n return getD3ScaleName(name) in d3_scale_exports;\n }\n var combineRealScaleType = (axisConfig, hasBar, chartType) => {\n if (axisConfig == null) {\n return void 0;\n }\n var {\n scale,\n type\n } = axisConfig;\n if (scale === \"auto\") {\n if (type === \"category\" && chartType && (chartType.indexOf(\"LineChart\") >= 0 || chartType.indexOf(\"AreaChart\") >= 0 || chartType.indexOf(\"ComposedChart\") >= 0 && !hasBar)) {\n return \"point\";\n }\n if (type === \"category\") {\n return \"band\";\n }\n return \"linear\";\n }\n if (typeof scale === \"string\") {\n return isSupportedScaleName(scale) ? scale : \"point\";\n }\n return void 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/createCategoricalInverse.js\n function bisect(haystack, needle) {\n var lo = 0;\n var hi = haystack.length;\n var ascending2 = haystack[0] < haystack[haystack.length - 1];\n while (lo < hi) {\n var mid = Math.floor((lo + hi) / 2);\n if (ascending2 ? haystack[mid] < needle : haystack[mid] > needle) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n return lo;\n }\n function createCategoricalInverse(scale, allDataPointsOnAxis) {\n if (!scale) {\n return void 0;\n }\n var domain = allDataPointsOnAxis !== null && allDataPointsOnAxis !== void 0 ? allDataPointsOnAxis : scale.domain();\n var pixelPositions = domain.map((d) => {\n var _scale;\n return (_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0;\n });\n var range4 = scale.range();\n if (domain.length === 0 || range4.length < 2) {\n return void 0;\n }\n return (pixelValue) => {\n var _pixelPositions, _pixelPositions$index;\n var index2 = bisect(pixelPositions, pixelValue);\n if (index2 <= 0) {\n return domain[0];\n }\n if (index2 >= domain.length) {\n return domain[domain.length - 1];\n }\n var leftPixel = (_pixelPositions = pixelPositions[index2 - 1]) !== null && _pixelPositions !== void 0 ? _pixelPositions : 0;\n var rightPixel = (_pixelPositions$index = pixelPositions[index2]) !== null && _pixelPositions$index !== void 0 ? _pixelPositions$index : 0;\n if (Math.abs(pixelValue - leftPixel) <= Math.abs(pixelValue - rightPixel)) {\n return domain[index2 - 1];\n }\n return domain[index2];\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineInverseScaleFunction.js\n function combineInverseScaleFunction(configuredScale) {\n if (configuredScale == null) {\n return void 0;\n }\n if (\"invert\" in configuredScale && typeof configuredScale.invert === \"function\") {\n return configuredScale.invert.bind(configuredScale);\n }\n return createCategoricalInverse(configuredScale, void 0);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/axisSelectors.js\n function ownKeys17(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread17(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys17(Object(t2), true).forEach(function(r3) {\n _defineProperty17(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys17(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty17(e, r2, t2) {\n return (r2 = _toPropertyKey17(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey17(t2) {\n var i = _toPrimitive17(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive17(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultNumericDomain = [0, \"auto\"];\n var implicitXAxis = {\n allowDataOverflow: false,\n allowDecimals: true,\n allowDuplicatedCategory: true,\n angle: 0,\n dataKey: void 0,\n domain: void 0,\n height: 30,\n hide: true,\n id: 0,\n includeHidden: false,\n interval: \"preserveEnd\",\n minTickGap: 5,\n mirror: false,\n name: void 0,\n orientation: \"bottom\",\n padding: {\n left: 0,\n right: 0\n },\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickCount: 5,\n tickFormatter: void 0,\n ticks: void 0,\n type: \"category\",\n unit: void 0,\n niceTicks: \"auto\"\n };\n var selectXAxisSettingsNoDefaults = (state2, axisId) => {\n return state2.cartesianAxis.xAxis[axisId];\n };\n var selectXAxisSettings = (state2, axisId) => {\n var axis = selectXAxisSettingsNoDefaults(state2, axisId);\n if (axis == null) {\n return implicitXAxis;\n }\n return axis;\n };\n var implicitYAxis = {\n allowDataOverflow: false,\n allowDecimals: true,\n allowDuplicatedCategory: true,\n angle: 0,\n dataKey: void 0,\n domain: defaultNumericDomain,\n hide: true,\n id: 0,\n includeHidden: false,\n interval: \"preserveEnd\",\n minTickGap: 5,\n mirror: false,\n name: void 0,\n orientation: \"left\",\n padding: {\n top: 0,\n bottom: 0\n },\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickCount: 5,\n tickFormatter: void 0,\n ticks: void 0,\n type: \"number\",\n unit: void 0,\n niceTicks: \"auto\",\n width: DEFAULT_Y_AXIS_WIDTH\n };\n var selectYAxisSettingsNoDefaults = (state2, axisId) => {\n return state2.cartesianAxis.yAxis[axisId];\n };\n var selectYAxisSettings = (state2, axisId) => {\n var axis = selectYAxisSettingsNoDefaults(state2, axisId);\n if (axis == null) {\n return implicitYAxis;\n }\n return axis;\n };\n var implicitZAxis = {\n domain: [0, \"auto\"],\n includeHidden: false,\n reversed: false,\n allowDataOverflow: false,\n allowDuplicatedCategory: false,\n dataKey: void 0,\n id: 0,\n name: \"\",\n range: [64, 64],\n scale: \"auto\",\n type: \"number\",\n unit: \"\"\n };\n var selectZAxisSettings = (state2, axisId) => {\n var axis = state2.cartesianAxis.zAxis[axisId];\n if (axis == null) {\n return implicitZAxis;\n }\n return axis;\n };\n var selectBaseAxis = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n case \"zAxis\": {\n return selectZAxisSettings(state2, axisId);\n }\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectCartesianAxisSettings = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectRenderableAxisSettings = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectHasBar = (state2) => state2.graphicalItems.cartesianItems.some((item) => item.type === \"bar\") || state2.graphicalItems.polarItems.some((item) => item.type === \"radialBar\");\n function itemAxisPredicate(axisType, axisId) {\n return (item) => {\n switch (axisType) {\n case \"xAxis\":\n return \"xAxisId\" in item && item.xAxisId === axisId;\n case \"yAxis\":\n return \"yAxisId\" in item && item.yAxisId === axisId;\n case \"zAxis\":\n return \"zAxisId\" in item && item.zAxisId === axisId;\n case \"angleAxis\":\n return \"angleAxisId\" in item && item.angleAxisId === axisId;\n case \"radiusAxis\":\n return \"radiusAxisId\" in item && item.radiusAxisId === axisId;\n default:\n return false;\n }\n };\n }\n var selectUnfilteredCartesianItems = (state2) => state2.graphicalItems.cartesianItems;\n var selectAxisPredicate = createSelector([pickAxisType, pickAxisId], itemAxisPredicate);\n var combineGraphicalItemsSettings = (graphicalItems, axisSettings, axisPredicate) => graphicalItems.filter(axisPredicate).filter((item) => {\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.includeHidden) === true) {\n return true;\n }\n return !item.hide;\n });\n var selectCartesianItemsSettings = createSelector([selectUnfilteredCartesianItems, selectBaseAxis, selectAxisPredicate], combineGraphicalItemsSettings, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectStackedCartesianItemsSettings = createSelector([selectCartesianItemsSettings], (cartesianItems) => {\n return cartesianItems.filter((item) => item.type === \"area\" || item.type === \"bar\").filter(isStacked);\n });\n var filterGraphicalNotStackedItems = (cartesianItems) => cartesianItems.filter((item) => !(\"stackId\" in item) || item.stackId === void 0);\n var selectCartesianItemsSettingsExceptStacked = createSelector([selectCartesianItemsSettings], filterGraphicalNotStackedItems);\n var combineGraphicalItemsData = (cartesianItems) => cartesianItems.map((item) => item.data).filter(Boolean).flat(1);\n var selectCartesianGraphicalItemsData = createSelector([selectCartesianItemsSettings], combineGraphicalItemsData, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var combineDisplayedData = (graphicalItemsData, _ref2) => {\n var {\n chartData = [],\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (graphicalItemsData.length > 0) {\n return graphicalItemsData;\n }\n return chartData.slice(dataStartIndex, dataEndIndex + 1);\n };\n var selectDisplayedData = createSelector([selectCartesianGraphicalItemsData, selectChartDataWithIndexesIfNotInPanoramaPosition4], combineDisplayedData);\n var combineAppliedValues = (data, axisSettings, items) => {\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n return data.map((item) => ({\n value: getValueByDataKey(item, axisSettings.dataKey)\n }));\n }\n if (items.length > 0) {\n return items.map((item) => item.dataKey).flatMap((dataKey) => data.map((entry) => ({\n value: getValueByDataKey(entry, dataKey)\n })));\n }\n return data.map((entry) => ({\n value: entry\n }));\n };\n var selectAllAppliedValues = createSelector([selectDisplayedData, selectBaseAxis, selectCartesianItemsSettings], combineAppliedValues);\n function makeNumber(val) {\n if (isNumOrStr(val) || val instanceof Date) {\n var n = Number(val);\n if (isWellBehavedNumber(n)) {\n return n;\n }\n }\n return void 0;\n }\n function makeDomain(val) {\n if (Array.isArray(val)) {\n var attempt = [makeNumber(val[0]), makeNumber(val[1])];\n if (isWellFormedNumberDomain(attempt)) {\n return attempt;\n }\n return void 0;\n }\n var n = makeNumber(val);\n if (n == null) {\n return void 0;\n }\n return [n, n];\n }\n function onlyAllowNumbers(data) {\n return data.map(makeNumber).filter(isNotNil);\n }\n function sortBy4(a2, b) {\n var aNum = makeNumber(a2);\n var bNum = makeNumber(b);\n if (aNum == null && bNum == null) {\n return 0;\n }\n if (aNum == null) {\n return -1;\n }\n if (bNum == null) {\n return 1;\n }\n return aNum - bNum;\n }\n var selectSortedDataPoints = createSelector([selectAllAppliedValues], (appliedData) => {\n return appliedData === null || appliedData === void 0 ? void 0 : appliedData.map((item) => item.value).sort(sortBy4);\n });\n function isErrorBarRelevantForAxisType(axisType, errorBar) {\n switch (axisType) {\n case \"xAxis\":\n return errorBar.direction === \"x\";\n case \"yAxis\":\n return errorBar.direction === \"y\";\n default:\n return false;\n }\n }\n function getErrorDomainByDataKey(entry, appliedValue, relevantErrorBars) {\n if (!relevantErrorBars || typeof appliedValue !== \"number\" || isNan(appliedValue)) {\n return [];\n }\n if (!relevantErrorBars.length) {\n return [];\n }\n return onlyAllowNumbers(relevantErrorBars.flatMap((eb) => {\n var errorValue = getValueByDataKey(entry, eb.dataKey);\n var lowBound, highBound;\n if (Array.isArray(errorValue)) {\n [lowBound, highBound] = errorValue;\n } else {\n lowBound = highBound = errorValue;\n }\n if (!isWellBehavedNumber(lowBound) || !isWellBehavedNumber(highBound)) {\n return void 0;\n }\n return [appliedValue - lowBound, appliedValue + highBound];\n }));\n }\n var selectTooltipAxis = (state2) => {\n var axisType = selectTooltipAxisType(state2);\n var axisId = selectTooltipAxisId(state2);\n return selectRenderableAxisSettings(state2, axisType, axisId);\n };\n var selectTooltipAxisDataKey = createSelector([selectTooltipAxis], (axis) => axis === null || axis === void 0 ? void 0 : axis.dataKey);\n var selectDisplayedStackedData = createSelector([selectStackedCartesianItemsSettings, selectChartDataWithIndexesIfNotInPanoramaPosition4, selectTooltipAxis], combineDisplayedStackedData);\n var combineStackGroups = (displayedData, items, stackOffsetType, reverseStackOrder) => {\n var initialItemsGroups = {};\n var itemsGroup = items.reduce((acc, item) => {\n if (item.stackId == null) {\n return acc;\n }\n var stack = acc[item.stackId];\n if (stack == null) {\n stack = [];\n }\n stack.push(item);\n acc[item.stackId] = stack;\n return acc;\n }, initialItemsGroups);\n return Object.fromEntries(Object.entries(itemsGroup).map((_ref2) => {\n var [stackId, graphicalItems] = _ref2;\n var orderedGraphicalItems = reverseStackOrder ? [...graphicalItems].reverse() : graphicalItems;\n var dataKeys = orderedGraphicalItems.map(getStackSeriesIdentifier);\n return [stackId, {\n // @ts-expect-error getStackedData requires that the input is array of objects, Recharts does not test for that\n stackedData: getStackedData(displayedData, dataKeys, stackOffsetType),\n graphicalItems: orderedGraphicalItems\n }];\n }));\n };\n var selectStackGroups = createSelector([selectDisplayedStackedData, selectStackedCartesianItemsSettings, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var combineDomainOfStackGroups = (stackGroups, _ref3, axisType, domainFromUserPreference) => {\n var {\n dataStartIndex,\n dataEndIndex\n } = _ref3;\n if (domainFromUserPreference != null) {\n return void 0;\n }\n if (axisType === \"zAxis\") {\n return void 0;\n }\n var domainOfStackGroups = getDomainOfStackGroups(stackGroups, dataStartIndex, dataEndIndex);\n if (domainOfStackGroups != null && domainOfStackGroups[0] === 0 && domainOfStackGroups[1] === 0) {\n return void 0;\n }\n return domainOfStackGroups;\n };\n var selectAllowsDataOverflow = createSelector([selectBaseAxis], (axisSettings) => axisSettings.allowDataOverflow);\n var getDomainDefinition = (axisSettings) => {\n var _axisSettings$domain;\n if (axisSettings == null || !(\"domain\" in axisSettings)) {\n return defaultNumericDomain;\n }\n if (axisSettings.domain != null) {\n return axisSettings.domain;\n }\n if (\"ticks\" in axisSettings && axisSettings.ticks != null) {\n if (axisSettings.type === \"number\") {\n var allValues = onlyAllowNumbers(axisSettings.ticks);\n return [Math.min(...allValues), Math.max(...allValues)];\n }\n if (axisSettings.type === \"category\") {\n return axisSettings.ticks.map(String);\n }\n }\n return (_axisSettings$domain = axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.domain) !== null && _axisSettings$domain !== void 0 ? _axisSettings$domain : defaultNumericDomain;\n };\n var selectDomainDefinition = createSelector([selectBaseAxis], getDomainDefinition);\n var selectDomainFromUserPreference = createSelector([selectDomainDefinition, selectAllowsDataOverflow], numericalDomainSpecifiedWithoutRequiringData);\n var selectDomainOfStackGroups = createSelector([selectStackGroups, selectChartDataWithIndexes, pickAxisType, selectDomainFromUserPreference], combineDomainOfStackGroups, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var selectAllErrorBarSettings = (state2) => state2.errorBars;\n var combineRelevantErrorBarSettings = (cartesianItemsSettings, allErrorBarSettings, axisType) => {\n return cartesianItemsSettings.flatMap((item) => {\n return allErrorBarSettings[item.id];\n }).filter(Boolean).filter((e) => {\n return isErrorBarRelevantForAxisType(axisType, e);\n });\n };\n var mergeDomains = function mergeDomains2() {\n for (var _len = arguments.length, domains = new Array(_len), _key = 0; _key < _len; _key++) {\n domains[_key] = arguments[_key];\n }\n var allDomains = domains.filter(Boolean);\n if (allDomains.length === 0) {\n return void 0;\n }\n var allValues = allDomains.flat();\n var min3 = Math.min(...allValues);\n var max3 = Math.max(...allValues);\n return [min3, max3];\n };\n var combineDomainOfAllAppliedNumericalValuesIncludingErrorValues = (data, axisSettings, items, errorBars, axisType) => {\n var lowerEnd, upperEnd;\n if (items.length > 0) {\n data.forEach((entry) => {\n items.forEach((item) => {\n var _errorBars$item$id, _axisSettings$dataKey;\n var relevantErrorBars = (_errorBars$item$id = errorBars[item.id]) === null || _errorBars$item$id === void 0 ? void 0 : _errorBars$item$id.filter((errorBar) => isErrorBarRelevantForAxisType(axisType, errorBar));\n var valueByDataKey = getValueByDataKey(entry, (_axisSettings$dataKey = axisSettings.dataKey) !== null && _axisSettings$dataKey !== void 0 ? _axisSettings$dataKey : item.dataKey);\n var errorDomain = getErrorDomainByDataKey(entry, valueByDataKey, relevantErrorBars);\n if (errorDomain.length >= 2) {\n var localLower = Math.min(...errorDomain);\n var localUpper = Math.max(...errorDomain);\n if (lowerEnd == null || localLower < lowerEnd) {\n lowerEnd = localLower;\n }\n if (upperEnd == null || localUpper > upperEnd) {\n upperEnd = localUpper;\n }\n }\n var dataValueDomain = makeDomain(valueByDataKey);\n if (dataValueDomain != null) {\n lowerEnd = lowerEnd == null ? dataValueDomain[0] : Math.min(lowerEnd, dataValueDomain[0]);\n upperEnd = upperEnd == null ? dataValueDomain[1] : Math.max(upperEnd, dataValueDomain[1]);\n }\n });\n });\n }\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n data.forEach((item) => {\n var dataValueDomain = makeDomain(getValueByDataKey(item, axisSettings.dataKey));\n if (dataValueDomain != null) {\n lowerEnd = lowerEnd == null ? dataValueDomain[0] : Math.min(lowerEnd, dataValueDomain[0]);\n upperEnd = upperEnd == null ? dataValueDomain[1] : Math.max(upperEnd, dataValueDomain[1]);\n }\n });\n }\n if (isWellBehavedNumber(lowerEnd) && isWellBehavedNumber(upperEnd)) {\n return [lowerEnd, upperEnd];\n }\n return void 0;\n };\n var selectDomainOfAllAppliedNumericalValuesIncludingErrorValues = createSelector([selectDisplayedData, selectBaseAxis, selectCartesianItemsSettingsExceptStacked, selectAllErrorBarSettings, pickAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n function onlyAllowNumbersAndStringsAndDates(item) {\n var {\n value\n } = item;\n if (isNumOrStr(value) || value instanceof Date) {\n return value;\n }\n return void 0;\n }\n var computeDomainOfTypeCategory = (allDataSquished, axisSettings, isCategorical) => {\n var categoricalDomain = allDataSquished.map(onlyAllowNumbersAndStringsAndDates).filter((v) => v != null);\n if (isCategorical && (axisSettings.dataKey == null || axisSettings.allowDuplicatedCategory && hasDuplicate(categoricalDomain))) {\n return (0, import_range2.default)(0, allDataSquished.length);\n }\n if (axisSettings.allowDuplicatedCategory) {\n return categoricalDomain;\n }\n return Array.from(new Set(categoricalDomain));\n };\n var selectReferenceDots = (state2) => state2.referenceElements.dots;\n var filterReferenceElements = (elements, axisType, axisId) => {\n return elements.filter((el) => el.ifOverflow === \"extendDomain\").filter((el) => {\n if (axisType === \"xAxis\") {\n return el.xAxisId === axisId;\n }\n return el.yAxisId === axisId;\n });\n };\n var selectReferenceDotsByAxis = createSelector([selectReferenceDots, pickAxisType, pickAxisId], filterReferenceElements);\n var selectReferenceAreas = (state2) => state2.referenceElements.areas;\n var selectReferenceAreasByAxis = createSelector([selectReferenceAreas, pickAxisType, pickAxisId], filterReferenceElements);\n var selectReferenceLines = (state2) => state2.referenceElements.lines;\n var selectReferenceLinesByAxis = createSelector([selectReferenceLines, pickAxisType, pickAxisId], filterReferenceElements);\n var combineDotsDomain = (dots, axisType) => {\n if (dots == null) {\n return void 0;\n }\n var allCoords = onlyAllowNumbers(dots.map((dot) => axisType === \"xAxis\" ? dot.x : dot.y));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceDotsDomain = createSelector(selectReferenceDotsByAxis, pickAxisType, combineDotsDomain);\n var combineAreasDomain = (areas, axisType) => {\n if (areas == null) {\n return void 0;\n }\n var allCoords = onlyAllowNumbers(areas.flatMap((area) => [axisType === \"xAxis\" ? area.x1 : area.y1, axisType === \"xAxis\" ? area.x2 : area.y2]));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceAreasDomain = createSelector([selectReferenceAreasByAxis, pickAxisType], combineAreasDomain);\n function extractXCoordinates(line) {\n var _line$segment;\n if (line.x != null) {\n return onlyAllowNumbers([line.x]);\n }\n var segmentCoordinates = (_line$segment = line.segment) === null || _line$segment === void 0 ? void 0 : _line$segment.map((s2) => s2.x);\n if (segmentCoordinates == null || segmentCoordinates.length === 0) {\n return [];\n }\n return onlyAllowNumbers(segmentCoordinates);\n }\n function extractYCoordinates(line) {\n var _line$segment2;\n if (line.y != null) {\n return onlyAllowNumbers([line.y]);\n }\n var segmentCoordinates = (_line$segment2 = line.segment) === null || _line$segment2 === void 0 ? void 0 : _line$segment2.map((s2) => s2.y);\n if (segmentCoordinates == null || segmentCoordinates.length === 0) {\n return [];\n }\n return onlyAllowNumbers(segmentCoordinates);\n }\n var combineLinesDomain = (lines, axisType) => {\n if (lines == null) {\n return void 0;\n }\n var allCoords = lines.flatMap((line) => axisType === \"xAxis\" ? extractXCoordinates(line) : extractYCoordinates(line));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceLinesDomain = createSelector([selectReferenceLinesByAxis, pickAxisType], combineLinesDomain);\n var selectReferenceElementsDomain = createSelector(selectReferenceDotsDomain, selectReferenceLinesDomain, selectReferenceAreasDomain, (dotsDomain, linesDomain, areasDomain) => {\n return mergeDomains(dotsDomain, areasDomain, linesDomain);\n });\n var combineNumericalDomain = (axisSettings, domainDefinition, domainFromUserPreference, domainOfStackGroups, dataAndErrorBarsDomain, referenceElementsDomain, layout, axisType) => {\n if (domainFromUserPreference != null) {\n return domainFromUserPreference;\n }\n var shouldIncludeDomainOfStackGroups = layout === \"vertical\" && axisType === \"xAxis\" || layout === \"horizontal\" && axisType === \"yAxis\";\n var mergedDomains = shouldIncludeDomainOfStackGroups ? mergeDomains(domainOfStackGroups, referenceElementsDomain, dataAndErrorBarsDomain) : mergeDomains(referenceElementsDomain, dataAndErrorBarsDomain);\n return parseNumericalUserDomain(domainDefinition, mergedDomains, axisSettings.allowDataOverflow);\n };\n var selectNumericalDomain = createSelector([selectBaseAxis, selectDomainDefinition, selectDomainFromUserPreference, selectDomainOfStackGroups, selectDomainOfAllAppliedNumericalValuesIncludingErrorValues, selectReferenceElementsDomain, selectChartLayout, pickAxisType], combineNumericalDomain, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var expandDomain = [0, 1];\n var combineAxisDomain = (axisSettings, layout, displayedData, allAppliedValues, stackOffsetType, axisType, numericalDomain) => {\n if ((axisSettings == null || displayedData == null || displayedData.length === 0) && numericalDomain === void 0) {\n return void 0;\n }\n var {\n dataKey,\n type\n } = axisSettings;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (isCategorical && dataKey == null) {\n var _displayedData$length;\n return (0, import_range2.default)(0, (_displayedData$length = displayedData === null || displayedData === void 0 ? void 0 : displayedData.length) !== null && _displayedData$length !== void 0 ? _displayedData$length : 0);\n }\n if (type === \"category\") {\n return computeDomainOfTypeCategory(allAppliedValues, axisSettings, isCategorical);\n }\n if (stackOffsetType === \"expand\") {\n return expandDomain;\n }\n return numericalDomain;\n };\n var selectAxisDomain = createSelector([selectBaseAxis, selectChartLayout, selectDisplayedData, selectAllAppliedValues, selectStackOffsetType, pickAxisType, selectNumericalDomain], combineAxisDomain);\n var selectRealScaleType = createSelector([selectBaseAxis, selectHasBar, selectChartName], combineRealScaleType);\n var combineNiceTicks = (axisDomain, axisSettings, realScaleType) => {\n var {\n niceTicks\n } = axisSettings;\n if (niceTicks === \"none\") {\n return void 0;\n }\n var domainDefinition = getDomainDefinition(axisSettings);\n var hasDomainAutoKeyword = Array.isArray(domainDefinition) && (domainDefinition[0] === \"auto\" || domainDefinition[1] === \"auto\");\n if ((niceTicks === \"snap125\" || niceTicks === \"adaptive\") && axisSettings != null && axisSettings.tickCount && isWellFormedNumberDomain(axisDomain)) {\n if (hasDomainAutoKeyword) {\n return getNiceTickValues(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, niceTicks);\n }\n if (axisSettings.type === \"number\") {\n return getTickValuesFixedDomain(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, niceTicks);\n }\n }\n if (niceTicks === \"auto\" && realScaleType === \"linear\" && axisSettings != null && axisSettings.tickCount) {\n if (hasDomainAutoKeyword && isWellFormedNumberDomain(axisDomain)) {\n return getNiceTickValues(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, \"adaptive\");\n }\n if (axisSettings.type === \"number\" && isWellFormedNumberDomain(axisDomain)) {\n return getTickValuesFixedDomain(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, \"adaptive\");\n }\n }\n return void 0;\n };\n var selectNiceTicks = createSelector([selectAxisDomain, selectRenderableAxisSettings, selectRealScaleType], combineNiceTicks);\n var combineAxisDomainWithNiceTicks = (axisSettings, domain, niceTicks, axisType) => {\n if (\n /*\n * Angle axis for some reason uses nice ticks when rendering axis tick labels,\n * but doesn't use nice ticks for extending domain like all the other axes do.\n * Not really sure why? Is there a good reason,\n * or is it just because someone added support for nice ticks to the other axes and forgot this one?\n */\n axisType !== \"angleAxis\" && (axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.type) === \"number\" && isWellFormedNumberDomain(domain) && Array.isArray(niceTicks) && niceTicks.length > 0\n ) {\n var _niceTicks$, _niceTicks;\n var minFromDomain = domain[0];\n var minFromTicks = (_niceTicks$ = niceTicks[0]) !== null && _niceTicks$ !== void 0 ? _niceTicks$ : 0;\n var maxFromDomain = domain[1];\n var maxFromTicks = (_niceTicks = niceTicks[niceTicks.length - 1]) !== null && _niceTicks !== void 0 ? _niceTicks : 0;\n return [Math.min(minFromDomain, minFromTicks), Math.max(maxFromDomain, maxFromTicks)];\n }\n return domain;\n };\n var selectAxisDomainIncludingNiceTicks = createSelector([selectBaseAxis, selectAxisDomain, selectNiceTicks, pickAxisType], combineAxisDomainWithNiceTicks);\n var selectSmallestDistanceBetweenValues = createSelector(selectAllAppliedValues, selectBaseAxis, (allDataSquished, axisSettings) => {\n if (!axisSettings || axisSettings.type !== \"number\") {\n return void 0;\n }\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = Array.from(onlyAllowNumbers(allDataSquished.map((d) => d.value))).sort((a2, b) => a2 - b);\n var first = sortedValues[0];\n var last2 = sortedValues[sortedValues.length - 1];\n if (first == null || last2 == null) {\n return Infinity;\n }\n var diff = last2 - first;\n if (diff === 0) {\n return Infinity;\n }\n for (var i = 0; i < sortedValues.length - 1; i++) {\n var curr = sortedValues[i];\n var next2 = sortedValues[i + 1];\n if (curr == null || next2 == null) {\n continue;\n }\n var distance = next2 - curr;\n smallestDistanceBetweenValues = Math.min(smallestDistanceBetweenValues, distance);\n }\n return smallestDistanceBetweenValues / diff;\n });\n var selectCalculatedPadding = createSelector(selectSmallestDistanceBetweenValues, selectChartLayout, selectBarCategoryGap, selectChartOffsetInternal, (_1, _2, _3, _4, padding) => padding, (smallestDistanceInPercent, layout, barCategoryGap, offset4, padding) => {\n if (!isWellBehavedNumber(smallestDistanceInPercent)) {\n return 0;\n }\n var rangeWidth = layout === \"vertical\" ? offset4.height : offset4.width;\n if (padding === \"gap\") {\n return smallestDistanceInPercent * rangeWidth / 2;\n }\n if (padding === \"no-gap\") {\n var gap = getPercentValue(barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n return halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n return 0;\n });\n var selectCalculatedXAxisPadding = (state2, axisId, isPanorama) => {\n var xAxisSettings = selectXAxisSettings(state2, axisId);\n if (xAxisSettings == null || typeof xAxisSettings.padding !== \"string\") {\n return 0;\n }\n return selectCalculatedPadding(state2, \"xAxis\", axisId, isPanorama, xAxisSettings.padding);\n };\n var selectCalculatedYAxisPadding = (state2, axisId, isPanorama) => {\n var yAxisSettings = selectYAxisSettings(state2, axisId);\n if (yAxisSettings == null || typeof yAxisSettings.padding !== \"string\") {\n return 0;\n }\n return selectCalculatedPadding(state2, \"yAxis\", axisId, isPanorama, yAxisSettings.padding);\n };\n var selectXAxisPadding = createSelector(selectXAxisSettings, selectCalculatedXAxisPadding, (xAxisSettings, calculated) => {\n var _padding$left, _padding$right;\n if (xAxisSettings == null) {\n return {\n left: 0,\n right: 0\n };\n }\n var {\n padding\n } = xAxisSettings;\n if (typeof padding === \"string\") {\n return {\n left: calculated,\n right: calculated\n };\n }\n return {\n left: ((_padding$left = padding.left) !== null && _padding$left !== void 0 ? _padding$left : 0) + calculated,\n right: ((_padding$right = padding.right) !== null && _padding$right !== void 0 ? _padding$right : 0) + calculated\n };\n });\n var selectYAxisPadding = createSelector(selectYAxisSettings, selectCalculatedYAxisPadding, (yAxisSettings, calculated) => {\n var _padding$top, _padding$bottom;\n if (yAxisSettings == null) {\n return {\n top: 0,\n bottom: 0\n };\n }\n var {\n padding\n } = yAxisSettings;\n if (typeof padding === \"string\") {\n return {\n top: calculated,\n bottom: calculated\n };\n }\n return {\n top: ((_padding$top = padding.top) !== null && _padding$top !== void 0 ? _padding$top : 0) + calculated,\n bottom: ((_padding$bottom = padding.bottom) !== null && _padding$bottom !== void 0 ? _padding$bottom : 0) + calculated\n };\n });\n var selectXAxisRange = createSelector([selectChartOffsetInternal, selectXAxisPadding, selectBrushDimensions, selectBrushSettings, (_state, _axisId, isPanorama) => isPanorama], (offset4, padding, brushDimensions, _ref4, isPanorama) => {\n var {\n padding: brushPadding\n } = _ref4;\n if (isPanorama) {\n return [brushPadding.left, brushDimensions.width - brushPadding.right];\n }\n return [offset4.left + padding.left, offset4.left + offset4.width - padding.right];\n });\n var selectYAxisRange = createSelector([selectChartOffsetInternal, selectChartLayout, selectYAxisPadding, selectBrushDimensions, selectBrushSettings, (_state, _axisId, isPanorama) => isPanorama], (offset4, layout, padding, brushDimensions, _ref5, isPanorama) => {\n var {\n padding: brushPadding\n } = _ref5;\n if (isPanorama) {\n return [brushDimensions.height - brushPadding.bottom, brushPadding.top];\n }\n if (layout === \"horizontal\") {\n return [offset4.top + offset4.height - padding.bottom, offset4.top + padding.top];\n }\n return [offset4.top + padding.top, offset4.top + offset4.height - padding.bottom];\n });\n var selectAxisRange = (state2, axisType, axisId, isPanorama) => {\n var _selectZAxisSettings;\n switch (axisType) {\n case \"xAxis\":\n return selectXAxisRange(state2, axisId, isPanorama);\n case \"yAxis\":\n return selectYAxisRange(state2, axisId, isPanorama);\n case \"zAxis\":\n return (_selectZAxisSettings = selectZAxisSettings(state2, axisId)) === null || _selectZAxisSettings === void 0 ? void 0 : _selectZAxisSettings.range;\n case \"angleAxis\":\n return selectAngleAxisRange(state2);\n case \"radiusAxis\":\n return selectRadiusAxisRange(state2, axisId);\n default:\n return void 0;\n }\n };\n var selectAxisRangeWithReverse = createSelector([selectBaseAxis, selectAxisRange], combineAxisRangeWithReverse);\n var selectCheckedAxisDomain = createSelector([selectRealScaleType, selectAxisDomainIncludingNiceTicks], combineCheckedDomain);\n var selectConfiguredScale = createSelector([selectBaseAxis, selectRealScaleType, selectCheckedAxisDomain, selectAxisRangeWithReverse], combineConfiguredScale);\n var combineCategoricalDomain = (layout, appliedValues, axis, axisType) => {\n if (axis == null || axis.dataKey == null) {\n return void 0;\n }\n var {\n type,\n scale\n } = axis;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (isCategorical && (type === \"number\" || scale !== \"auto\")) {\n return appliedValues.map((d) => d.value);\n }\n return void 0;\n };\n var selectCategoricalDomain = createSelector([selectChartLayout, selectAllAppliedValues, selectRenderableAxisSettings, pickAxisType], combineCategoricalDomain);\n var selectAxisScale = createSelector([selectConfiguredScale], rechartsScaleFactory);\n var selectAxisInverseScale = createSelector([selectConfiguredScale], combineInverseScaleFunction);\n var selectAxisInverseDataSnapScale = createSelector([selectConfiguredScale, selectSortedDataPoints], createCategoricalInverse);\n var selectErrorBarsSettings = createSelector([selectCartesianItemsSettings, selectAllErrorBarSettings, pickAxisType], combineRelevantErrorBarSettings);\n function compareIds(a2, b) {\n if (a2.id < b.id) {\n return -1;\n }\n if (a2.id > b.id) {\n return 1;\n }\n return 0;\n }\n var pickAxisOrientation = (_state, orientation) => orientation;\n var pickMirror = (_state, _orientation, mirror) => mirror;\n var selectAllXAxesWithOffsetType = createSelector(selectAllXAxes, pickAxisOrientation, pickMirror, (allAxes, orientation, mirror) => allAxes.filter((axis) => axis.orientation === orientation).filter((axis) => axis.mirror === mirror).sort(compareIds));\n var selectAllYAxesWithOffsetType = createSelector(selectAllYAxes, pickAxisOrientation, pickMirror, (allAxes, orientation, mirror) => allAxes.filter((axis) => axis.orientation === orientation).filter((axis) => axis.mirror === mirror).sort(compareIds));\n var getXAxisSize = (offset4, axisSettings) => {\n return {\n width: offset4.width,\n height: axisSettings.height\n };\n };\n var getYAxisSize = (offset4, axisSettings) => {\n var width = typeof axisSettings.width === \"number\" ? axisSettings.width : DEFAULT_Y_AXIS_WIDTH;\n return {\n width,\n height: offset4.height\n };\n };\n var selectXAxisSize = createSelector(selectChartOffsetInternal, selectXAxisSettings, getXAxisSize);\n var combineXAxisPositionStartingPoint = (offset4, orientation, chartHeight) => {\n switch (orientation) {\n case \"top\":\n return offset4.top;\n case \"bottom\":\n return chartHeight - offset4.bottom;\n default:\n return 0;\n }\n };\n var combineYAxisPositionStartingPoint = (offset4, orientation, chartWidth) => {\n switch (orientation) {\n case \"left\":\n return offset4.left;\n case \"right\":\n return chartWidth - offset4.right;\n default:\n return 0;\n }\n };\n var selectAllXAxesOffsetSteps = createSelector(selectChartHeight, selectChartOffsetInternal, selectAllXAxesWithOffsetType, pickAxisOrientation, pickMirror, (chartHeight, offset4, allAxesWithSameOffsetType, orientation, mirror) => {\n var steps = {};\n var position2;\n allAxesWithSameOffsetType.forEach((axis) => {\n var axisSize = getXAxisSize(offset4, axis);\n if (position2 == null) {\n position2 = combineXAxisPositionStartingPoint(offset4, orientation, chartHeight);\n }\n var needSpace = orientation === \"top\" && !mirror || orientation === \"bottom\" && mirror;\n steps[axis.id] = position2 - Number(needSpace) * axisSize.height;\n position2 += (needSpace ? -1 : 1) * axisSize.height;\n });\n return steps;\n });\n var selectAllYAxesOffsetSteps = createSelector(selectChartWidth, selectChartOffsetInternal, selectAllYAxesWithOffsetType, pickAxisOrientation, pickMirror, (chartWidth, offset4, allAxesWithSameOffsetType, orientation, mirror) => {\n var steps = {};\n var position2;\n allAxesWithSameOffsetType.forEach((axis) => {\n var axisSize = getYAxisSize(offset4, axis);\n if (position2 == null) {\n position2 = combineYAxisPositionStartingPoint(offset4, orientation, chartWidth);\n }\n var needSpace = orientation === \"left\" && !mirror || orientation === \"right\" && mirror;\n steps[axis.id] = position2 - Number(needSpace) * axisSize.width;\n position2 += (needSpace ? -1 : 1) * axisSize.width;\n });\n return steps;\n });\n var selectXAxisOffsetSteps = (state2, axisId) => {\n var axisSettings = selectXAxisSettings(state2, axisId);\n if (axisSettings == null) {\n return void 0;\n }\n return selectAllXAxesOffsetSteps(state2, axisSettings.orientation, axisSettings.mirror);\n };\n var selectXAxisPosition = createSelector([selectChartOffsetInternal, selectXAxisSettings, selectXAxisOffsetSteps, (_, axisId) => axisId], (offset4, axisSettings, allSteps, axisId) => {\n if (axisSettings == null) {\n return void 0;\n }\n var stepOfThisAxis = allSteps === null || allSteps === void 0 ? void 0 : allSteps[axisId];\n if (stepOfThisAxis == null) {\n return {\n x: offset4.left,\n y: 0\n };\n }\n return {\n x: offset4.left,\n y: stepOfThisAxis\n };\n });\n var selectYAxisOffsetSteps = (state2, axisId) => {\n var axisSettings = selectYAxisSettings(state2, axisId);\n if (axisSettings == null) {\n return void 0;\n }\n return selectAllYAxesOffsetSteps(state2, axisSettings.orientation, axisSettings.mirror);\n };\n var selectYAxisPosition = createSelector([selectChartOffsetInternal, selectYAxisSettings, selectYAxisOffsetSteps, (_, axisId) => axisId], (offset4, axisSettings, allSteps, axisId) => {\n if (axisSettings == null) {\n return void 0;\n }\n var stepOfThisAxis = allSteps === null || allSteps === void 0 ? void 0 : allSteps[axisId];\n if (stepOfThisAxis == null) {\n return {\n x: 0,\n y: offset4.top\n };\n }\n return {\n x: stepOfThisAxis,\n y: offset4.top\n };\n });\n var selectYAxisSize = createSelector(selectChartOffsetInternal, selectYAxisSettings, (offset4, axisSettings) => {\n var width = typeof axisSettings.width === \"number\" ? axisSettings.width : DEFAULT_Y_AXIS_WIDTH;\n return {\n width,\n height: offset4.height\n };\n });\n var selectCartesianAxisSize = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSize(state2, axisId).width;\n }\n case \"yAxis\": {\n return selectYAxisSize(state2, axisId).height;\n }\n default: {\n return void 0;\n }\n }\n };\n var combineDuplicateDomain = (chartLayout, appliedValues, axis, axisType) => {\n if (axis == null) {\n return void 0;\n }\n var {\n allowDuplicatedCategory,\n type,\n dataKey\n } = axis;\n var isCategorical = isCategoricalAxis(chartLayout, axisType);\n var allData = appliedValues.map((av) => av.value);\n if (dataKey && isCategorical && type === \"category\" && allowDuplicatedCategory && hasDuplicate(allData)) {\n return allData;\n }\n return void 0;\n };\n var selectDuplicateDomain = createSelector([selectChartLayout, selectAllAppliedValues, selectBaseAxis, pickAxisType], combineDuplicateDomain);\n var selectAxisPropsNeededForCartesianGridTicksGenerator = createSelector([selectChartLayout, selectCartesianAxisSettings, selectRealScaleType, selectAxisScale, selectDuplicateDomain, selectCategoricalDomain, selectAxisRange, selectNiceTicks, pickAxisType], (layout, axis, realScaleType, scale, duplicateDomain, categoricalDomain, axisRange, niceTicks, axisType) => {\n if (axis == null) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n return {\n angle: axis.angle,\n interval: axis.interval,\n minTickGap: axis.minTickGap,\n orientation: axis.orientation,\n tick: axis.tick,\n tickCount: axis.tickCount,\n tickFormatter: axis.tickFormatter,\n ticks: axis.ticks,\n type: axis.type,\n unit: axis.unit,\n axisType,\n categoricalDomain,\n duplicateDomain,\n isCategorical,\n niceTicks,\n range: axisRange,\n realScaleType,\n scale\n };\n });\n var combineAxisTicks = (layout, axis, realScaleType, scale, niceTicks, axisRange, duplicateDomain, categoricalDomain, axisType) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n var {\n type,\n ticks: ticks2,\n tickCount\n } = axis;\n var offsetForBand = (\n // @ts-expect-error This is testing for `scaleBand` but for band axis the type is reported as `band` so this looks like a dead code with a workaround elsewhere?\n realScaleType === \"scaleBand\" && typeof scale.bandwidth === \"function\" ? scale.bandwidth() / 2 : 2\n );\n var offset4 = type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && axisRange != null && axisRange.length >= 2 ? mathSign(axisRange[0] - axisRange[1]) * 2 * offset4 : offset4;\n var ticksOrNiceTicks = ticks2 || niceTicks;\n if (ticksOrNiceTicks) {\n return ticksOrNiceTicks.map((entry, index2) => {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n var scaled = scale.map(scaleContent);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n index: index2,\n coordinate: scaled + offset4,\n value: entry,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTicksOfAxis = createSelector([selectChartLayout, selectRenderableAxisSettings, selectRealScaleType, selectAxisScale, selectNiceTicks, selectAxisRange, selectDuplicateDomain, selectCategoricalDomain, pickAxisType], combineAxisTicks);\n var combineGraphicalItemTicks = (layout, axis, scale, axisRange, duplicateDomain, categoricalDomain, axisType) => {\n if (axis == null || scale == null || axisRange == null || axisRange[0] === axisRange[1]) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n var {\n tickCount\n } = axis;\n var offset4 = 0;\n offset4 = axisType === \"angleAxis\" && (axisRange === null || axisRange === void 0 ? void 0 : axisRange.length) >= 2 ? mathSign(axisRange[0] - axisRange[1]) * 2 * offset4 : offset4;\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use unknown as index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTicksOfGraphicalItem = createSelector([selectChartLayout, selectRenderableAxisSettings, selectAxisScale, selectAxisRange, selectDuplicateDomain, selectCategoricalDomain, pickAxisType], combineGraphicalItemTicks);\n var selectAxisWithScale = createSelector(selectBaseAxis, selectAxisScale, (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread17(_objectSpread17({}, axis), {}, {\n scale\n });\n });\n var selectZAxisConfiguredScale = createSelector([selectBaseAxis, selectRealScaleType, selectAxisDomain, selectAxisRangeWithReverse], combineConfiguredScale);\n var selectZAxisScale = createSelector([selectZAxisConfiguredScale], rechartsScaleFactory);\n var selectZAxisWithScale = createSelector((state2, _axisType, axisId) => selectZAxisSettings(state2, axisId), selectZAxisScale, (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread17(_objectSpread17({}, axis), {}, {\n scale\n });\n });\n var selectChartDirection = createSelector([selectChartLayout, selectAllXAxes, selectAllYAxes], (layout, allXAxes, allYAxes) => {\n switch (layout) {\n case \"horizontal\": {\n return allXAxes.some((axis) => axis.reversed) ? \"right-to-left\" : \"left-to-right\";\n }\n case \"vertical\": {\n return allYAxes.some((axis) => axis.reversed) ? \"bottom-to-top\" : \"top-to-bottom\";\n }\n // TODO: make this better. For now, right arrow triggers \"forward\", left arrow \"back\"\n // however, the tooltip moves an unintuitive direction because of how the indices are rendered\n case \"centric\":\n case \"radial\": {\n return \"left-to-right\";\n }\n default: {\n return void 0;\n }\n }\n });\n var selectRenderedTicksOfAxis = (state2, axisType, axisId) => {\n var _state$renderedTicks$;\n return (_state$renderedTicks$ = state2.renderedTicks[axisType]) === null || _state$renderedTicks$ === void 0 ? void 0 : _state$renderedTicks$[axisId];\n };\n var selectAxisInverseTickSnapScale = createSelector([selectRenderedTicksOfAxis], (ticks2) => {\n if (!ticks2 || ticks2.length === 0) {\n return void 0;\n }\n return (pixelValue) => {\n var _closestTick;\n var minDistance = Infinity;\n var closestTick = ticks2[0];\n for (var tick of ticks2) {\n var distance = Math.abs(tick.coordinate - pixelValue);\n if (distance < minDistance) {\n minDistance = distance;\n closestTick = tick;\n }\n }\n return (_closestTick = closestTick) === null || _closestTick === void 0 ? void 0 : _closestTick.value;\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipEventType.js\n var selectDefaultTooltipEventType = (state2) => state2.options.defaultTooltipEventType;\n var selectValidateTooltipEventTypes = (state2) => state2.options.validateTooltipEventTypes;\n function combineTooltipEventType(shared, defaultTooltipEventType, validateTooltipEventTypes) {\n if (shared == null) {\n return defaultTooltipEventType;\n }\n var eventType = shared ? \"axis\" : \"item\";\n if (validateTooltipEventTypes == null) {\n return defaultTooltipEventType;\n }\n return validateTooltipEventTypes.includes(eventType) ? eventType : defaultTooltipEventType;\n }\n function selectTooltipEventType(state2, shared) {\n var defaultTooltipEventType = selectDefaultTooltipEventType(state2);\n var validateTooltipEventTypes = selectValidateTooltipEventTypes(state2);\n return combineTooltipEventType(shared, defaultTooltipEventType, validateTooltipEventTypes);\n }\n function useTooltipEventType(shared) {\n return useAppSelector((state2) => selectTooltipEventType(state2, shared));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineActiveLabel.js\n var combineActiveLabel = (tooltipTicks, activeIndex) => {\n var _tooltipTicks$n;\n var n = Number(activeIndex);\n if (isNan(n) || activeIndex == null) {\n return void 0;\n }\n return n >= 0 ? tooltipTicks === null || tooltipTicks === void 0 || (_tooltipTicks$n = tooltipTicks[n]) === null || _tooltipTicks$n === void 0 ? void 0 : _tooltipTicks$n.value : void 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipSettings.js\n var selectTooltipSettings = (state2) => state2.tooltip.settings;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/tooltipSlice.js\n var noInteraction = {\n active: false,\n index: null,\n dataKey: void 0,\n graphicalItemId: void 0,\n coordinate: void 0\n };\n var initialState3 = {\n itemInteraction: {\n click: noInteraction,\n hover: noInteraction\n },\n axisInteraction: {\n click: noInteraction,\n hover: noInteraction\n },\n keyboardInteraction: noInteraction,\n syncInteraction: {\n active: false,\n index: null,\n dataKey: void 0,\n label: void 0,\n coordinate: void 0,\n sourceViewBox: void 0,\n graphicalItemId: void 0\n },\n tooltipItemPayloads: [],\n settings: {\n shared: void 0,\n trigger: \"hover\",\n axisId: 0,\n active: false,\n defaultIndex: void 0\n }\n };\n var tooltipSlice = createSlice({\n name: \"tooltip\",\n initialState: initialState3,\n reducers: {\n addTooltipEntrySettings: {\n reducer(state2, action) {\n state2.tooltipItemPayloads.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceTooltipEntrySettings: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).tooltipItemPayloads.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.tooltipItemPayloads[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeTooltipEntrySettings: {\n reducer(state2, action) {\n var index2 = current(state2).tooltipItemPayloads.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.tooltipItemPayloads.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n setTooltipSettingsState(state2, action) {\n state2.settings = action.payload;\n },\n setActiveMouseOverItemIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.keyboardInteraction.active = false;\n state2.itemInteraction.hover.active = true;\n state2.itemInteraction.hover.index = action.payload.activeIndex;\n state2.itemInteraction.hover.dataKey = action.payload.activeDataKey;\n state2.itemInteraction.hover.graphicalItemId = action.payload.activeGraphicalItemId;\n state2.itemInteraction.hover.coordinate = action.payload.activeCoordinate;\n },\n mouseLeaveChart(state2) {\n state2.itemInteraction.hover.active = false;\n state2.axisInteraction.hover.active = false;\n },\n mouseLeaveItem(state2) {\n state2.itemInteraction.hover.active = false;\n },\n setActiveClickItemIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.itemInteraction.click.active = true;\n state2.keyboardInteraction.active = false;\n state2.itemInteraction.click.index = action.payload.activeIndex;\n state2.itemInteraction.click.dataKey = action.payload.activeDataKey;\n state2.itemInteraction.click.graphicalItemId = action.payload.activeGraphicalItemId;\n state2.itemInteraction.click.coordinate = action.payload.activeCoordinate;\n },\n setMouseOverAxisIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.axisInteraction.hover.active = true;\n state2.keyboardInteraction.active = false;\n state2.axisInteraction.hover.index = action.payload.activeIndex;\n state2.axisInteraction.hover.dataKey = action.payload.activeDataKey;\n state2.axisInteraction.hover.coordinate = action.payload.activeCoordinate;\n },\n setMouseClickAxisIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.keyboardInteraction.active = false;\n state2.axisInteraction.click.active = true;\n state2.axisInteraction.click.index = action.payload.activeIndex;\n state2.axisInteraction.click.dataKey = action.payload.activeDataKey;\n state2.axisInteraction.click.coordinate = action.payload.activeCoordinate;\n },\n setSyncInteraction(state2, action) {\n state2.syncInteraction = action.payload;\n },\n setKeyboardInteraction(state2, action) {\n state2.keyboardInteraction.active = action.payload.active;\n state2.keyboardInteraction.index = action.payload.activeIndex;\n state2.keyboardInteraction.coordinate = action.payload.activeCoordinate;\n }\n }\n });\n var {\n addTooltipEntrySettings,\n replaceTooltipEntrySettings,\n removeTooltipEntrySettings,\n setTooltipSettingsState,\n setActiveMouseOverItemIndex,\n mouseLeaveItem,\n mouseLeaveChart,\n setActiveClickItemIndex,\n setMouseOverAxisIndex,\n setMouseClickAxisIndex,\n setSyncInteraction,\n setKeyboardInteraction\n } = tooltipSlice.actions;\n var tooltipReducer = tooltipSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipInteractionState.js\n function ownKeys18(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread18(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys18(Object(t2), true).forEach(function(r3) {\n _defineProperty18(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys18(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty18(e, r2, t2) {\n return (r2 = _toPropertyKey18(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey18(t2) {\n var i = _toPrimitive18(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive18(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function chooseAppropriateMouseInteraction(tooltipState, tooltipEventType, trigger) {\n if (tooltipEventType === \"axis\") {\n if (trigger === \"click\") {\n return tooltipState.axisInteraction.click;\n }\n return tooltipState.axisInteraction.hover;\n }\n if (trigger === \"click\") {\n return tooltipState.itemInteraction.click;\n }\n return tooltipState.itemInteraction.hover;\n }\n function hasBeenActivePreviously(tooltipInteractionState) {\n return tooltipInteractionState.index != null;\n }\n var combineTooltipInteractionState = (tooltipState, tooltipEventType, trigger, defaultIndex) => {\n if (tooltipEventType == null) {\n return noInteraction;\n }\n var appropriateMouseInteraction = chooseAppropriateMouseInteraction(tooltipState, tooltipEventType, trigger);\n if (appropriateMouseInteraction == null) {\n return noInteraction;\n }\n if (appropriateMouseInteraction.active) {\n return appropriateMouseInteraction;\n }\n if (tooltipState.keyboardInteraction.active) {\n return tooltipState.keyboardInteraction;\n }\n if (tooltipState.syncInteraction.active && tooltipState.syncInteraction.index != null) {\n return tooltipState.syncInteraction;\n }\n var activeFromProps = tooltipState.settings.active === true;\n if (hasBeenActivePreviously(appropriateMouseInteraction)) {\n if (activeFromProps) {\n return _objectSpread18(_objectSpread18({}, appropriateMouseInteraction), {}, {\n active: true\n });\n }\n } else if (defaultIndex != null) {\n return {\n active: true,\n coordinate: void 0,\n dataKey: void 0,\n index: defaultIndex,\n graphicalItemId: void 0\n };\n }\n return _objectSpread18(_objectSpread18({}, noInteraction), {}, {\n coordinate: appropriateMouseInteraction.coordinate\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineActiveTooltipIndex.js\n function toFiniteNumber(value) {\n if (typeof value === \"number\") {\n return Number.isFinite(value) ? value : void 0;\n }\n if (value instanceof Date) {\n var numericValue = value.valueOf();\n return Number.isFinite(numericValue) ? numericValue : void 0;\n }\n var parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : void 0;\n }\n function isValueWithinNumberDomain(value, domain) {\n var numericValue = toFiniteNumber(value);\n var lowerBound = domain[0];\n var upperBound = domain[1];\n if (numericValue === void 0) {\n return false;\n }\n var min3 = Math.min(lowerBound, upperBound);\n var max3 = Math.max(lowerBound, upperBound);\n return numericValue >= min3 && numericValue <= max3;\n }\n function isValueWithinDomain(entry, axisDataKey, domain) {\n if (domain == null || axisDataKey == null) {\n return true;\n }\n var value = getValueByDataKey(entry, axisDataKey);\n if (value == null) {\n return true;\n }\n if (!isWellFormedNumberDomain(domain)) {\n return true;\n }\n return isValueWithinNumberDomain(value, domain);\n }\n var combineActiveTooltipIndex = (tooltipInteraction, chartData, axisDataKey, domain) => {\n var desiredIndex = tooltipInteraction === null || tooltipInteraction === void 0 ? void 0 : tooltipInteraction.index;\n if (desiredIndex == null) {\n return null;\n }\n var indexAsNumber = Number(desiredIndex);\n if (!isWellBehavedNumber(indexAsNumber)) {\n return desiredIndex;\n }\n var lowerLimit = 0;\n var upperLimit = Infinity;\n if (chartData.length > 0) {\n upperLimit = chartData.length - 1;\n }\n var clampedIndex = Math.max(lowerLimit, Math.min(indexAsNumber, upperLimit));\n var entry = chartData[clampedIndex];\n if (entry == null) {\n return String(clampedIndex);\n }\n if (!isValueWithinDomain(entry, axisDataKey, domain)) {\n return null;\n }\n return String(clampedIndex);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineCoordinateForDefaultIndex.js\n var combineCoordinateForDefaultIndex = (width, height, layout, offset4, tooltipTicks, defaultIndex, tooltipConfigurations) => {\n if (defaultIndex == null) {\n return void 0;\n }\n var firstConfiguration = tooltipConfigurations[0];\n var maybePosition = firstConfiguration === null || firstConfiguration === void 0 ? void 0 : firstConfiguration.getPosition(defaultIndex);\n if (maybePosition != null) {\n return maybePosition;\n }\n var tick = tooltipTicks === null || tooltipTicks === void 0 ? void 0 : tooltipTicks[Number(defaultIndex)];\n if (!tick) {\n return void 0;\n }\n switch (layout) {\n case \"horizontal\": {\n return {\n x: tick.coordinate,\n y: (offset4.top + height) / 2\n };\n }\n default: {\n return {\n x: (offset4.left + width) / 2,\n y: tick.coordinate\n };\n }\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipPayloadConfigurations.js\n var combineTooltipPayloadConfigurations = (tooltipState, tooltipEventType, trigger, defaultIndex) => {\n if (tooltipEventType === \"axis\") {\n return tooltipState.tooltipItemPayloads;\n }\n if (tooltipState.tooltipItemPayloads.length === 0) {\n return [];\n }\n var filterByGraphicalItemId;\n if (trigger === \"hover\") {\n filterByGraphicalItemId = tooltipState.itemInteraction.hover.graphicalItemId;\n } else {\n filterByGraphicalItemId = tooltipState.itemInteraction.click.graphicalItemId;\n }\n if (tooltipState.syncInteraction.active && filterByGraphicalItemId == null) {\n return tooltipState.tooltipItemPayloads;\n }\n if (filterByGraphicalItemId == null && defaultIndex != null) {\n var firstItemPayload = tooltipState.tooltipItemPayloads[0];\n if (firstItemPayload != null) {\n return [firstItemPayload];\n }\n return [];\n }\n return tooltipState.tooltipItemPayloads.filter((tpc) => {\n var _tpc$settings;\n return ((_tpc$settings = tpc.settings) === null || _tpc$settings === void 0 ? void 0 : _tpc$settings.graphicalItemId) === filterByGraphicalItemId;\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipPayloadSearcher.js\n var selectTooltipPayloadSearcher = (state2) => state2.options.tooltipPayloadSearcher;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipState.js\n var selectTooltipState = (state2) => state2.tooltip;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipPayload.js\n function ownKeys19(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread19(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys19(Object(t2), true).forEach(function(r3) {\n _defineProperty19(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys19(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty19(e, r2, t2) {\n return (r2 = _toPropertyKey19(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey19(t2) {\n var i = _toPrimitive19(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive19(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function parseName(value) {\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value;\n }\n return void 0;\n }\n function parseUnit(value) {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return value;\n }\n return void 0;\n }\n function parseDataKey(value) {\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"function\") {\n return (obj) => value(obj);\n }\n return void 0;\n }\n function parseColor(value) {\n if (typeof value === \"string\") {\n return value;\n }\n return void 0;\n }\n function parseTooltipPayloadItem(item) {\n if (item == null || typeof item !== \"object\") {\n return void 0;\n }\n var name = \"name\" in item ? parseName(item.name) : void 0;\n var unit2 = \"unit\" in item ? parseUnit(item.unit) : void 0;\n var dataKey = \"dataKey\" in item ? parseDataKey(item.dataKey) : void 0;\n var payload = \"payload\" in item ? item.payload : void 0;\n var color2 = \"color\" in item ? parseColor(item.color) : void 0;\n var fill = \"fill\" in item ? parseColor(item.fill) : void 0;\n return {\n name,\n unit: unit2,\n dataKey,\n payload,\n color: color2,\n fill\n };\n }\n function selectFinalData(dataDefinedOnItem, dataDefinedOnChart) {\n if (dataDefinedOnItem != null) {\n return dataDefinedOnItem;\n }\n return dataDefinedOnChart;\n }\n var combineTooltipPayload = (tooltipPayloadConfigurations, activeIndex, chartDataState, tooltipAxisDataKey, activeLabel, tooltipPayloadSearcher, tooltipEventType) => {\n if (activeIndex == null || tooltipPayloadSearcher == null) {\n return void 0;\n }\n var {\n chartData,\n computedData,\n dataStartIndex,\n dataEndIndex\n } = chartDataState;\n var init = [];\n return tooltipPayloadConfigurations.reduce((agg, _ref2) => {\n var _settings$dataKey;\n var {\n dataDefinedOnItem,\n settings\n } = _ref2;\n var finalData = selectFinalData(dataDefinedOnItem, chartData);\n var sliced = Array.isArray(finalData) ? getSliced(finalData, dataStartIndex, dataEndIndex) : finalData;\n var finalDataKey = (_settings$dataKey = settings === null || settings === void 0 ? void 0 : settings.dataKey) !== null && _settings$dataKey !== void 0 ? _settings$dataKey : tooltipAxisDataKey;\n var finalNameKey = settings === null || settings === void 0 ? void 0 : settings.nameKey;\n var tooltipPayload;\n if (tooltipAxisDataKey && Array.isArray(sliced) && /*\n * findEntryInArray won't work for Scatter because Scatter provides an array of arrays\n * as tooltip payloads and findEntryInArray is not prepared to handle that.\n * Sad but also ScatterChart only allows 'item' tooltipEventType\n * and also this is only a problem if there are multiple Scatters and each has its own data array\n * so let's fix that some other time.\n */\n !Array.isArray(sliced[0]) && /*\n * If the tooltipEventType is 'axis', we should search for the dataKey in the sliced data\n * because thanks to allowDuplicatedCategory=false, the order of elements in the array\n * no longer matches the order of elements in the original data\n * and so we need to search by the active dataKey + label rather than by index.\n *\n * The same happens if multiple graphical items are present in the chart\n * and each of them has its own data array. Those arrays get concatenated\n * and again the tooltip index no longer matches the original data.\n *\n * On the other hand the tooltipEventType 'item' should always search by index\n * because we get the index from interacting over the individual elements\n * which is always accurate, irrespective of the allowDuplicatedCategory setting.\n */\n tooltipEventType === \"axis\") {\n tooltipPayload = findEntryInArray(sliced, tooltipAxisDataKey, activeLabel);\n } else {\n tooltipPayload = tooltipPayloadSearcher(sliced, activeIndex, computedData, finalNameKey);\n }\n if (Array.isArray(tooltipPayload)) {\n tooltipPayload.forEach((item) => {\n var _parsedItem$color, _parsedItem$fill;\n var parsedItem = parseTooltipPayloadItem(item);\n var itemName = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.name;\n var itemDataKey = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.dataKey;\n var itemPayload = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.payload;\n var newSettings = _objectSpread19(_objectSpread19({}, settings), {}, {\n name: itemName,\n unit: parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.unit,\n // Preserve item-level color/fill from graphical items.\n color: (_parsedItem$color = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.color) !== null && _parsedItem$color !== void 0 ? _parsedItem$color : settings === null || settings === void 0 ? void 0 : settings.color,\n fill: (_parsedItem$fill = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.fill) !== null && _parsedItem$fill !== void 0 ? _parsedItem$fill : settings === null || settings === void 0 ? void 0 : settings.fill\n });\n agg.push(getTooltipEntry({\n tooltipEntrySettings: newSettings,\n dataKey: itemDataKey,\n payload: itemPayload,\n value: getValueByDataKey(itemPayload, itemDataKey),\n name: itemName == null ? void 0 : String(itemName)\n }));\n });\n } else {\n var _getValueByDataKey;\n agg.push(getTooltipEntry({\n tooltipEntrySettings: settings,\n dataKey: finalDataKey,\n payload: tooltipPayload,\n // getValueByDataKey does not validate the output type\n value: getValueByDataKey(tooltipPayload, finalDataKey),\n // getValueByDataKey does not validate the output type\n name: (_getValueByDataKey = getValueByDataKey(tooltipPayload, finalNameKey)) !== null && _getValueByDataKey !== void 0 ? _getValueByDataKey : settings === null || settings === void 0 ? void 0 : settings.name\n }));\n }\n return agg;\n }, init);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/tooltipSelectors.js\n var selectTooltipAxisRealScaleType = createSelector([selectTooltipAxis, selectHasBar, selectChartName], combineRealScaleType);\n var selectAllUnfilteredGraphicalItems = createSelector([(state2) => state2.graphicalItems.cartesianItems, (state2) => state2.graphicalItems.polarItems], (cartesianItems, polarItems) => [...cartesianItems, ...polarItems]);\n var selectTooltipAxisPredicate = createSelector([selectTooltipAxisType, selectTooltipAxisId], itemAxisPredicate);\n var selectAllGraphicalItemsSettings = createSelector([selectAllUnfilteredGraphicalItems, selectTooltipAxis, selectTooltipAxisPredicate], combineGraphicalItemsSettings, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectAllStackedGraphicalItemsSettings = createSelector([selectAllGraphicalItemsSettings], (graphicalItems) => graphicalItems.filter(isStacked));\n var selectTooltipGraphicalItemsData = createSelector([selectAllGraphicalItemsSettings], combineGraphicalItemsData, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectTooltipDisplayedData = createSelector([selectTooltipGraphicalItemsData, selectChartDataWithIndexes], combineDisplayedData);\n var selectTooltipStackedData = createSelector([selectAllStackedGraphicalItemsSettings, selectChartDataWithIndexes, selectTooltipAxis], combineDisplayedStackedData);\n var selectAllTooltipAppliedValues = createSelector([selectTooltipDisplayedData, selectTooltipAxis, selectAllGraphicalItemsSettings], combineAppliedValues);\n var selectTooltipAxisDomainDefinition = createSelector([selectTooltipAxis], getDomainDefinition);\n var selectTooltipDataOverflow = createSelector([selectTooltipAxis], (axisSettings) => axisSettings.allowDataOverflow);\n var selectTooltipDomainFromUserPreferences = createSelector([selectTooltipAxisDomainDefinition, selectTooltipDataOverflow], numericalDomainSpecifiedWithoutRequiringData);\n var selectAllStackedGraphicalItems = createSelector([selectAllGraphicalItemsSettings], (graphicalItems) => graphicalItems.filter(isStacked));\n var selectTooltipStackGroups = createSelector([selectTooltipStackedData, selectAllStackedGraphicalItems, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var selectTooltipDomainOfStackGroups = createSelector([selectTooltipStackGroups, selectChartDataWithIndexes, selectTooltipAxisType, selectTooltipDomainFromUserPreferences], combineDomainOfStackGroups);\n var selectTooltipItemsSettingsExceptStacked = createSelector([selectAllGraphicalItemsSettings], filterGraphicalNotStackedItems);\n var selectDomainOfAllAppliedNumericalValuesIncludingErrorValues2 = createSelector([selectTooltipDisplayedData, selectTooltipAxis, selectTooltipItemsSettingsExceptStacked, selectAllErrorBarSettings, selectTooltipAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var selectReferenceDotsByTooltipAxis = createSelector([selectReferenceDots, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceDotsDomain = createSelector([selectReferenceDotsByTooltipAxis, selectTooltipAxisType], combineDotsDomain);\n var selectReferenceAreasByTooltipAxis = createSelector([selectReferenceAreas, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceAreasDomain = createSelector([selectReferenceAreasByTooltipAxis, selectTooltipAxisType], combineAreasDomain);\n var selectReferenceLinesByTooltipAxis = createSelector([selectReferenceLines, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceLinesDomain = createSelector([selectReferenceLinesByTooltipAxis, selectTooltipAxisType], combineLinesDomain);\n var selectTooltipReferenceElementsDomain = createSelector([selectTooltipReferenceDotsDomain, selectTooltipReferenceLinesDomain, selectTooltipReferenceAreasDomain], mergeDomains);\n var selectTooltipNumericalDomain = createSelector([selectTooltipAxis, selectTooltipAxisDomainDefinition, selectTooltipDomainFromUserPreferences, selectTooltipDomainOfStackGroups, selectDomainOfAllAppliedNumericalValuesIncludingErrorValues2, selectTooltipReferenceElementsDomain, selectChartLayout, selectTooltipAxisType], combineNumericalDomain);\n var selectTooltipAxisDomain = createSelector([selectTooltipAxis, selectChartLayout, selectTooltipDisplayedData, selectAllTooltipAppliedValues, selectStackOffsetType, selectTooltipAxisType, selectTooltipNumericalDomain], combineAxisDomain);\n var selectTooltipNiceTicks = createSelector([selectTooltipAxisDomain, selectTooltipAxis, selectTooltipAxisRealScaleType], combineNiceTicks);\n var selectTooltipAxisDomainIncludingNiceTicks = createSelector([selectTooltipAxis, selectTooltipAxisDomain, selectTooltipNiceTicks, selectTooltipAxisType], combineAxisDomainWithNiceTicks);\n var selectTooltipAxisRange = (state2) => {\n var axisType = selectTooltipAxisType(state2);\n var axisId = selectTooltipAxisId(state2);\n var isPanorama = false;\n return selectAxisRange(state2, axisType, axisId, isPanorama);\n };\n var selectTooltipAxisRangeWithReverse = createSelector([selectTooltipAxis, selectTooltipAxisRange], combineAxisRangeWithReverse);\n var selectTooltipConfiguredScale = createSelector([selectTooltipAxis, selectTooltipAxisRealScaleType, selectTooltipAxisDomainIncludingNiceTicks, selectTooltipAxisRangeWithReverse], combineConfiguredScale);\n var selectTooltipAxisScale = createSelector([selectTooltipConfiguredScale], rechartsScaleFactory);\n var selectTooltipDuplicateDomain = createSelector([selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType], combineDuplicateDomain);\n var selectTooltipCategoricalDomain = createSelector([selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType], combineCategoricalDomain);\n var combineTicksOfTooltipAxis = (layout, axis, realScaleType, scale, range4, duplicateDomain, categoricalDomain, axisType) => {\n if (!axis) {\n return void 0;\n }\n var {\n type\n } = axis;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (!scale) {\n return void 0;\n }\n var offsetForBand = realScaleType === \"scaleBand\" && scale.bandwidth ? scale.bandwidth() / 2 : 2;\n var offset4 = type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && range4 != null && (range4 === null || range4 === void 0 ? void 0 : range4.length) >= 2 ? mathSign(range4[0] - range4[1]) * 2 * offset4 : offset4;\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as an index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTooltipAxisTicks = createSelector([selectChartLayout, selectTooltipAxis, selectTooltipAxisRealScaleType, selectTooltipAxisScale, selectTooltipAxisRange, selectTooltipDuplicateDomain, selectTooltipCategoricalDomain, selectTooltipAxisType], combineTicksOfTooltipAxis);\n var selectTooltipEventType2 = createSelector([selectDefaultTooltipEventType, selectValidateTooltipEventTypes, selectTooltipSettings], (defaultTooltipEventType, validateTooltipEventType, settings) => combineTooltipEventType(settings.shared, defaultTooltipEventType, validateTooltipEventType));\n var selectTooltipTrigger = (state2) => state2.tooltip.settings.trigger;\n var selectDefaultIndex = (state2) => state2.tooltip.settings.defaultIndex;\n var selectTooltipInteractionState = createSelector([selectTooltipState, selectTooltipEventType2, selectTooltipTrigger, selectDefaultIndex], combineTooltipInteractionState);\n var selectActiveTooltipIndex = createSelector([selectTooltipInteractionState, selectTooltipDisplayedData, selectTooltipAxisDataKey, selectTooltipAxisDomain], combineActiveTooltipIndex);\n var selectActiveLabel = createSelector([selectTooltipAxisTicks, selectActiveTooltipIndex], combineActiveLabel);\n var selectActiveTooltipDataKey = createSelector([selectTooltipInteractionState], (tooltipInteraction) => {\n if (!tooltipInteraction) {\n return void 0;\n }\n return tooltipInteraction.dataKey;\n });\n var selectActiveTooltipGraphicalItemId = createSelector([selectTooltipInteractionState], (tooltipInteraction) => {\n if (!tooltipInteraction) {\n return void 0;\n }\n return tooltipInteraction.graphicalItemId;\n });\n var selectTooltipPayloadConfigurations = createSelector([selectTooltipState, selectTooltipEventType2, selectTooltipTrigger, selectDefaultIndex], combineTooltipPayloadConfigurations);\n var selectTooltipCoordinateForDefaultIndex = createSelector([selectChartWidth, selectChartHeight, selectChartLayout, selectChartOffsetInternal, selectTooltipAxisTicks, selectDefaultIndex, selectTooltipPayloadConfigurations], combineCoordinateForDefaultIndex);\n var selectActiveTooltipCoordinate = createSelector([selectTooltipInteractionState, selectTooltipCoordinateForDefaultIndex], (tooltipInteractionState, defaultIndexCoordinate) => {\n if (tooltipInteractionState !== null && tooltipInteractionState !== void 0 && tooltipInteractionState.coordinate) {\n return tooltipInteractionState.coordinate;\n }\n return defaultIndexCoordinate;\n });\n var selectIsTooltipActive = createSelector([selectTooltipInteractionState], (tooltipInteractionState) => {\n var _tooltipInteractionSt;\n return (_tooltipInteractionSt = tooltipInteractionState === null || tooltipInteractionState === void 0 ? void 0 : tooltipInteractionState.active) !== null && _tooltipInteractionSt !== void 0 ? _tooltipInteractionSt : false;\n });\n var selectActiveTooltipPayload = createSelector([selectTooltipPayloadConfigurations, selectActiveTooltipIndex, selectChartDataWithIndexes, selectTooltipAxisDataKey, selectActiveLabel, selectTooltipPayloadSearcher, selectTooltipEventType2], combineTooltipPayload);\n var selectActiveTooltipDataPoints = createSelector([selectActiveTooltipPayload], (payload) => {\n if (payload == null) {\n return void 0;\n }\n var dataPoints = payload.map((p) => p.payload).filter((p) => p != null);\n return Array.from(new Set(dataPoints));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/useTooltipAxis.js\n function ownKeys20(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread20(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys20(Object(t2), true).forEach(function(r3) {\n _defineProperty20(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys20(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty20(e, r2, t2) {\n return (r2 = _toPropertyKey20(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey20(t2) {\n var i = _toPrimitive20(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive20(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var useTooltipAxis = () => useAppSelector(selectTooltipAxis);\n var useTooltipAxisBandSize = () => {\n var tooltipAxis = useTooltipAxis();\n var tooltipTicks = useAppSelector(selectTooltipAxisTicks);\n var tooltipAxisScale = useAppSelector(selectTooltipAxisScale);\n if (!tooltipAxis || !tooltipAxisScale) {\n return getBandSizeOfAxis(void 0, tooltipTicks);\n }\n return getBandSizeOfAxis(_objectSpread20(_objectSpread20({}, tooltipAxis), {}, {\n scale: tooltipAxisScale\n }), tooltipTicks);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectors.js\n var import_sortBy4 = __toESM(require_sortBy2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getActiveCoordinate.js\n function ownKeys21(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread21(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys21(Object(t2), true).forEach(function(r3) {\n _defineProperty21(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys21(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty21(e, r2, t2) {\n return (r2 = _toPropertyKey21(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey21(t2) {\n var i = _toPrimitive21(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive21(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getActiveCartesianCoordinate = (layout, tooltipTicks, activeIndex, pointer) => {\n var entry = tooltipTicks.find((tick) => tick && tick.index === activeIndex);\n if (entry) {\n if (layout === \"horizontal\") {\n return {\n x: entry.coordinate,\n y: pointer.relativeY\n };\n }\n if (layout === \"vertical\") {\n return {\n x: pointer.relativeX,\n y: entry.coordinate\n };\n }\n }\n return {\n x: 0,\n y: 0\n };\n };\n var getActivePolarCoordinate = (layout, tooltipTicks, activeIndex, rangeObj) => {\n var entry = tooltipTicks.find((tick) => tick && tick.index === activeIndex);\n if (entry) {\n if (layout === \"centric\") {\n var _angle = entry.coordinate;\n var {\n radius: _radius\n } = rangeObj;\n return _objectSpread21(_objectSpread21(_objectSpread21({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n var radius = entry.coordinate;\n var {\n angle\n } = rangeObj;\n return _objectSpread21(_objectSpread21(_objectSpread21({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle,\n radius\n });\n }\n return {\n angle: 0,\n clockWise: false,\n cx: 0,\n cy: 0,\n endAngle: 0,\n innerRadius: 0,\n outerRadius: 0,\n radius: 0,\n startAngle: 0,\n x: 0,\n y: 0\n };\n };\n function isInCartesianRange(pointer, offset4) {\n var {\n relativeX: x2,\n relativeY: y2\n } = pointer;\n return x2 >= offset4.left && x2 <= offset4.left + offset4.width && y2 >= offset4.top && y2 <= offset4.top + offset4.height;\n }\n var calculateActiveTickIndex = (coordinate, ticks2, unsortedTicks, axisType, range4) => {\n var _ticks$length;\n var len = (_ticks$length = ticks2 === null || ticks2 === void 0 ? void 0 : ticks2.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n if (len <= 1 || coordinate == null) {\n return 0;\n }\n if (axisType === \"angleAxis\" && range4 != null && Math.abs(Math.abs(range4[1] - range4[0]) - 360) <= 1e-6) {\n for (var i = 0; i < len; i++) {\n var _unsortedTicks, _unsortedTicks2, _unsortedTicks$i, _unsortedTicks$, _unsortedTicks3;\n var before = i > 0 ? (_unsortedTicks = unsortedTicks[i - 1]) === null || _unsortedTicks === void 0 ? void 0 : _unsortedTicks.coordinate : (_unsortedTicks2 = unsortedTicks[len - 1]) === null || _unsortedTicks2 === void 0 ? void 0 : _unsortedTicks2.coordinate;\n var cur = (_unsortedTicks$i = unsortedTicks[i]) === null || _unsortedTicks$i === void 0 ? void 0 : _unsortedTicks$i.coordinate;\n var after = i >= len - 1 ? (_unsortedTicks$ = unsortedTicks[0]) === null || _unsortedTicks$ === void 0 ? void 0 : _unsortedTicks$.coordinate : (_unsortedTicks3 = unsortedTicks[i + 1]) === null || _unsortedTicks3 === void 0 ? void 0 : _unsortedTicks3.coordinate;\n var sameDirectionCoord = void 0;\n if (before == null || cur == null || after == null) {\n continue;\n }\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n if (mathSign(after - cur) === mathSign(range4[1] - range4[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range4[1] - range4[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range4[1] - range4[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n var _unsortedTicks$i2;\n return (_unsortedTicks$i2 = unsortedTicks[i]) === null || _unsortedTicks$i2 === void 0 ? void 0 : _unsortedTicks$i2.index;\n }\n } else {\n var minValue = Math.min(before, after);\n var maxValue = Math.max(before, after);\n if (coordinate > (minValue + cur) / 2 && coordinate <= (maxValue + cur) / 2) {\n var _unsortedTicks$i3;\n return (_unsortedTicks$i3 = unsortedTicks[i]) === null || _unsortedTicks$i3 === void 0 ? void 0 : _unsortedTicks$i3.index;\n }\n }\n }\n } else if (ticks2) {\n for (var _i = 0; _i < len; _i++) {\n var curr = ticks2[_i];\n if (curr == null) {\n continue;\n }\n var next2 = ticks2[_i + 1];\n var prev = ticks2[_i - 1];\n if (_i === 0 && next2 != null && coordinate <= (curr.coordinate + next2.coordinate) / 2) {\n return curr.index;\n }\n if (_i === len - 1 && prev != null && coordinate > (curr.coordinate + prev.coordinate) / 2) {\n return curr.index;\n }\n if (_i > 0 && _i < len - 1 && prev != null && next2 != null && coordinate > (curr.coordinate + prev.coordinate) / 2 && coordinate <= (curr.coordinate + next2.coordinate) / 2) {\n return curr.index;\n }\n }\n }\n return -1;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectors.js\n var useChartName = () => {\n return useAppSelector(selectChartName);\n };\n var pickTooltipEventType = (_state, tooltipEventType) => tooltipEventType;\n var pickTrigger = (_state, _tooltipEventType, trigger) => trigger;\n var pickDefaultIndex = (_state, _tooltipEventType, _trigger, defaultIndex) => defaultIndex;\n var selectOrderedTooltipTicks = createSelector(selectTooltipAxisTicks, (ticks2) => (0, import_sortBy4.default)(ticks2, (o) => o.coordinate));\n var selectTooltipInteractionState2 = createSelector([selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex], combineTooltipInteractionState);\n var selectActiveIndex = createSelector([selectTooltipInteractionState2, selectTooltipDisplayedData, selectTooltipAxisDataKey, selectTooltipAxisDomain], combineActiveTooltipIndex);\n var selectTooltipDataKey = (state2, tooltipEventType, trigger) => {\n if (tooltipEventType == null) {\n return void 0;\n }\n var tooltipState = selectTooltipState(state2);\n if (tooltipEventType === \"axis\") {\n if (trigger === \"hover\") {\n return tooltipState.axisInteraction.hover.dataKey;\n }\n return tooltipState.axisInteraction.click.dataKey;\n }\n if (trigger === \"hover\") {\n return tooltipState.itemInteraction.hover.dataKey;\n }\n return tooltipState.itemInteraction.click.dataKey;\n };\n var selectTooltipPayloadConfigurations2 = createSelector([selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex], combineTooltipPayloadConfigurations);\n var selectCoordinateForDefaultIndex = createSelector([selectChartWidth, selectChartHeight, selectChartLayout, selectChartOffsetInternal, selectTooltipAxisTicks, pickDefaultIndex, selectTooltipPayloadConfigurations2], combineCoordinateForDefaultIndex);\n var selectActiveCoordinate = createSelector([selectTooltipInteractionState2, selectCoordinateForDefaultIndex], (tooltipInteractionState, defaultIndexCoordinate) => {\n var _tooltipInteractionSt;\n return (_tooltipInteractionSt = tooltipInteractionState.coordinate) !== null && _tooltipInteractionSt !== void 0 ? _tooltipInteractionSt : defaultIndexCoordinate;\n });\n var selectActiveLabel2 = createSelector([selectTooltipAxisTicks, selectActiveIndex], combineActiveLabel);\n var selectTooltipPayload = createSelector([selectTooltipPayloadConfigurations2, selectActiveIndex, selectChartDataWithIndexes, selectTooltipAxisDataKey, selectActiveLabel2, selectTooltipPayloadSearcher, pickTooltipEventType], combineTooltipPayload);\n var selectIsTooltipActive2 = createSelector([selectTooltipInteractionState2, selectActiveIndex], (tooltipInteractionState, activeIndex) => {\n return {\n isActive: tooltipInteractionState.active && activeIndex != null,\n activeIndex\n };\n });\n var combineActiveCartesianProps = (chartEvent, layout, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4) => {\n if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {\n return void 0;\n }\n if (!isInCartesianRange(chartEvent, offset4)) {\n return void 0;\n }\n var pos = calculateCartesianTooltipPos(chartEvent, layout);\n var activeIndex = calculateActiveTickIndex(pos, orderedTooltipTicks, tooltipTicks, tooltipAxisType, tooltipAxisRange);\n var activeCoordinate = getActiveCartesianCoordinate(layout, tooltipTicks, activeIndex, chartEvent);\n return {\n activeIndex: String(activeIndex),\n activeCoordinate\n };\n };\n var combineActivePolarProps = (chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks) => {\n if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks || !polarViewBox) {\n return void 0;\n }\n var rangeObj = inRangeOfSector(chartEvent, polarViewBox);\n if (!rangeObj) {\n return void 0;\n }\n var pos = calculatePolarTooltipPos(rangeObj, layout);\n var activeIndex = calculateActiveTickIndex(pos, orderedTooltipTicks, tooltipTicks, tooltipAxisType, tooltipAxisRange);\n var activeCoordinate = getActivePolarCoordinate(layout, tooltipTicks, activeIndex, rangeObj);\n return {\n activeIndex: String(activeIndex),\n activeCoordinate\n };\n };\n var combineActiveProps = (chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4) => {\n if (!chartEvent || !layout || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {\n return void 0;\n }\n if (layout === \"horizontal\" || layout === \"vertical\") {\n return combineActiveCartesianProps(chartEvent, layout, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4);\n }\n return combineActivePolarProps(chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexLayer.js\n var import_react28 = __toESM(require_react());\n var import_react_dom4 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/zIndexSelectors.js\n var selectZIndexPortalElement = createSelector((state2) => state2.zIndex.zIndexMap, (_, zIndex) => zIndex, (_, _zIndex, isPanorama) => isPanorama, (zIndexMap, zIndex, isPanorama) => {\n if (zIndex == null) {\n return void 0;\n }\n var entry = zIndexMap[zIndex];\n if (entry == null) {\n return void 0;\n }\n if (isPanorama) {\n return entry.panoramaElement;\n }\n return entry.element;\n });\n var selectAllRegisteredZIndexes = createSelector((state2) => state2.zIndex.zIndexMap, (zIndexMap) => {\n var allNumbers = Object.keys(zIndexMap).map((zIndexStr) => parseInt(zIndexStr, 10)).concat(Object.values(DefaultZIndexes));\n var uniqueNumbers = Array.from(new Set(allNumbers));\n return uniqueNumbers.sort((a2, b) => a2 - b);\n }, {\n memoizeOptions: {\n resultEqualityCheck: arrayContentsAreEqualCheck\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/zIndexSlice.js\n function ownKeys22(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread22(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys22(Object(t2), true).forEach(function(r3) {\n _defineProperty22(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys22(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty22(e, r2, t2) {\n return (r2 = _toPropertyKey22(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey22(t2) {\n var i = _toPrimitive22(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive22(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var seed = {};\n var initialState4 = {\n zIndexMap: Object.values(DefaultZIndexes).reduce((acc, current3) => _objectSpread22(_objectSpread22({}, acc), {}, {\n [current3]: {\n element: void 0,\n panoramaElement: void 0,\n consumers: 0\n }\n }), seed)\n };\n var defaultZIndexSet = new Set(Object.values(DefaultZIndexes));\n function isDefaultZIndex(zIndex) {\n return defaultZIndexSet.has(zIndex);\n }\n var zIndexSlice = createSlice({\n name: \"zIndex\",\n initialState: initialState4,\n reducers: {\n registerZIndexPortal: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n state2.zIndexMap[zIndex].consumers += 1;\n } else {\n state2.zIndexMap[zIndex] = {\n consumers: 1,\n element: void 0,\n panoramaElement: void 0\n };\n }\n },\n prepare: prepareAutoBatched()\n },\n unregisterZIndexPortal: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n state2.zIndexMap[zIndex].consumers -= 1;\n if (state2.zIndexMap[zIndex].consumers <= 0 && !isDefaultZIndex(zIndex)) {\n delete state2.zIndexMap[zIndex];\n }\n }\n },\n prepare: prepareAutoBatched()\n },\n registerZIndexPortalElement: {\n reducer: (state2, action) => {\n var {\n zIndex,\n element,\n isPanorama\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n if (isPanorama) {\n state2.zIndexMap[zIndex].panoramaElement = castDraft(element);\n } else {\n state2.zIndexMap[zIndex].element = castDraft(element);\n }\n } else {\n state2.zIndexMap[zIndex] = {\n consumers: 0,\n element: isPanorama ? void 0 : castDraft(element),\n panoramaElement: isPanorama ? castDraft(element) : void 0\n };\n }\n },\n prepare: prepareAutoBatched()\n },\n unregisterZIndexPortalElement: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n if (action.payload.isPanorama) {\n state2.zIndexMap[zIndex].panoramaElement = void 0;\n } else {\n state2.zIndexMap[zIndex].element = void 0;\n }\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n registerZIndexPortal,\n unregisterZIndexPortal,\n registerZIndexPortalElement,\n unregisterZIndexPortalElement\n } = zIndexSlice.actions;\n var zIndexReducer = zIndexSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexLayer.js\n function ZIndexLayer(_ref2) {\n var {\n zIndex,\n children\n } = _ref2;\n var isInChartContext = useIsInChartContext();\n var shouldRenderInPortal = isInChartContext && zIndex !== void 0 && zIndex !== 0;\n var isPanorama = useIsPanorama();\n var dispatch = useAppDispatch();\n (0, import_react28.useLayoutEffect)(() => {\n if (!shouldRenderInPortal) {\n return noop4;\n }\n dispatch(registerZIndexPortal({\n zIndex\n }));\n return () => {\n dispatch(unregisterZIndexPortal({\n zIndex\n }));\n };\n }, [dispatch, zIndex, shouldRenderInPortal]);\n var portalElement = useAppSelector((state2) => selectZIndexPortalElement(state2, zIndex, isPanorama));\n if (!shouldRenderInPortal) {\n return children;\n }\n if (!portalElement) {\n return null;\n }\n return /* @__PURE__ */ (0, import_react_dom4.createPortal)(children, portalElement);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cursor.js\n function _extends12() {\n return _extends12 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends12.apply(null, arguments);\n }\n function ownKeys23(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread23(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys23(Object(t2), true).forEach(function(r3) {\n _defineProperty23(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys23(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty23(e, r2, t2) {\n return (r2 = _toPropertyKey23(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey23(t2) {\n var i = _toPrimitive23(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive23(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function RenderCursor(_ref2) {\n var {\n cursor,\n cursorComp,\n cursorProps\n } = _ref2;\n if (/* @__PURE__ */ (0, import_react29.isValidElement)(cursor)) {\n return /* @__PURE__ */ (0, import_react29.cloneElement)(cursor, cursorProps);\n }\n return /* @__PURE__ */ (0, import_react29.createElement)(cursorComp, cursorProps);\n }\n function CursorInternal(props) {\n var _props$zIndex;\n var {\n coordinate,\n payload,\n index: index2,\n offset: offset4,\n tooltipAxisBandSize,\n layout,\n cursor,\n tooltipEventType,\n chartName\n } = props;\n var activeCoordinate = coordinate;\n var activePayload = payload;\n var activeTooltipIndex = index2;\n if (!cursor || !activeCoordinate || chartName !== \"ScatterChart\" && tooltipEventType !== \"axis\") {\n return null;\n }\n var restProps, cursorComp, preferredZIndex;\n if (chartName === \"ScatterChart\") {\n restProps = activeCoordinate;\n cursorComp = Cross;\n preferredZIndex = DefaultZIndexes.cursorLine;\n } else if (chartName === \"BarChart\") {\n restProps = getCursorRectangle(layout, activeCoordinate, offset4, tooltipAxisBandSize);\n cursorComp = Rectangle;\n preferredZIndex = DefaultZIndexes.cursorRectangle;\n } else if (layout === \"radial\" && isPolarCoordinate(activeCoordinate)) {\n var {\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n } = getRadialCursorPoints(activeCoordinate);\n restProps = {\n cx: cx2,\n cy,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n preferredZIndex = DefaultZIndexes.cursorLine;\n } else {\n restProps = {\n points: getCursorPoints(layout, activeCoordinate, offset4)\n };\n cursorComp = Curve;\n preferredZIndex = DefaultZIndexes.cursorLine;\n }\n var extraClassName = typeof cursor === \"object\" && \"className\" in cursor ? cursor.className : void 0;\n var cursorProps = _objectSpread23(_objectSpread23(_objectSpread23(_objectSpread23({\n stroke: \"#ccc\",\n pointerEvents: \"none\"\n }, offset4), restProps), svgPropertiesNoEventsFromUnknown(cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n className: clsx(\"recharts-tooltip-cursor\", extraClassName)\n });\n return /* @__PURE__ */ React76.createElement(ZIndexLayer, {\n zIndex: (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : preferredZIndex\n }, /* @__PURE__ */ React76.createElement(RenderCursor, {\n cursor,\n cursorComp,\n cursorProps\n }));\n }\n function Cursor(props) {\n var tooltipAxisBandSize = useTooltipAxisBandSize();\n var offset4 = useOffsetInternal();\n var layout = useChartLayout();\n var chartName = useChartName();\n if (tooltipAxisBandSize == null || offset4 == null || layout == null || chartName == null) {\n return null;\n }\n return /* @__PURE__ */ React76.createElement(CursorInternal, _extends12({}, props, {\n offset: offset4,\n layout,\n tooltipAxisBandSize,\n chartName\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/tooltipPortalContext.js\n var import_react30 = __toESM(require_react());\n var TooltipPortalContext = /* @__PURE__ */ (0, import_react30.createContext)(null);\n var useTooltipPortal = () => (0, import_react30.useContext)(TooltipPortalContext);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/useChartSynchronisation.js\n var import_react31 = __toESM(require_react());\n\n // ../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs\n var import_index2 = __toESM(require_eventemitter3(), 1);\n var eventemitter3_default = import_index2.default;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Events.js\n var eventCenter = new eventemitter3_default();\n var TOOLTIP_SYNC_EVENT = \"recharts.syncEvent.tooltip\";\n var BRUSH_SYNC_EVENT = \"recharts.syncEvent.brush\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/optionsSlice.js\n var arrayTooltipSearcher = (data, strIndex) => {\n if (!strIndex) return void 0;\n if (!Array.isArray(data)) return void 0;\n var numIndex = Number.parseInt(strIndex, 10);\n if (isNan(numIndex)) {\n return void 0;\n }\n return data[numIndex];\n };\n var initialState5 = {\n chartName: \"\",\n tooltipPayloadSearcher: () => void 0,\n eventEmitter: void 0,\n defaultTooltipEventType: \"axis\"\n };\n var optionsSlice = createSlice({\n name: \"options\",\n initialState: initialState5,\n reducers: {\n createEventEmitter: (state2) => {\n if (state2.eventEmitter == null) {\n state2.eventEmitter = /* @__PURE__ */ Symbol(\"rechartsEventEmitter\");\n }\n }\n }\n });\n var optionsReducer = optionsSlice.reducer;\n var {\n createEventEmitter\n } = optionsSlice.actions;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/syncSelectors.js\n function selectSynchronisedTooltipState(state2) {\n return state2.tooltip.syncInteraction;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/chartDataSlice.js\n var initialChartDataState = {\n chartData: void 0,\n computedData: void 0,\n dataStartIndex: 0,\n dataEndIndex: 0\n };\n var chartDataSlice = createSlice({\n name: \"chartData\",\n initialState: initialChartDataState,\n reducers: {\n setChartData(state2, action) {\n state2.chartData = castDraft(action.payload);\n if (action.payload == null) {\n state2.dataStartIndex = 0;\n state2.dataEndIndex = 0;\n return;\n }\n if (action.payload.length > 0 && state2.dataEndIndex !== action.payload.length - 1) {\n state2.dataEndIndex = action.payload.length - 1;\n }\n },\n setComputedData(state2, action) {\n state2.computedData = action.payload;\n },\n setDataStartEndIndexes(state2, action) {\n var {\n startIndex,\n endIndex\n } = action.payload;\n if (startIndex != null) {\n state2.dataStartIndex = startIndex;\n }\n if (endIndex != null) {\n state2.dataEndIndex = endIndex;\n }\n }\n }\n });\n var {\n setChartData,\n setDataStartEndIndexes,\n setComputedData\n } = chartDataSlice.actions;\n var chartDataReducer = chartDataSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/useChartSynchronisation.js\n var _excluded7 = [\"x\", \"y\"];\n function ownKeys24(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread24(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys24(Object(t2), true).forEach(function(r3) {\n _defineProperty24(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys24(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty24(e, r2, t2) {\n return (r2 = _toPropertyKey24(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey24(t2) {\n var i = _toPrimitive24(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive24(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties7(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose7(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose7(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function useTooltipSyncEventsListener() {\n var mySyncId = useAppSelector(selectSyncId);\n var myEventEmitter = useAppSelector(selectEventEmitter);\n var dispatch = useAppDispatch();\n var syncMethod = useAppSelector(selectSyncMethod);\n var tooltipTicks = useAppSelector(selectTooltipAxisTicks);\n var layout = useChartLayout();\n var viewBox = useViewBox();\n var className = useAppSelector((state2) => state2.rootProps.className);\n (0, import_react31.useEffect)(() => {\n if (mySyncId == null) {\n return noop4;\n }\n var listener2 = (incomingSyncId, action, emitter) => {\n if (myEventEmitter === emitter) {\n return;\n }\n if (mySyncId !== incomingSyncId) {\n return;\n }\n if (syncMethod === \"index\") {\n var _action$payload;\n if (viewBox && action !== null && action !== void 0 && (_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.coordinate && action.payload.sourceViewBox) {\n var _action$payload$coord = action.payload.coordinate, {\n x: _x,\n y: _y\n } = _action$payload$coord, otherCoordinateProps = _objectWithoutProperties7(_action$payload$coord, _excluded7);\n var {\n x: sourceX,\n y: sourceY,\n width: sourceWidth,\n height: sourceHeight\n } = action.payload.sourceViewBox;\n var scaledCoordinate = _objectSpread24(_objectSpread24({}, otherCoordinateProps), {}, {\n x: viewBox.x + (sourceWidth ? (_x - sourceX) / sourceWidth : 0) * viewBox.width,\n y: viewBox.y + (sourceHeight ? (_y - sourceY) / sourceHeight : 0) * viewBox.height\n });\n dispatch(_objectSpread24(_objectSpread24({}, action), {}, {\n payload: _objectSpread24(_objectSpread24({}, action.payload), {}, {\n coordinate: scaledCoordinate\n })\n }));\n } else {\n dispatch(action);\n }\n return;\n }\n if (tooltipTicks == null) {\n return;\n }\n var activeTick;\n if (typeof syncMethod === \"function\") {\n var syncMethodParam = {\n activeTooltipIndex: action.payload.index == null ? void 0 : Number(action.payload.index),\n isTooltipActive: action.payload.active,\n activeIndex: action.payload.index == null ? void 0 : Number(action.payload.index),\n activeLabel: action.payload.label,\n activeDataKey: action.payload.dataKey,\n activeCoordinate: action.payload.coordinate\n };\n var activeTooltipIndex = syncMethod(tooltipTicks, syncMethodParam);\n activeTick = tooltipTicks[activeTooltipIndex];\n } else if (syncMethod === \"value\") {\n activeTick = tooltipTicks.find((tick) => String(tick.value) === action.payload.label);\n }\n var {\n coordinate\n } = action.payload;\n if (activeTick == null || action.payload.active === false || coordinate == null || viewBox == null) {\n dispatch(setSyncInteraction({\n active: false,\n coordinate: void 0,\n dataKey: void 0,\n index: null,\n label: void 0,\n sourceViewBox: void 0,\n graphicalItemId: void 0\n }));\n return;\n }\n var {\n x: x2,\n y: y2\n } = coordinate;\n var validateChartX = Math.min(x2, viewBox.x + viewBox.width);\n var validateChartY = Math.min(y2, viewBox.y + viewBox.height);\n var activeCoordinate = {\n x: layout === \"horizontal\" ? activeTick.coordinate : validateChartX,\n y: layout === \"horizontal\" ? validateChartY : activeTick.coordinate\n };\n var syncAction = setSyncInteraction({\n active: action.payload.active,\n coordinate: activeCoordinate,\n dataKey: action.payload.dataKey,\n index: String(activeTick.index),\n label: action.payload.label,\n sourceViewBox: action.payload.sourceViewBox,\n graphicalItemId: action.payload.graphicalItemId\n });\n dispatch(syncAction);\n };\n eventCenter.on(TOOLTIP_SYNC_EVENT, listener2);\n return () => {\n eventCenter.off(TOOLTIP_SYNC_EVENT, listener2);\n };\n }, [className, dispatch, myEventEmitter, mySyncId, syncMethod, tooltipTicks, layout, viewBox]);\n }\n function useBrushSyncEventsListener() {\n var mySyncId = useAppSelector(selectSyncId);\n var myEventEmitter = useAppSelector(selectEventEmitter);\n var dispatch = useAppDispatch();\n (0, import_react31.useEffect)(() => {\n if (mySyncId == null) {\n return noop4;\n }\n var listener2 = (incomingSyncId, action, emitter) => {\n if (myEventEmitter === emitter) {\n return;\n }\n if (mySyncId === incomingSyncId) {\n dispatch(setDataStartEndIndexes(action));\n }\n };\n eventCenter.on(BRUSH_SYNC_EVENT, listener2);\n return () => {\n eventCenter.off(BRUSH_SYNC_EVENT, listener2);\n };\n }, [dispatch, myEventEmitter, mySyncId]);\n }\n function useSynchronisedEventsFromOtherCharts() {\n var dispatch = useAppDispatch();\n (0, import_react31.useEffect)(() => {\n dispatch(createEventEmitter());\n }, [dispatch]);\n useTooltipSyncEventsListener();\n useBrushSyncEventsListener();\n }\n function useTooltipChartSynchronisation(tooltipEventType, trigger, activeCoordinate, activeLabel, activeIndex, isTooltipActive) {\n var activeDataKey = useAppSelector((state2) => selectTooltipDataKey(state2, tooltipEventType, trigger));\n var activeGraphicalItemId = useAppSelector(selectActiveTooltipGraphicalItemId);\n var eventEmitterSymbol = useAppSelector(selectEventEmitter);\n var syncId = useAppSelector(selectSyncId);\n var syncMethod = useAppSelector(selectSyncMethod);\n var tooltipState = useAppSelector(selectSynchronisedTooltipState);\n var isReceivingSynchronisation = tooltipState === null || tooltipState === void 0 ? void 0 : tooltipState.active;\n var viewBox = useViewBox();\n (0, import_react31.useEffect)(() => {\n if (isReceivingSynchronisation) {\n return;\n }\n if (syncId == null) {\n return;\n }\n if (eventEmitterSymbol == null) {\n return;\n }\n var syncAction = setSyncInteraction({\n active: isTooltipActive,\n coordinate: activeCoordinate,\n dataKey: activeDataKey,\n index: activeIndex,\n label: typeof activeLabel === \"number\" ? String(activeLabel) : activeLabel,\n sourceViewBox: viewBox,\n graphicalItemId: activeGraphicalItemId\n });\n eventCenter.emit(TOOLTIP_SYNC_EVENT, syncId, syncAction, eventEmitterSymbol);\n }, [isReceivingSynchronisation, activeCoordinate, activeDataKey, activeGraphicalItemId, activeIndex, activeLabel, eventEmitterSymbol, syncId, syncMethod, isTooltipActive, viewBox]);\n }\n function useBrushChartSynchronisation() {\n var syncId = useAppSelector(selectSyncId);\n var eventEmitterSymbol = useAppSelector(selectEventEmitter);\n var brushStartIndex = useAppSelector((state2) => state2.chartData.dataStartIndex);\n var brushEndIndex = useAppSelector((state2) => state2.chartData.dataEndIndex);\n (0, import_react31.useEffect)(() => {\n if (syncId == null || brushStartIndex == null || brushEndIndex == null || eventEmitterSymbol == null) {\n return;\n }\n var syncAction = {\n startIndex: brushStartIndex,\n endIndex: brushEndIndex\n };\n eventCenter.emit(BRUSH_SYNC_EVENT, syncId, syncAction, eventEmitterSymbol);\n }, [brushEndIndex, brushStartIndex, eventEmitterSymbol, syncId]);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Tooltip.js\n function ownKeys25(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread25(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys25(Object(t2), true).forEach(function(r3) {\n _defineProperty25(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys25(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty25(e, r2, t2) {\n return (r2 = _toPropertyKey25(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey25(t2) {\n var i = _toPrimitive25(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive25(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultUniqBy2(entry) {\n return entry.dataKey;\n }\n function renderContent(content, props) {\n if (/* @__PURE__ */ React77.isValidElement(content)) {\n return /* @__PURE__ */ React77.cloneElement(content, props);\n }\n if (typeof content === \"function\") {\n return /* @__PURE__ */ React77.createElement(content, props);\n }\n return /* @__PURE__ */ React77.createElement(DefaultTooltipContent, props);\n }\n var emptyPayload = [];\n var defaultTooltipProps = {\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n animationDuration: 400,\n animationEasing: \"ease\",\n axisId: 0,\n contentStyle: {},\n cursor: true,\n filterNull: true,\n includeHidden: false,\n isAnimationActive: \"auto\",\n itemSorter: \"name\",\n itemStyle: {},\n labelStyle: {},\n offset: 10,\n reverseDirection: {\n x: false,\n y: false\n },\n separator: \" : \",\n trigger: \"hover\",\n useTranslate3d: false,\n wrapperStyle: {}\n };\n function Tooltip3(outsideProps) {\n var _useAppSelector, _ref2;\n var props = resolveDefaultProps(outsideProps, defaultTooltipProps);\n var {\n active: activeFromProps,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n content,\n filterNull,\n isAnimationActive,\n offset: offset4,\n payloadUniqBy,\n position: position2,\n reverseDirection,\n useTranslate3d,\n wrapperStyle,\n cursor,\n shared,\n trigger,\n defaultIndex,\n portal: portalFromProps,\n axisId\n } = props;\n var dispatch = useAppDispatch();\n var defaultIndexAsString = typeof defaultIndex === \"number\" ? String(defaultIndex) : defaultIndex;\n (0, import_react32.useEffect)(() => {\n dispatch(setTooltipSettingsState({\n shared,\n trigger,\n axisId,\n active: activeFromProps,\n defaultIndex: defaultIndexAsString\n }));\n }, [dispatch, shared, trigger, axisId, activeFromProps, defaultIndexAsString]);\n var viewBox = useViewBox();\n var accessibilityLayer = useAccessibilityLayer();\n var tooltipEventType = useTooltipEventType(shared);\n var {\n activeIndex,\n isActive\n } = (_useAppSelector = useAppSelector((state2) => selectIsTooltipActive2(state2, tooltipEventType, trigger, defaultIndexAsString))) !== null && _useAppSelector !== void 0 ? _useAppSelector : {};\n var payloadFromRedux = useAppSelector((state2) => selectTooltipPayload(state2, tooltipEventType, trigger, defaultIndexAsString));\n var labelFromRedux = useAppSelector((state2) => selectActiveLabel2(state2, tooltipEventType, trigger, defaultIndexAsString));\n var coordinate = useAppSelector((state2) => selectActiveCoordinate(state2, tooltipEventType, trigger, defaultIndexAsString));\n var payload = payloadFromRedux;\n var tooltipPortalFromContext = useTooltipPortal();\n var finalIsActive = (_ref2 = activeFromProps !== null && activeFromProps !== void 0 ? activeFromProps : isActive) !== null && _ref2 !== void 0 ? _ref2 : false;\n var [lastBoundingBox, updateBoundingBox] = useElementOffset([payload, finalIsActive]);\n var finalLabel = tooltipEventType === \"axis\" ? labelFromRedux : void 0;\n useTooltipChartSynchronisation(tooltipEventType, trigger, coordinate, finalLabel, activeIndex, finalIsActive);\n var tooltipPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : tooltipPortalFromContext;\n if (tooltipPortal == null || viewBox == null || tooltipEventType == null) {\n return null;\n }\n var finalPayload = payload !== null && payload !== void 0 ? payload : emptyPayload;\n if (!finalIsActive) {\n finalPayload = emptyPayload;\n }\n if (filterNull && finalPayload.length) {\n finalPayload = getUniqPayload(finalPayload.filter((entry) => entry.value != null && (entry.hide !== true || props.includeHidden)), payloadUniqBy, defaultUniqBy2);\n }\n var hasPayload = finalPayload.length > 0;\n var tooltipContentProps = _objectSpread25(_objectSpread25({}, props), {}, {\n payload: finalPayload,\n label: finalLabel,\n active: finalIsActive,\n activeIndex,\n coordinate,\n accessibilityLayer\n });\n var tooltipElement = /* @__PURE__ */ React77.createElement(TooltipBoundingBox, {\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n isAnimationActive,\n active: finalIsActive,\n coordinate,\n hasPayload,\n offset: offset4,\n position: position2,\n reverseDirection,\n useTranslate3d,\n viewBox,\n wrapperStyle,\n lastBoundingBox,\n innerRef: updateBoundingBox,\n hasPortalFromProps: Boolean(portalFromProps)\n }, renderContent(content, tooltipContentProps));\n return /* @__PURE__ */ React77.createElement(React77.Fragment, null, /* @__PURE__ */ (0, import_react_dom5.createPortal)(tooltipElement, tooltipPortal), finalIsActive && /* @__PURE__ */ React77.createElement(Cursor, {\n cursor,\n tooltipEventType,\n coordinate,\n payload: finalPayload,\n index: activeIndex\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cell.js\n var Cell = (_props) => null;\n Cell.displayName = \"Cell\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Text.js\n var React78 = __toESM(require_react());\n var import_react33 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/LRUCache.js\n function _defineProperty26(e, r2, t2) {\n return (r2 = _toPropertyKey26(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey26(t2) {\n var i = _toPrimitive26(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive26(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var LRUCache = class {\n constructor(maxSize) {\n _defineProperty26(this, \"cache\", /* @__PURE__ */ new Map());\n this.maxSize = maxSize;\n }\n get(key) {\n var value = this.cache.get(key);\n if (value !== void 0) {\n this.cache.delete(key);\n this.cache.set(key, value);\n }\n return value;\n }\n set(key, value) {\n if (this.cache.has(key)) {\n this.cache.delete(key);\n } else if (this.cache.size >= this.maxSize) {\n var firstKey = this.cache.keys().next().value;\n if (firstKey != null) {\n this.cache.delete(firstKey);\n }\n }\n this.cache.set(key, value);\n }\n clear() {\n this.cache.clear();\n }\n size() {\n return this.cache.size;\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DOMUtils.js\n function ownKeys26(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread26(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys26(Object(t2), true).forEach(function(r3) {\n _defineProperty27(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys26(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty27(e, r2, t2) {\n return (r2 = _toPropertyKey27(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey27(t2) {\n var i = _toPrimitive27(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive27(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultConfig = {\n cacheSize: 2e3,\n enableCache: true\n };\n var currentConfig = _objectSpread26({}, defaultConfig);\n var stringCache = new LRUCache(currentConfig.cacheSize);\n var SPAN_STYLE = {\n position: \"absolute\",\n top: \"-20000px\",\n left: 0,\n padding: 0,\n margin: 0,\n border: \"none\",\n whiteSpace: \"pre\"\n };\n var MEASUREMENT_SPAN_ID = \"recharts_measurement_span\";\n function createCacheKey(text, style) {\n var fontSize = style.fontSize || \"\";\n var fontFamily = style.fontFamily || \"\";\n var fontWeight = style.fontWeight || \"\";\n var fontStyle = style.fontStyle || \"\";\n var letterSpacing = style.letterSpacing || \"\";\n var textTransform = style.textTransform || \"\";\n return \"\".concat(text, \"|\").concat(fontSize, \"|\").concat(fontFamily, \"|\").concat(fontWeight, \"|\").concat(fontStyle, \"|\").concat(letterSpacing, \"|\").concat(textTransform);\n }\n var measureTextWithDOM = (text, style) => {\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n if (!measurementSpan) {\n measurementSpan = document.createElement(\"span\");\n measurementSpan.setAttribute(\"id\", MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(measurementSpan);\n }\n Object.assign(measurementSpan.style, SPAN_STYLE, style);\n measurementSpan.textContent = \"\".concat(text);\n var rect = measurementSpan.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height\n };\n } catch (_unused) {\n return {\n width: 0,\n height: 0\n };\n }\n };\n var getStringSize = function getStringSize2(text) {\n var style = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (text === void 0 || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n if (!currentConfig.enableCache) {\n return measureTextWithDOM(text, style);\n }\n var cacheKey = createCacheKey(text, style);\n var cachedResult = stringCache.get(cacheKey);\n if (cachedResult) {\n return cachedResult;\n }\n var result = measureTextWithDOM(text, style);\n stringCache.set(cacheKey, result);\n return result;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ReduceCSSCalc.js\n var _DecimalCSS;\n function _defineProperty28(e, r2, t2) {\n return (r2 = _toPropertyKey28(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey28(t2) {\n var i = _toPrimitive28(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive28(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\n var ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\n var CSS_LENGTH_UNIT_REGEX = /^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/;\n var NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\n var CONVERSION_RATES = {\n cm: 96 / 2.54,\n mm: 96 / 25.4,\n pt: 96 / 72,\n pc: 96 / 6,\n in: 96,\n Q: 96 / (2.54 * 40),\n px: 1\n };\n var FIXED_CSS_LENGTH_UNITS = [\"cm\", \"mm\", \"pt\", \"pc\", \"in\", \"Q\", \"px\"];\n function isSupportedUnit(unit2) {\n return FIXED_CSS_LENGTH_UNITS.includes(unit2);\n }\n var STR_NAN = \"NaN\";\n function convertToPx(value, unit2) {\n return value * CONVERSION_RATES[unit2];\n }\n var DecimalCSS = class _DecimalCSS2 {\n static parse(str) {\n var _NUM_SPLIT_REGEX$exec;\n var [, numStr, unit2] = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [];\n if (numStr == null) {\n return _DecimalCSS2.NaN;\n }\n return new _DecimalCSS2(parseFloat(numStr), unit2 !== null && unit2 !== void 0 ? unit2 : \"\");\n }\n constructor(num, unit2) {\n this.num = num;\n this.unit = unit2;\n this.num = num;\n this.unit = unit2;\n if (isNan(num)) {\n this.unit = \"\";\n }\n if (unit2 !== \"\" && !CSS_LENGTH_UNIT_REGEX.test(unit2)) {\n this.num = NaN;\n this.unit = \"\";\n }\n if (isSupportedUnit(unit2)) {\n this.num = convertToPx(num, unit2);\n this.unit = \"px\";\n }\n }\n add(other) {\n if (this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num + other.num, this.unit);\n }\n subtract(other) {\n if (this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num - other.num, this.unit);\n }\n multiply(other) {\n if (this.unit !== \"\" && other.unit !== \"\" && this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num * other.num, this.unit || other.unit);\n }\n divide(other) {\n if (this.unit !== \"\" && other.unit !== \"\" && this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num / other.num, this.unit || other.unit);\n }\n toString() {\n return \"\".concat(this.num).concat(this.unit);\n }\n isNaN() {\n return isNan(this.num);\n }\n };\n _DecimalCSS = DecimalCSS;\n _defineProperty28(DecimalCSS, \"NaN\", new _DecimalCSS(NaN, \"\"));\n function calculateArithmetic(expr) {\n if (expr == null || expr.includes(STR_NAN)) {\n return STR_NAN;\n }\n var newExpr = expr;\n while (newExpr.includes(\"*\") || newExpr.includes(\"/\")) {\n var _MULTIPLY_OR_DIVIDE_R;\n var [, leftOperand, operator, rightOperand] = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [];\n var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : \"\");\n var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : \"\");\n var result = operator === \"*\" ? lTs.multiply(rTs) : lTs.divide(rTs);\n if (result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n }\n while (newExpr.includes(\"+\") || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n var _ADD_OR_SUBTRACT_REGE;\n var [, _leftOperand, _operator, _rightOperand] = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [];\n var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : \"\");\n var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : \"\");\n var _result = _operator === \"+\" ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n if (_result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n }\n return newExpr;\n }\n var PARENTHESES_REGEX = /\\(([^()]*)\\)/;\n function calculateParentheses(expr) {\n var newExpr = expr;\n var match2;\n while ((match2 = PARENTHESES_REGEX.exec(newExpr)) != null) {\n var [, parentheticalExpression] = match2;\n newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n }\n return newExpr;\n }\n function evaluateExpression(expression) {\n var newExpr = expression.replace(/\\s+/g, \"\");\n newExpr = calculateParentheses(newExpr);\n newExpr = calculateArithmetic(newExpr);\n return newExpr;\n }\n function safeEvaluateExpression(expression) {\n try {\n return evaluateExpression(expression);\n } catch (_unused) {\n return STR_NAN;\n }\n }\n function reduceCSSCalc(expression) {\n var result = safeEvaluateExpression(expression.slice(5, -1));\n if (result === STR_NAN) {\n return \"\";\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Text.js\n var _excluded8 = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"fill\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\"];\n var _excluded23 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\n function _extends13() {\n return _extends13 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends13.apply(null, arguments);\n }\n function _objectWithoutProperties8(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose8(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose8(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n var calculateWordWidths = (_ref2) => {\n var {\n children,\n breakAll,\n style\n } = _ref2;\n try {\n var words = [];\n if (!isNullish(children)) {\n if (breakAll) {\n words = children.toString().split(\"\");\n } else {\n words = children.toString().split(BREAKING_SPACES);\n }\n }\n var wordsWithComputedWidth = words.map((word) => ({\n word,\n width: getStringSize(word, style).width\n }));\n var spaceWidth = breakAll ? 0 : getStringSize(\"\\xA0\", style).width;\n return {\n wordsWithComputedWidth,\n spaceWidth\n };\n } catch (_unused) {\n return null;\n }\n };\n function isValidTextAnchor(value) {\n return value === \"start\" || value === \"middle\" || value === \"end\" || value === \"inherit\";\n }\n function isRenderableText(val) {\n return isNullish(val) || typeof val === \"string\" || typeof val === \"number\" || typeof val === \"boolean\";\n }\n var calculate = (words, lineWidth, spaceWidth, scaleToFit) => words.reduce((result, _ref2) => {\n var {\n word,\n width\n } = _ref2;\n var currentLine = result[result.length - 1];\n if (currentLine && width != null && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n var newLine = {\n words: [word],\n width\n };\n result.push(newLine);\n }\n return result;\n }, []);\n var findLongestLine = (words) => words.reduce((a2, b) => a2.width > b.width ? a2 : b);\n var suffix = \"\\u2026\";\n var checkOverflow = (text, index2, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit) => {\n var tempText = text.slice(0, index2);\n var words = calculateWordWidths({\n breakAll,\n style,\n children: tempText + suffix\n });\n if (!words) {\n return [false, []];\n }\n var result = calculate(words.wordsWithComputedWidth, lineWidth, spaceWidth, scaleToFit);\n var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n return [doesOverflow, result];\n };\n var calculateWordsByLines = (_ref3, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) => {\n var {\n maxLines,\n children,\n style,\n breakAll\n } = _ref3;\n var shouldLimitLines = isNumber3(maxLines);\n var text = String(children);\n var originalResult = calculate(initialWordsWithComputedWith, lineWidth, spaceWidth, scaleToFit);\n if (!shouldLimitLines || scaleToFit) {\n return originalResult;\n }\n var overflows = originalResult.length > maxLines || findLongestLine(originalResult).width > Number(lineWidth);\n if (!overflows) {\n return originalResult;\n }\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n var [doesPrevOverflow, result] = checkOverflow(text, prev, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit);\n var [doesMiddleOverflow] = checkOverflow(text, middle, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit);\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n iterations++;\n }\n return trimmedResult || originalResult;\n };\n var getWordsWithoutCalculate = (children) => {\n var words = !isNullish(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words,\n width: void 0\n }];\n };\n var getWordsByLines = (_ref4) => {\n var {\n width,\n scaleToFit,\n children,\n style,\n breakAll,\n maxLines\n } = _ref4;\n if ((width || scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n var wordWidths = calculateWordWidths({\n breakAll,\n children,\n style\n });\n if (wordWidths) {\n var {\n wordsWithComputedWidth: wcw,\n spaceWidth: sw\n } = wordWidths;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(children);\n }\n return calculateWordsByLines({\n breakAll,\n children,\n maxLines,\n style\n }, wordsWithComputedWidth, spaceWidth, width, Boolean(scaleToFit));\n }\n return getWordsWithoutCalculate(children);\n };\n var DEFAULT_FILL = \"#808080\";\n var textDefaultProps = {\n angle: 0,\n breakAll: false,\n // Magic number from d3\n capHeight: \"0.71em\",\n fill: DEFAULT_FILL,\n lineHeight: \"1em\",\n scaleToFit: false,\n textAnchor: \"start\",\n // Maintain compat with existing charts / default SVG behavior\n verticalAnchor: \"end\",\n x: 0,\n y: 0\n };\n var Text = /* @__PURE__ */ (0, import_react33.forwardRef)((outsideProps, ref) => {\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, textDefaultProps), {\n x: propsX,\n y: propsY,\n lineHeight,\n capHeight,\n fill,\n scaleToFit,\n textAnchor,\n verticalAnchor\n } = _resolveDefaultProps, props = _objectWithoutProperties8(_resolveDefaultProps, _excluded8);\n var wordsByLines = (0, import_react33.useMemo)(() => {\n return getWordsByLines({\n breakAll: props.breakAll,\n children: props.children,\n maxLines: props.maxLines,\n scaleToFit,\n style: props.style,\n width: props.width\n });\n }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n var {\n dx,\n dy,\n angle,\n className,\n breakAll\n } = props, textProps = _objectWithoutProperties8(props, _excluded23);\n if (!isNumOrStr(propsX) || !isNumOrStr(propsY) || wordsByLines.length === 0) {\n return null;\n }\n var x2 = Number(propsX) + (isNumber3(dx) ? dx : 0);\n var y2 = Number(propsY) + (isNumber3(dy) ? dy : 0);\n if (!isWellBehavedNumber(x2) || !isWellBehavedNumber(y2)) {\n return null;\n }\n var startDy;\n switch (verticalAnchor) {\n case \"start\":\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n case \"middle\":\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n var transforms = [];\n var firstLine = wordsByLines[0];\n if (scaleToFit && firstLine != null) {\n var lineWidth = firstLine.width;\n var {\n width\n } = props;\n transforms.push(\"scale(\".concat(isNumber3(width) && isNumber3(lineWidth) ? width / lineWidth : 1, \")\"));\n }\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x2, \", \").concat(y2, \")\"));\n }\n if (transforms.length) {\n textProps.transform = transforms.join(\" \");\n }\n return /* @__PURE__ */ React78.createElement(\"text\", _extends13({}, svgPropertiesAndEvents(textProps), {\n ref,\n x: x2,\n y: y2,\n className: clsx(\"recharts-text\", className),\n textAnchor,\n fill: fill.includes(\"url\") ? DEFAULT_FILL : fill\n }), wordsByLines.map((line, index2) => {\n var words = line.words.join(breakAll ? \"\" : \" \");\n return (\n // duplicate words will cause duplicate keys which is why we add the array index here\n /* @__PURE__ */ React78.createElement(\"tspan\", {\n x: x2,\n dy: index2 === 0 ? startDy : lineHeight,\n key: \"\".concat(words, \"-\").concat(index2)\n }, words)\n );\n }));\n });\n Text.displayName = \"Text\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Label.js\n var React79 = __toESM(require_react());\n var import_react34 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getCartesianPosition.js\n function ownKeys27(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread27(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys27(Object(t2), true).forEach(function(r3) {\n _defineProperty29(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys27(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty29(e, r2, t2) {\n return (r2 = _toPropertyKey29(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey29(t2) {\n var i = _toPrimitive29(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive29(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getCartesianPosition = (options2) => {\n var {\n viewBox,\n position: position2,\n offset: offset4 = 0,\n parentViewBox: parentViewBoxFromOptions,\n clamp: clamp3\n } = options2;\n var {\n x: x2,\n y: y2,\n height,\n upperWidth,\n lowerWidth\n } = cartesianViewBoxToTrapezoid(viewBox);\n var upperX = x2;\n var lowerX = x2 + (upperWidth - lowerWidth) / 2;\n var middleX = (upperX + lowerX) / 2;\n var midHeightWidth = (upperWidth + lowerWidth) / 2;\n var centerX = upperX + upperWidth / 2;\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset4;\n var verticalEnd = verticalSign > 0 ? \"end\" : \"start\";\n var verticalStart = verticalSign > 0 ? \"start\" : \"end\";\n var horizontalSign = upperWidth >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset4;\n var horizontalEnd = horizontalSign > 0 ? \"end\" : \"start\";\n var horizontalStart = horizontalSign > 0 ? \"start\" : \"end\";\n var parentViewBox = parentViewBoxFromOptions;\n if (position2 === \"top\") {\n var result = {\n x: upperX + upperWidth / 2,\n y: y2 - verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalEnd\n };\n if (clamp3 && parentViewBox) {\n result.height = Math.max(y2 - parentViewBox.y, 0);\n result.width = upperWidth;\n }\n return result;\n }\n if (position2 === \"bottom\") {\n var _result = {\n x: lowerX + lowerWidth / 2,\n y: y2 + height + verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalStart\n };\n if (clamp3 && parentViewBox) {\n _result.height = Math.max(parentViewBox.y + parentViewBox.height - (y2 + height), 0);\n _result.width = lowerWidth;\n }\n return _result;\n }\n if (position2 === \"left\") {\n var _result2 = {\n x: middleX - horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: \"middle\"\n };\n if (clamp3 && parentViewBox) {\n _result2.width = Math.max(_result2.x - parentViewBox.x, 0);\n _result2.height = height;\n }\n return _result2;\n }\n if (position2 === \"right\") {\n var _result3 = {\n x: middleX + midHeightWidth + horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalStart,\n verticalAnchor: \"middle\"\n };\n if (clamp3 && parentViewBox) {\n _result3.width = Math.max(parentViewBox.x + parentViewBox.width - _result3.x, 0);\n _result3.height = height;\n }\n return _result3;\n }\n var sizeAttrs = clamp3 && parentViewBox ? {\n width: midHeightWidth,\n height\n } : {};\n if (position2 === \"insideLeft\") {\n return _objectSpread27({\n x: middleX + horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalStart,\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n }\n if (position2 === \"insideRight\") {\n return _objectSpread27({\n x: middleX + midHeightWidth - horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n }\n if (position2 === \"insideTop\") {\n return _objectSpread27({\n x: upperX + upperWidth / 2,\n y: y2 + verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideBottom\") {\n return _objectSpread27({\n x: lowerX + lowerWidth / 2,\n y: y2 + height - verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position2 === \"insideTopLeft\") {\n return _objectSpread27({\n x: upperX + horizontalOffset,\n y: y2 + verticalOffset,\n horizontalAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideTopRight\") {\n return _objectSpread27({\n x: upperX + upperWidth - horizontalOffset,\n y: y2 + verticalOffset,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideBottomLeft\") {\n return _objectSpread27({\n x: lowerX + horizontalOffset,\n y: y2 + height - verticalOffset,\n horizontalAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position2 === \"insideBottomRight\") {\n return _objectSpread27({\n x: lowerX + lowerWidth - horizontalOffset,\n y: y2 + height - verticalOffset,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (!!position2 && typeof position2 === \"object\" && (isNumber3(position2.x) || isPercent2(position2.x)) && (isNumber3(position2.y) || isPercent2(position2.y))) {\n return _objectSpread27({\n x: x2 + getPercentValue(position2.x, midHeightWidth),\n y: y2 + getPercentValue(position2.y, height),\n horizontalAnchor: \"end\",\n verticalAnchor: \"end\"\n }, sizeAttrs);\n }\n return _objectSpread27({\n x: centerX,\n y: y2 + height / 2,\n horizontalAnchor: \"middle\",\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Label.js\n var _excluded9 = [\"labelRef\"];\n var _excluded24 = [\"content\"];\n function _objectWithoutProperties9(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose9(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose9(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys28(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread28(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys28(Object(t2), true).forEach(function(r3) {\n _defineProperty30(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys28(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty30(e, r2, t2) {\n return (r2 = _toPropertyKey30(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey30(t2) {\n var i = _toPrimitive30(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive30(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends14() {\n return _extends14 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends14.apply(null, arguments);\n }\n var CartesianLabelContext = /* @__PURE__ */ (0, import_react34.createContext)(null);\n var CartesianLabelContextProvider = (_ref2) => {\n var {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width,\n height,\n children\n } = _ref2;\n var viewBox = (0, import_react34.useMemo)(() => ({\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width,\n height\n }), [x2, y2, upperWidth, lowerWidth, width, height]);\n return /* @__PURE__ */ React79.createElement(CartesianLabelContext.Provider, {\n value: viewBox\n }, children);\n };\n var useCartesianLabelContext = () => {\n var labelChildContext = (0, import_react34.useContext)(CartesianLabelContext);\n var chartContext = useViewBox();\n return labelChildContext || (chartContext ? cartesianViewBoxToTrapezoid(chartContext) : void 0);\n };\n var PolarLabelContext = /* @__PURE__ */ (0, import_react34.createContext)(null);\n var PolarLabelContextProvider = (_ref2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise,\n children\n } = _ref2;\n var viewBox = (0, import_react34.useMemo)(() => ({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise\n }), [cx2, cy, innerRadius, outerRadius, startAngle, endAngle, clockWise]);\n return /* @__PURE__ */ React79.createElement(PolarLabelContext.Provider, {\n value: viewBox\n }, children);\n };\n var usePolarLabelContext = () => {\n var labelChildContext = (0, import_react34.useContext)(PolarLabelContext);\n var chartContext = useAppSelector(selectPolarViewBox);\n return labelChildContext || chartContext;\n };\n var getLabel2 = (props) => {\n var {\n value,\n formatter\n } = props;\n var label = isNullish(props.children) ? value : props.children;\n if (typeof formatter === \"function\") {\n return formatter(label);\n }\n return label;\n };\n var isLabelContentAFunction = (content) => {\n return content != null && typeof content === \"function\";\n };\n var getDeltaAngle2 = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign2 * deltaAngle;\n };\n var renderRadialLabel = (labelProps, position2, label, attrs, viewBox) => {\n var {\n offset: offset4,\n className\n } = labelProps;\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise\n } = viewBox;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle2(startAngle, endAngle);\n var sign2 = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n switch (position2) {\n case \"insideStart\":\n labelAngle = startAngle + sign2 * offset4;\n direction = clockWise;\n break;\n case \"insideEnd\":\n labelAngle = endAngle - sign2 * offset4;\n direction = !clockWise;\n break;\n case \"end\":\n labelAngle = endAngle + sign2 * offset4;\n direction = clockWise;\n break;\n default:\n throw new Error(\"Unsupported position \".concat(position2));\n }\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx2, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx2, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path2 = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = isNullish(labelProps.id) ? uniqueId(\"recharts-radial-line-\") : labelProps.id;\n return /* @__PURE__ */ React79.createElement(\"text\", _extends14({}, attrs, {\n dominantBaseline: \"central\",\n className: clsx(\"recharts-radial-bar-label\", className)\n }), /* @__PURE__ */ React79.createElement(\"defs\", null, /* @__PURE__ */ React79.createElement(\"path\", {\n id,\n d: path2\n })), /* @__PURE__ */ React79.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n };\n var getAttrsOfPolarLabel = (viewBox, offset4, position2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n } = viewBox;\n var midAngle = (startAngle + endAngle) / 2;\n if (position2 === \"outside\") {\n var {\n x: _x,\n y: _y\n } = polarToCartesian(cx2, cy, outerRadius + offset4, midAngle);\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx2 ? \"start\" : \"end\",\n verticalAnchor: \"middle\"\n };\n }\n if (position2 === \"center\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"middle\"\n };\n }\n if (position2 === \"centerTop\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"start\"\n };\n }\n if (position2 === \"centerBottom\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"end\"\n };\n }\n var r2 = (innerRadius + outerRadius) / 2;\n var {\n x: x2,\n y: y2\n } = polarToCartesian(cx2, cy, r2, midAngle);\n return {\n x: x2,\n y: y2,\n textAnchor: \"middle\",\n verticalAnchor: \"middle\"\n };\n };\n var isPolar = (viewBox) => viewBox != null && \"cx\" in viewBox && isNumber3(viewBox.cx);\n var defaultLabelProps = {\n angle: 0,\n offset: 5,\n zIndex: DefaultZIndexes.label,\n position: \"middle\",\n textBreakAll: false\n };\n function polarViewBoxToTrapezoid(viewBox) {\n if (!isPolar(viewBox)) {\n return viewBox;\n }\n var {\n cx: cx2,\n cy,\n outerRadius\n } = viewBox;\n var diameter = outerRadius * 2;\n return {\n x: cx2 - outerRadius,\n y: cy - outerRadius,\n width: diameter,\n upperWidth: diameter,\n lowerWidth: diameter,\n height: diameter\n };\n }\n function Label6(outerProps) {\n var props = resolveDefaultProps(outerProps, defaultLabelProps);\n var {\n viewBox: viewBoxFromProps,\n parentViewBox,\n position: position2,\n value,\n children,\n content,\n className = \"\",\n textBreakAll,\n labelRef\n } = props;\n var polarViewBox = usePolarLabelContext();\n var cartesianViewBox = useCartesianLabelContext();\n var resolvedViewBox = position2 === \"center\" ? cartesianViewBox : polarViewBox !== null && polarViewBox !== void 0 ? polarViewBox : cartesianViewBox;\n var viewBox, label, positionAttrs;\n if (viewBoxFromProps == null) {\n viewBox = resolvedViewBox;\n } else if (isPolar(viewBoxFromProps)) {\n viewBox = viewBoxFromProps;\n } else {\n viewBox = cartesianViewBoxToTrapezoid(viewBoxFromProps);\n }\n var cartesianBox = polarViewBoxToTrapezoid(viewBox);\n if (!viewBox || isNullish(value) && isNullish(children) && !/* @__PURE__ */ (0, import_react34.isValidElement)(content) && typeof content !== \"function\") {\n return null;\n }\n var propsWithViewBox = _objectSpread28(_objectSpread28({}, props), {}, {\n viewBox\n });\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(content)) {\n var {\n labelRef: _\n } = propsWithViewBox, propsWithoutLabelRef = _objectWithoutProperties9(propsWithViewBox, _excluded9);\n return /* @__PURE__ */ (0, import_react34.cloneElement)(content, propsWithoutLabelRef);\n }\n if (typeof content === \"function\") {\n var {\n content: _2\n } = propsWithViewBox, propsForContent = _objectWithoutProperties9(propsWithViewBox, _excluded24);\n label = /* @__PURE__ */ (0, import_react34.createElement)(content, propsForContent);\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(label)) {\n return label;\n }\n } else {\n label = getLabel2(props);\n }\n var attrs = svgPropertiesAndEvents(props);\n if (isPolar(viewBox)) {\n if (position2 === \"insideStart\" || position2 === \"insideEnd\" || position2 === \"end\") {\n return renderRadialLabel(props, position2, label, attrs, viewBox);\n }\n positionAttrs = getAttrsOfPolarLabel(viewBox, props.offset, props.position);\n } else {\n if (!cartesianBox) {\n return null;\n }\n var cartesianResult = getCartesianPosition({\n viewBox: cartesianBox,\n position: position2,\n offset: props.offset,\n parentViewBox: isPolar(parentViewBox) ? void 0 : parentViewBox,\n clamp: true\n });\n positionAttrs = _objectSpread28(_objectSpread28({\n x: cartesianResult.x,\n y: cartesianResult.y,\n textAnchor: cartesianResult.horizontalAnchor,\n verticalAnchor: cartesianResult.verticalAnchor\n }, cartesianResult.width !== void 0 ? {\n width: cartesianResult.width\n } : {}), cartesianResult.height !== void 0 ? {\n height: cartesianResult.height\n } : {});\n }\n return /* @__PURE__ */ React79.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React79.createElement(Text, _extends14({\n ref: labelRef,\n className: clsx(\"recharts-label\", className)\n }, attrs, positionAttrs, {\n /*\n * textAnchor is decided by default based on the `position`\n * but we allow overriding via props for precise control.\n */\n textAnchor: isValidTextAnchor(attrs.textAnchor) ? attrs.textAnchor : positionAttrs.textAnchor,\n breakAll: textBreakAll\n }), label));\n }\n Label6.displayName = \"Label\";\n var parseLabel = (label, viewBox, labelRef) => {\n if (!label) {\n return null;\n }\n var commonProps = {\n viewBox,\n labelRef\n };\n if (label === true) {\n return /* @__PURE__ */ React79.createElement(Label6, _extends14({\n key: \"label-implicit\"\n }, commonProps));\n }\n if (isNumOrStr(label)) {\n return /* @__PURE__ */ React79.createElement(Label6, _extends14({\n key: \"label-implicit\",\n value: label\n }, commonProps));\n }\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(label)) {\n if (label.type === Label6) {\n return /* @__PURE__ */ (0, import_react34.cloneElement)(label, _objectSpread28({\n key: \"label-implicit\"\n }, commonProps));\n }\n return /* @__PURE__ */ React79.createElement(Label6, _extends14({\n key: \"label-implicit\",\n content: label\n }, commonProps));\n }\n if (isLabelContentAFunction(label)) {\n return /* @__PURE__ */ React79.createElement(Label6, _extends14({\n key: \"label-implicit\",\n content: label\n }, commonProps));\n }\n if (label && typeof label === \"object\") {\n return /* @__PURE__ */ React79.createElement(Label6, _extends14({}, label, {\n key: \"label-implicit\"\n }, commonProps));\n }\n return null;\n };\n function CartesianLabelFromLabelProp(_ref3) {\n var {\n label,\n labelRef\n } = _ref3;\n var viewBox = useCartesianLabelContext();\n return parseLabel(label, viewBox, labelRef) || null;\n }\n function PolarLabelFromLabelProp(_ref4) {\n var {\n label\n } = _ref4;\n var viewBox = usePolarLabelContext();\n return parseLabel(label, viewBox) || null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/LabelList.js\n var React80 = __toESM(require_react());\n var import_react35 = __toESM(require_react());\n var _excluded10 = [\"valueAccessor\"];\n var _excluded25 = [\"dataKey\", \"clockWise\", \"id\", \"textBreakAll\", \"zIndex\"];\n function _extends15() {\n return _extends15 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends15.apply(null, arguments);\n }\n function _objectWithoutProperties10(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose10(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose10(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var defaultAccessor = (entry) => {\n var val = Array.isArray(entry.value) ? entry.value[entry.value.length - 1] : entry.value;\n if (isRenderableText(val)) {\n return val;\n }\n return void 0;\n };\n var CartesianLabelListContext = /* @__PURE__ */ (0, import_react35.createContext)(void 0);\n var CartesianLabelListContextProvider = CartesianLabelListContext.Provider;\n var PolarLabelListContext = /* @__PURE__ */ (0, import_react35.createContext)(void 0);\n var PolarLabelListContextProvider = PolarLabelListContext.Provider;\n function useCartesianLabelListContext() {\n return (0, import_react35.useContext)(CartesianLabelListContext);\n }\n function usePolarLabelListContext() {\n return (0, import_react35.useContext)(PolarLabelListContext);\n }\n function LabelList(_ref2) {\n var {\n valueAccessor = defaultAccessor\n } = _ref2, restProps = _objectWithoutProperties10(_ref2, _excluded10);\n var {\n dataKey,\n clockWise,\n id,\n textBreakAll,\n zIndex\n } = restProps, others = _objectWithoutProperties10(restProps, _excluded25);\n var cartesianData = useCartesianLabelListContext();\n var polarData = usePolarLabelListContext();\n var data = cartesianData || polarData;\n if (!data || !data.length) {\n return null;\n }\n return /* @__PURE__ */ React80.createElement(ZIndexLayer, {\n zIndex: zIndex !== null && zIndex !== void 0 ? zIndex : DefaultZIndexes.label\n }, /* @__PURE__ */ React80.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map((entry, index2) => {\n var _restProps$fill;\n var value = isNullish(dataKey) ? valueAccessor(entry, index2) : getValueByDataKey(entry.payload, dataKey);\n var idProps = isNullish(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index2)\n };\n return /* @__PURE__ */ React80.createElement(Label6, _extends15({\n key: \"label-\".concat(index2)\n }, svgPropertiesAndEvents(entry), others, idProps, {\n /*\n * Prefer to use the explicit fill from LabelList props.\n * Only in an absence of that, fall back to the fill of the entry.\n * The entry fill can be quite difficult to see especially in Bar, Pie, RadialBar in inside positions.\n * On the other hand it's quite convenient in Scatter, Line, or when the position is outside the Bar, Pie filled shapes.\n */\n fill: (_restProps$fill = restProps.fill) !== null && _restProps$fill !== void 0 ? _restProps$fill : entry.fill,\n parentViewBox: entry.parentViewBox,\n value,\n textBreakAll,\n viewBox: entry.viewBox,\n index: index2,\n zIndex: 0\n }));\n })));\n }\n LabelList.displayName = \"LabelList\";\n function LabelListFromLabelProp(_ref2) {\n var {\n label\n } = _ref2;\n if (!label) {\n return null;\n }\n if (label === true) {\n return /* @__PURE__ */ React80.createElement(LabelList, {\n key: \"labelList-implicit\"\n });\n }\n if (/* @__PURE__ */ React80.isValidElement(label) || isLabelContentAFunction(label)) {\n return /* @__PURE__ */ React80.createElement(LabelList, {\n key: \"labelList-implicit\",\n content: label\n });\n }\n if (typeof label === \"object\") {\n return /* @__PURE__ */ React80.createElement(LabelList, _extends15({\n key: \"labelList-implicit\"\n }, label, {\n type: String(label.type)\n }));\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Polygon.js\n var React81 = __toESM(require_react());\n var _excluded11 = [\"points\", \"className\", \"baseLinePoints\", \"connectNulls\"];\n var _templateObject11;\n function _extends16() {\n return _extends16 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends16.apply(null, arguments);\n }\n function _objectWithoutProperties11(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose11(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose11(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _taggedTemplateLiteral3(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var isValidatePoint = (point4) => {\n return point4 != null && point4.x === +point4.x && point4.y === +point4.y;\n };\n var getParsedPoints = function getParsedPoints2() {\n var points = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n var segmentPoints = [[]];\n points.forEach((entry) => {\n var lastLink2 = segmentPoints[segmentPoints.length - 1];\n if (isValidatePoint(entry)) {\n if (lastLink2) {\n lastLink2.push(entry);\n }\n } else if (lastLink2 && lastLink2.length > 0) {\n segmentPoints.push([]);\n }\n });\n var firstPoint = points[0];\n var lastLink = segmentPoints[segmentPoints.length - 1];\n if (isValidatePoint(firstPoint) && lastLink) {\n lastLink.push(firstPoint);\n }\n var finalLink = segmentPoints[segmentPoints.length - 1];\n if (finalLink && finalLink.length <= 0) {\n segmentPoints = segmentPoints.slice(0, -1);\n }\n return segmentPoints;\n };\n var getSinglePolygonPath = (points, connectNulls) => {\n var segmentPoints = getParsedPoints(points);\n if (connectNulls) {\n segmentPoints = [segmentPoints.reduce((res, segPoints) => {\n return [...res, ...segPoints];\n }, [])];\n }\n var polygonPath = segmentPoints.map((segPoints) => {\n return segPoints.reduce((path2, point4, index2) => {\n return roundTemplateLiteral(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral3([\"\", \"\", \"\", \",\", \"\"])), path2, index2 === 0 ? \"M\" : \"L\", point4.x, point4.y);\n }, \"\");\n }).join(\"\");\n return segmentPoints.length === 1 ? \"\".concat(polygonPath, \"Z\") : polygonPath;\n };\n var getRanglePath = (points, baseLinePoints, connectNulls) => {\n var outerPath = getSinglePolygonPath(points, connectNulls);\n return \"\".concat(outerPath.slice(-1) === \"Z\" ? outerPath.slice(0, -1) : outerPath, \"L\").concat(getSinglePolygonPath(Array.from(baseLinePoints).reverse(), connectNulls).slice(1));\n };\n var Polygon = (props) => {\n var {\n points,\n className,\n baseLinePoints,\n connectNulls\n } = props, others = _objectWithoutProperties11(props, _excluded11);\n if (!points || !points.length) {\n return null;\n }\n var layerClass = clsx(\"recharts-polygon\", className);\n if (baseLinePoints && baseLinePoints.length) {\n var hasStroke = others.stroke && others.stroke !== \"none\";\n var rangePath = getRanglePath(points, baseLinePoints, connectNulls);\n return /* @__PURE__ */ React81.createElement(\"g\", {\n className: layerClass\n }, /* @__PURE__ */ React81.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: rangePath.slice(-1) === \"Z\" ? others.fill : \"none\",\n stroke: \"none\",\n d: rangePath\n })), hasStroke ? /* @__PURE__ */ React81.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: \"none\",\n d: getSinglePolygonPath(points, connectNulls)\n })) : null, hasStroke ? /* @__PURE__ */ React81.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: \"none\",\n d: getSinglePolygonPath(baseLinePoints, connectNulls)\n })) : null);\n }\n var singlePath = getSinglePolygonPath(points, connectNulls);\n return /* @__PURE__ */ React81.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: singlePath.slice(-1) === \"Z\" ? others.fill : \"none\",\n className: layerClass,\n d: singlePath\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Dot.js\n var React82 = __toESM(require_react());\n function _extends17() {\n return _extends17 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends17.apply(null, arguments);\n }\n var Dot = (props) => {\n var {\n cx: cx2,\n cy,\n r: r2,\n className\n } = props;\n var layerClass = clsx(\"recharts-dot\", className);\n if (isNumber3(cx2) && isNumber3(cy) && isNumber3(r2)) {\n return /* @__PURE__ */ React82.createElement(\"circle\", _extends17({}, svgPropertiesNoEvents(props), adaptEventHandlers(props), {\n className: layerClass,\n cx: cx2,\n cy,\n r: r2\n }));\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarGrid.js\n var React83 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarSelectors.js\n var selectUnfilteredPolarItems = (state2) => state2.graphicalItems.polarItems;\n var selectAxisPredicate2 = createSelector([pickAxisType, pickAxisId], itemAxisPredicate);\n var selectPolarItemsSettings = createSelector([selectUnfilteredPolarItems, selectBaseAxis, selectAxisPredicate2], combineGraphicalItemsSettings);\n var selectPolarGraphicalItemsData = createSelector([selectPolarItemsSettings], combineGraphicalItemsData);\n var selectPolarDisplayedData = createSelector([selectPolarGraphicalItemsData, selectChartDataAndAlwaysIgnoreIndexes], combineDisplayedData);\n var selectPolarAppliedValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings], combineAppliedValues);\n var selectAllPolarAppliedNumericalValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings], (data, axisSettings, items) => {\n if (items.length > 0) {\n return data.flatMap((entry) => {\n return items.flatMap((item) => {\n var _axisSettings$dataKey;\n var valueByDataKey = getValueByDataKey(entry, (_axisSettings$dataKey = axisSettings.dataKey) !== null && _axisSettings$dataKey !== void 0 ? _axisSettings$dataKey : item.dataKey);\n return {\n value: valueByDataKey,\n errorDomain: []\n // polar charts do not have error bars\n };\n });\n }).filter(Boolean);\n }\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n return data.map((item) => ({\n value: getValueByDataKey(item, axisSettings.dataKey),\n errorDomain: []\n }));\n }\n return data.map((entry) => ({\n value: entry,\n errorDomain: []\n }));\n });\n var unsupportedInPolarChart = () => void 0;\n var selectDomainOfAllPolarAppliedNumericalValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings, selectAllErrorBarSettings, pickAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues);\n var selectPolarNumericalDomain = createSelector([selectBaseAxis, selectDomainDefinition, selectDomainFromUserPreference, unsupportedInPolarChart, selectDomainOfAllPolarAppliedNumericalValues, unsupportedInPolarChart, selectChartLayout, pickAxisType], combineNumericalDomain);\n var selectPolarAxisDomain = createSelector([selectBaseAxis, selectChartLayout, selectPolarDisplayedData, selectPolarAppliedValues, selectStackOffsetType, pickAxisType, selectPolarNumericalDomain], combineAxisDomain);\n var selectPolarNiceTicks = createSelector([selectPolarAxisDomain, selectRenderableAxisSettings, selectRealScaleType], combineNiceTicks);\n var selectPolarAxisDomainIncludingNiceTicks = createSelector([selectBaseAxis, selectPolarAxisDomain, selectPolarNiceTicks, pickAxisType], combineAxisDomainWithNiceTicks);\n var selectPolarAxisCheckedDomain = createSelector([selectRealScaleType, selectPolarAxisDomainIncludingNiceTicks], combineCheckedDomain);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarScaleSelectors.js\n var selectPolarAxis = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default: {\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n }\n };\n var selectPolarAxisRangeWithReversed = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"angleAxis\": {\n return selectAngleAxisRangeWithReversed(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxisRangeWithReversed(state2, axisId);\n }\n default: {\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n }\n };\n var selectPolarConfiguredScale = createSelector([selectPolarAxis, selectRealScaleType, selectPolarAxisCheckedDomain, selectPolarAxisRangeWithReversed], combineConfiguredScale);\n var selectPolarAxisScale = createSelector([selectPolarConfiguredScale], rechartsScaleFactory);\n var selectPolarCategoricalDomain = createSelector([selectChartLayout, selectPolarAppliedValues, selectRenderableAxisSettings, pickAxisType], combineCategoricalDomain);\n var selectPolarAxisTicks = createSelector([selectChartLayout, selectPolarAxis, selectRealScaleType, selectPolarAxisScale, selectPolarNiceTicks, selectPolarAxisRangeWithReversed, selectDuplicateDomain, selectPolarCategoricalDomain, pickAxisType], combineAxisTicks);\n var selectPolarAngleAxisTicks = createSelector([selectPolarAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n var uniqueTicksMap = /* @__PURE__ */ new Map();\n ticks2.forEach((tick) => {\n var normalizedCoordinate = (tick.coordinate + 360) % 360;\n if (!uniqueTicksMap.has(normalizedCoordinate)) {\n uniqueTicksMap.set(normalizedCoordinate, tick);\n }\n });\n return Array.from(uniqueTicksMap.values());\n });\n var selectPolarGraphicalItemAxisTicks = createSelector([selectChartLayout, selectPolarAxis, selectPolarAxisScale, selectPolarAxisRangeWithReversed, selectDuplicateDomain, selectPolarCategoricalDomain, pickAxisType], combineGraphicalItemTicks);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarGridSelectors.js\n var selectAngleAxisTicks = (state2, anglexisId) => selectPolarAxisTicks(state2, \"angleAxis\", anglexisId, false);\n var selectPolarGridAngles = createSelector([selectAngleAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n return ticks2.map((tick) => tick.coordinate);\n });\n var selectRadiusAxisTicks = (state2, radiusAxisId) => selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, false);\n var selectPolarGridRadii = createSelector([selectRadiusAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n return ticks2.map((tick) => tick.coordinate);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarGrid.js\n var _excluded12 = [\"gridType\", \"radialLines\", \"angleAxisId\", \"radiusAxisId\", \"cx\", \"cy\", \"innerRadius\", \"outerRadius\", \"polarAngles\", \"polarRadius\", \"zIndex\"];\n function _objectWithoutProperties12(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose12(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose12(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends18() {\n return _extends18 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends18.apply(null, arguments);\n }\n function ownKeys29(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread29(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys29(Object(t2), true).forEach(function(r3) {\n _defineProperty31(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys29(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty31(e, r2, t2) {\n return (r2 = _toPropertyKey31(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey31(t2) {\n var i = _toPrimitive31(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive31(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getPolygonPath = (radius, cx2, cy, polarAngles) => {\n var path2 = \"\";\n polarAngles.forEach((angle, i) => {\n var point4 = polarToCartesian(cx2, cy, radius, angle);\n if (i) {\n path2 += \"L \".concat(point4.x, \",\").concat(point4.y);\n } else {\n path2 += \"M \".concat(point4.x, \",\").concat(point4.y);\n }\n });\n path2 += \"Z\";\n return path2;\n };\n var PolarAngles = (props) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n polarAngles,\n radialLines\n } = props;\n if (!polarAngles || !polarAngles.length || !radialLines) {\n return null;\n }\n var polarAnglesProps = _objectSpread29({\n stroke: \"#ccc\"\n }, svgPropertiesNoEvents(props));\n return /* @__PURE__ */ React83.createElement(\"g\", {\n className: \"recharts-polar-grid-angle\"\n }, polarAngles.map((entry) => {\n var start = polarToCartesian(cx2, cy, innerRadius, entry);\n var end = polarToCartesian(cx2, cy, outerRadius, entry);\n return /* @__PURE__ */ React83.createElement(\"line\", _extends18({\n key: \"line-\".concat(entry)\n }, polarAnglesProps, {\n x1: start.x,\n y1: start.y,\n x2: end.x,\n y2: end.y\n }));\n }));\n };\n var ConcentricCircle = (props) => {\n var {\n cx: cx2,\n cy,\n radius\n } = props;\n var concentricCircleProps = _objectSpread29({\n stroke: \"#ccc\",\n fill: \"none\"\n }, svgPropertiesNoEvents(props));\n return (\n // @ts-expect-error wrong SVG element type\n /* @__PURE__ */ React83.createElement(\"circle\", _extends18({}, concentricCircleProps, {\n className: clsx(\"recharts-polar-grid-concentric-circle\", props.className),\n cx: cx2,\n cy,\n r: radius\n }))\n );\n };\n var ConcentricPolygon = (props) => {\n var {\n radius\n } = props;\n var concentricPolygonProps = _objectSpread29({\n stroke: \"#ccc\",\n fill: \"none\"\n }, svgPropertiesNoEvents(props));\n return /* @__PURE__ */ React83.createElement(\"path\", _extends18({}, concentricPolygonProps, {\n className: clsx(\"recharts-polar-grid-concentric-polygon\", props.className),\n d: getPolygonPath(radius, props.cx, props.cy, props.polarAngles)\n }));\n };\n var ConcentricGridPath = (props) => {\n var {\n polarRadius,\n gridType\n } = props;\n if (!polarRadius || !polarRadius.length) {\n return null;\n }\n var maxPolarRadius = Math.max(...polarRadius);\n var renderBackground = props.fill && props.fill !== \"none\";\n return /* @__PURE__ */ React83.createElement(\"g\", {\n className: \"recharts-polar-grid-concentric\"\n }, renderBackground && gridType === \"circle\" && /* @__PURE__ */ React83.createElement(ConcentricCircle, _extends18({}, props, {\n radius: maxPolarRadius\n })), renderBackground && gridType !== \"circle\" && /* @__PURE__ */ React83.createElement(ConcentricPolygon, _extends18({}, props, {\n radius: maxPolarRadius\n })), polarRadius.map((entry, i) => {\n var key = i;\n if (gridType === \"circle\") {\n return /* @__PURE__ */ React83.createElement(ConcentricCircle, _extends18({\n key\n }, props, {\n fill: \"none\",\n radius: entry\n }));\n }\n return /* @__PURE__ */ React83.createElement(ConcentricPolygon, _extends18({\n key\n }, props, {\n fill: \"none\",\n radius: entry\n }));\n }));\n };\n var defaultPolarGridProps = {\n angleAxisId: 0,\n radiusAxisId: 0,\n gridType: \"polygon\",\n radialLines: true,\n zIndex: DefaultZIndexes.grid\n };\n var PolarGrid = (outsideProps) => {\n var _ref2, _polarViewBox$cx, _ref22, _polarViewBox$cy, _ref3, _polarViewBox$innerRa, _ref4, _polarViewBox$outerRa;\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, defaultPolarGridProps), {\n gridType,\n radialLines,\n angleAxisId,\n radiusAxisId,\n cx: cxFromOutside,\n cy: cyFromOutside,\n innerRadius: innerRadiusFromOutside,\n outerRadius: outerRadiusFromOutside,\n polarAngles: polarAnglesInput,\n polarRadius: polarRadiusInput,\n zIndex\n } = _resolveDefaultProps, inputs = _objectWithoutProperties12(_resolveDefaultProps, _excluded12);\n var polarViewBox = useAppSelector(selectPolarViewBox);\n var polarAnglesFromRedux = useAppSelector((state2) => selectPolarGridAngles(state2, angleAxisId));\n var polarRadiiFromRedux = useAppSelector((state2) => selectPolarGridRadii(state2, radiusAxisId));\n var polarAngles = Array.isArray(polarAnglesInput) ? polarAnglesInput : polarAnglesFromRedux;\n var polarRadius = Array.isArray(polarRadiusInput) ? polarRadiusInput : polarRadiiFromRedux;\n if (polarAngles == null || polarRadius == null) {\n return null;\n }\n var props = _objectSpread29({\n cx: (_ref2 = (_polarViewBox$cx = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.cx) !== null && _polarViewBox$cx !== void 0 ? _polarViewBox$cx : cxFromOutside) !== null && _ref2 !== void 0 ? _ref2 : 0,\n cy: (_ref22 = (_polarViewBox$cy = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.cy) !== null && _polarViewBox$cy !== void 0 ? _polarViewBox$cy : cyFromOutside) !== null && _ref22 !== void 0 ? _ref22 : 0,\n innerRadius: (_ref3 = (_polarViewBox$innerRa = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.innerRadius) !== null && _polarViewBox$innerRa !== void 0 ? _polarViewBox$innerRa : innerRadiusFromOutside) !== null && _ref3 !== void 0 ? _ref3 : 0,\n outerRadius: (_ref4 = (_polarViewBox$outerRa = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.outerRadius) !== null && _polarViewBox$outerRa !== void 0 ? _polarViewBox$outerRa : outerRadiusFromOutside) !== null && _ref4 !== void 0 ? _ref4 : 0,\n polarAngles,\n polarRadius,\n zIndex\n }, inputs);\n var {\n outerRadius\n } = props;\n if (outerRadius <= 0) {\n return null;\n }\n return /* @__PURE__ */ React83.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React83.createElement(\"g\", {\n className: \"recharts-polar-grid\"\n }, /* @__PURE__ */ React83.createElement(ConcentricGridPath, _extends18({\n gridType,\n radialLines\n }, props, {\n polarAngles,\n polarRadius\n })), /* @__PURE__ */ React83.createElement(PolarAngles, _extends18({\n gridType,\n radialLines\n }, props, {\n polarAngles,\n polarRadius\n }))));\n };\n PolarGrid.displayName = \"PolarGrid\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarRadiusAxis.js\n var React84 = __toESM(require_react());\n var import_react36 = __toESM(require_react());\n var import_maxBy = __toESM(require_maxBy3());\n var import_minBy = __toESM(require_minBy3());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/polarAxisSlice.js\n var initialState6 = {\n radiusAxis: {},\n angleAxis: {}\n };\n var polarAxisSlice = createSlice({\n name: \"polarAxis\",\n initialState: initialState6,\n reducers: {\n addRadiusAxis(state2, action) {\n state2.radiusAxis[action.payload.id] = castDraft(action.payload);\n },\n removeRadiusAxis(state2, action) {\n delete state2.radiusAxis[action.payload.id];\n },\n addAngleAxis(state2, action) {\n state2.angleAxis[action.payload.id] = castDraft(action.payload);\n },\n removeAngleAxis(state2, action) {\n delete state2.angleAxis[action.payload.id];\n }\n }\n });\n var {\n addRadiusAxis,\n removeRadiusAxis,\n addAngleAxis,\n removeAngleAxis\n } = polarAxisSlice.actions;\n var polarAxisReducer = polarAxisSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getClassNameFromUnknown.js\n function getClassNameFromUnknown(u) {\n if (u && typeof u === \"object\" && \"className\" in u && typeof u.className === \"string\") {\n return u.className;\n }\n return \"\";\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarRadiusAxis.js\n var _excluded13 = [\"type\"];\n var _excluded26 = [\"cx\", \"cy\", \"angle\", \"axisLine\"];\n var _excluded32 = [\"angle\", \"tickFormatter\", \"stroke\", \"tick\"];\n function _extends19() {\n return _extends19 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends19.apply(null, arguments);\n }\n function ownKeys30(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread30(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys30(Object(t2), true).forEach(function(r3) {\n _defineProperty32(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys30(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty32(e, r2, t2) {\n return (r2 = _toPropertyKey32(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey32(t2) {\n var i = _toPrimitive32(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive32(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties13(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose13(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose13(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var AXIS_TYPE = \"radiusAxis\";\n function SetRadiusAxisSettings(props) {\n var dispatch = useAppDispatch();\n var layout = usePolarChartLayout();\n var settings = (0, import_react36.useMemo)(() => {\n var {\n type: typeFromProps\n } = props, rest = _objectWithoutProperties13(props, _excluded13);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"radiusAxis\", typeFromProps);\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread30(_objectSpread30({}, rest), {}, {\n type: evaluatedType\n });\n }, [props, layout]);\n (0, import_react36.useEffect)(() => {\n if (settings == null) {\n return noop4;\n }\n dispatch(addRadiusAxis(settings));\n return () => {\n dispatch(removeRadiusAxis(settings));\n };\n }, [dispatch, settings]);\n return null;\n }\n var getTickValueCoord = (_ref2, angle, cx2, cy) => {\n var {\n coordinate\n } = _ref2;\n return polarToCartesian(cx2, cy, coordinate, angle);\n };\n var getTickTextAnchor = (orientation) => {\n var textAnchor;\n switch (orientation) {\n case \"left\":\n textAnchor = \"end\";\n break;\n case \"right\":\n textAnchor = \"start\";\n break;\n default:\n textAnchor = \"middle\";\n break;\n }\n return textAnchor;\n };\n var getViewBox = (angle, cx2, cy, ticks2) => {\n var maxRadiusTick = (0, import_maxBy.default)(ticks2, (entry) => entry.coordinate || 0);\n var minRadiusTick = (0, import_minBy.default)(ticks2, (entry) => entry.coordinate || 0);\n return {\n cx: cx2,\n cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: (minRadiusTick === null || minRadiusTick === void 0 ? void 0 : minRadiusTick.coordinate) || 0,\n outerRadius: (maxRadiusTick === null || maxRadiusTick === void 0 ? void 0 : maxRadiusTick.coordinate) || 0,\n clockWise: false\n };\n };\n var renderAxisLine = (props, ticks2) => {\n var {\n cx: cx2,\n cy,\n angle,\n axisLine\n } = props, others = _objectWithoutProperties13(props, _excluded26);\n var extent = ticks2.reduce((result, entry) => [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)], [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx2, cy, extent[0], angle);\n var point1 = polarToCartesian(cx2, cy, extent[1], angle);\n var axisLineProps = _objectSpread30(_objectSpread30(_objectSpread30({}, svgPropertiesNoEvents(others)), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(axisLine)), {}, {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n return /* @__PURE__ */ React84.createElement(\"line\", _extends19({\n className: \"recharts-polar-radius-axis-line\"\n }, axisLineProps));\n };\n var renderTickItem = (option, tickProps, value) => {\n var tickItem;\n if (/* @__PURE__ */ React84.isValidElement(option)) {\n tickItem = /* @__PURE__ */ React84.cloneElement(option, tickProps);\n } else if (typeof option === \"function\") {\n tickItem = option(tickProps);\n } else {\n tickItem = /* @__PURE__ */ React84.createElement(Text, _extends19({}, tickProps, {\n className: \"recharts-polar-radius-axis-tick-value\"\n }), value);\n }\n return tickItem;\n };\n var renderTicks = (props, ticks2) => {\n var {\n angle,\n tickFormatter,\n stroke,\n tick\n } = props, others = _objectWithoutProperties13(props, _excluded32);\n var textAnchor = getTickTextAnchor(props.orientation);\n var axisProps = svgPropertiesNoEvents(others);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var items = ticks2.map((entry, i) => {\n var coord = getTickValueCoord(entry, props.angle, props.cx, props.cy);\n var tickProps = _objectSpread30(_objectSpread30(_objectSpread30(_objectSpread30({\n textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps), {}, {\n stroke: \"none\",\n fill: stroke\n }, customTickProps), {}, {\n index: i\n }, coord), {}, {\n payload: entry\n });\n return /* @__PURE__ */ React84.createElement(Layer, _extends19({\n className: clsx(\"recharts-polar-radius-axis-tick\", getClassNameFromUnknown(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(props, entry, i)), renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /* @__PURE__ */ React84.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n };\n var PolarRadiusAxisWrapper = (defaultsAndInputs) => {\n var {\n radiusAxisId\n } = defaultsAndInputs;\n var viewBox = useAppSelector(selectPolarViewBox);\n var scale = useAppSelector((state2) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId));\n var ticks2 = useAppSelector((state2) => selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, false));\n if (viewBox == null || !ticks2 || !ticks2.length || scale == null) {\n return null;\n }\n var props = _objectSpread30(_objectSpread30({}, defaultsAndInputs), {}, {\n scale\n }, viewBox);\n var {\n tick,\n axisLine\n } = props;\n return /* @__PURE__ */ React84.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React84.createElement(Layer, {\n className: clsx(\"recharts-polar-radius-axis\", AXIS_TYPE, props.className)\n }, axisLine && renderAxisLine(props, ticks2), tick && renderTicks(props, ticks2), /* @__PURE__ */ React84.createElement(PolarLabelContextProvider, getViewBox(props.angle, props.cx, props.cy, ticks2), /* @__PURE__ */ React84.createElement(PolarLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n };\n function PolarRadiusAxis(outsideProps) {\n var _props$niceTicks;\n var props = resolveDefaultProps(outsideProps, defaultPolarRadiusAxisProps);\n return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement(SetRadiusAxisSettings, {\n domain: props.domain,\n id: props.radiusAxisId,\n scale: props.scale,\n type: props.type,\n dataKey: props.dataKey,\n unit: void 0,\n name: props.name,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n allowDataOverflow: props.allowDataOverflow,\n reversed: props.reversed,\n includeHidden: props.includeHidden,\n allowDecimals: props.allowDecimals,\n niceTicks: (_props$niceTicks = props.niceTicks) !== null && _props$niceTicks !== void 0 ? _props$niceTicks : \"auto\",\n ticks: props.ticks,\n tickCount: props.tickCount,\n tick: props.tick\n }), /* @__PURE__ */ React84.createElement(PolarRadiusAxisWrapper, props));\n }\n PolarRadiusAxis.displayName = \"PolarRadiusAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarAngleAxis.js\n var React85 = __toESM(require_react());\n var import_react37 = __toESM(require_react());\n var _excluded14 = [\"children\", \"type\"];\n var _excluded27 = [\"ref\"];\n function _extends20() {\n return _extends20 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends20.apply(null, arguments);\n }\n function ownKeys31(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread31(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys31(Object(t2), true).forEach(function(r3) {\n _defineProperty33(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys31(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty33(e, r2, t2) {\n return (r2 = _toPropertyKey33(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey33(t2) {\n var i = _toPrimitive33(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive33(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties14(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose14(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose14(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var eps = 1e-5;\n var COS_45 = Math.cos(degreeToRadian(45));\n var AXIS_TYPE2 = \"angleAxis\";\n function SetAngleAxisSettings(props) {\n var dispatch = useAppDispatch();\n var layout = usePolarChartLayout();\n var settings = (0, import_react37.useMemo)(() => {\n var {\n children,\n type: typeFromProps\n } = props, rest = _objectWithoutProperties14(props, _excluded14);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"angleAxis\", typeFromProps);\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread31(_objectSpread31({}, rest), {}, {\n type: evaluatedType\n });\n }, [props, layout]);\n var synchronizedSettings = useAppSelector((state2) => selectAngleAxis(state2, settings === null || settings === void 0 ? void 0 : settings.id));\n var settingsAreSynchronized = settings === synchronizedSettings;\n (0, import_react37.useEffect)(() => {\n if (settings == null) {\n return noop4;\n }\n dispatch(addAngleAxis(settings));\n return () => {\n dispatch(removeAngleAxis(settings));\n };\n }, [dispatch, settings]);\n if (settingsAreSynchronized) {\n return props.children;\n }\n return null;\n }\n var getTickLineCoord = (data, props) => {\n var {\n cx: cx2,\n cy,\n radius,\n orientation,\n tickSize\n } = props;\n var tickLineSize = tickSize || 8;\n var p1 = polarToCartesian(cx2, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx2, cy, radius + (orientation === \"inner\" ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n };\n var getTickTextAnchor2 = (data, orientation) => {\n var cos2 = Math.cos(degreeToRadian(-data.coordinate));\n if (cos2 > eps) {\n return orientation === \"outer\" ? \"start\" : \"end\";\n }\n if (cos2 < -eps) {\n return orientation === \"outer\" ? \"end\" : \"start\";\n }\n return \"middle\";\n };\n var getTickTextVerticalAnchor = (data) => {\n var cos2 = Math.cos(degreeToRadian(-data.coordinate));\n var sin2 = Math.sin(degreeToRadian(-data.coordinate));\n if (Math.abs(cos2) <= COS_45) {\n return sin2 > 0 ? \"start\" : \"end\";\n }\n return \"middle\";\n };\n var AxisLine = (props) => {\n var {\n cx: cx2,\n cy,\n radius,\n axisLineType,\n axisLine,\n ticks: ticks2\n } = props;\n if (!axisLine) {\n return null;\n }\n var axisLineProps = _objectSpread31(_objectSpread31({}, svgPropertiesNoEvents(props)), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(axisLine));\n if (axisLineType === \"circle\") {\n return /* @__PURE__ */ React85.createElement(Dot, _extends20({\n className: \"recharts-polar-angle-axis-line\"\n }, axisLineProps, {\n cx: cx2,\n cy,\n r: radius\n }));\n }\n var points = ticks2.map((entry) => polarToCartesian(cx2, cy, radius, entry.coordinate));\n return /* @__PURE__ */ React85.createElement(Polygon, _extends20({\n className: \"recharts-polar-angle-axis-line\"\n }, axisLineProps, {\n points\n }));\n };\n var TickItemText = (_ref2) => {\n var {\n tick,\n tickProps,\n value\n } = _ref2;\n if (!tick) {\n return null;\n }\n if (/* @__PURE__ */ React85.isValidElement(tick)) {\n return /* @__PURE__ */ React85.cloneElement(tick, tickProps);\n }\n if (typeof tick === \"function\") {\n return tick(tickProps);\n }\n return /* @__PURE__ */ React85.createElement(Text, _extends20({}, tickProps, {\n className: \"recharts-polar-angle-axis-tick-value\"\n }), value);\n };\n var Ticks = (props) => {\n var {\n tick,\n tickLine,\n tickFormatter,\n stroke,\n ticks: ticks2\n } = props;\n var _svgPropertiesNoEvent = svgPropertiesNoEvents(props), {\n ref\n } = _svgPropertiesNoEvent, axisProps = _objectWithoutProperties14(_svgPropertiesNoEvent, _excluded27);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var tickLineProps = _objectSpread31(_objectSpread31({}, axisProps), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(tickLine));\n var items = ticks2.map((entry, i) => {\n var lineCoord = getTickLineCoord(entry, props);\n var textAnchor = getTickTextAnchor2(entry, props.orientation);\n var verticalAnchor = getTickTextVerticalAnchor(entry);\n var tickProps = _objectSpread31(_objectSpread31(_objectSpread31({}, axisProps), {}, {\n // @ts-expect-error customTickProps is contributing unknown props\n textAnchor,\n verticalAnchor,\n // @ts-expect-error customTickProps is contributing unknown props\n stroke: \"none\",\n // @ts-expect-error customTickProps is contributing unknown props\n fill: stroke\n }, customTickProps), {}, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n return /* @__PURE__ */ React85.createElement(Layer, _extends20({\n className: clsx(\"recharts-polar-angle-axis-tick\", getClassNameFromUnknown(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(props, entry, i)), tickLine && /* @__PURE__ */ React85.createElement(\"line\", _extends20({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), /* @__PURE__ */ React85.createElement(TickItemText, {\n tick,\n tickProps,\n value: tickFormatter ? tickFormatter(entry.value, i) : entry.value\n }));\n });\n return /* @__PURE__ */ React85.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n };\n var PolarAngleAxisWrapper = (defaultsAndInputs) => {\n var {\n angleAxisId\n } = defaultsAndInputs;\n var viewBox = useAppSelector(selectPolarViewBox);\n var scale = useAppSelector((state2) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId));\n var isPanorama = useIsPanorama();\n var ticks2 = useAppSelector((state2) => selectPolarAngleAxisTicks(state2, \"angleAxis\", angleAxisId, isPanorama));\n if (viewBox == null || !ticks2 || !ticks2.length || scale == null) {\n return null;\n }\n var props = _objectSpread31(_objectSpread31(_objectSpread31({}, defaultsAndInputs), {}, {\n scale\n }, viewBox), {}, {\n radius: viewBox.outerRadius,\n ticks: ticks2\n });\n return /* @__PURE__ */ React85.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React85.createElement(Layer, {\n className: clsx(\"recharts-polar-angle-axis\", AXIS_TYPE2, props.className)\n }, /* @__PURE__ */ React85.createElement(AxisLine, props), /* @__PURE__ */ React85.createElement(Ticks, props)));\n };\n function PolarAngleAxis(outsideProps) {\n var _props$niceTicks;\n var props = resolveDefaultProps(outsideProps, defaultPolarAngleAxisProps);\n return /* @__PURE__ */ React85.createElement(SetAngleAxisSettings, {\n id: props.angleAxisId,\n scale: props.scale,\n type: props.type,\n dataKey: props.dataKey,\n unit: void 0,\n name: props.name,\n allowDuplicatedCategory: false,\n allowDataOverflow: false,\n reversed: props.reversed,\n includeHidden: false,\n allowDecimals: props.allowDecimals,\n tickCount: props.tickCount,\n niceTicks: (_props$niceTicks = props.niceTicks) !== null && _props$niceTicks !== void 0 ? _props$niceTicks : \"auto\",\n ticks: props.ticks,\n tick: props.tick,\n domain: props.domain\n }, /* @__PURE__ */ React85.createElement(PolarAngleAxisWrapper, props));\n }\n PolarAngleAxis.displayName = \"PolarAngleAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Pie.js\n var React90 = __toESM(require_react());\n var import_react45 = __toESM(require_react());\n var import_get4 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pieSelectors.js\n function ownKeys32(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread32(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys32(Object(t2), true).forEach(function(r3) {\n _defineProperty34(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys32(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty34(e, r2, t2) {\n return (r2 = _toPropertyKey34(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey34(t2) {\n var i = _toPrimitive34(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive34(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var pickId = (_state, id) => id;\n var selectSynchronisedPieSettings = createSelector([selectUnfilteredPolarItems, pickId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"pie\").find((item) => item.id === id));\n var emptyArray = [];\n var pickCells = (_state, _id, cells) => {\n if ((cells === null || cells === void 0 ? void 0 : cells.length) === 0) {\n return emptyArray;\n }\n return cells;\n };\n var selectDisplayedData2 = createSelector([selectChartDataAndAlwaysIgnoreIndexes, selectSynchronisedPieSettings, pickCells], (_ref2, pieSettings, cells) => {\n var {\n chartData\n } = _ref2;\n if (pieSettings == null) {\n return void 0;\n }\n var displayedData;\n if ((pieSettings === null || pieSettings === void 0 ? void 0 : pieSettings.data) != null && pieSettings.data.length > 0) {\n displayedData = pieSettings.data;\n } else {\n displayedData = chartData;\n }\n if ((!displayedData || !displayedData.length) && cells != null) {\n displayedData = cells.map((cell) => _objectSpread32(_objectSpread32({}, pieSettings.presentationProps), cell.props));\n }\n if (displayedData == null) {\n return void 0;\n }\n return displayedData;\n });\n var selectPieLegend = createSelector([selectDisplayedData2, selectSynchronisedPieSettings, pickCells], (displayedData, pieSettings, cells) => {\n if (displayedData == null || pieSettings == null) {\n return void 0;\n }\n return displayedData.map((entry, i) => {\n var _cells$i;\n var name = getValueByDataKey(entry, pieSettings.nameKey, pieSettings.name);\n var color2;\n if (cells !== null && cells !== void 0 && (_cells$i = cells[i]) !== null && _cells$i !== void 0 && (_cells$i = _cells$i.props) !== null && _cells$i !== void 0 && _cells$i.fill) {\n color2 = cells[i].props.fill;\n } else if (typeof entry === \"object\" && entry != null && \"fill\" in entry) {\n color2 = entry.fill;\n } else {\n color2 = pieSettings.fill;\n }\n return {\n value: getTooltipNameProp(name, pieSettings.dataKey),\n color: color2,\n // @ts-expect-error Legend payload.payload says it wants objects but our data can be unknown\n payload: entry,\n type: pieSettings.legendType\n };\n });\n });\n var selectPieSectors = createSelector([selectDisplayedData2, selectSynchronisedPieSettings, pickCells, selectChartOffsetInternal], (displayedData, pieSettings, cells, offset4) => {\n if (pieSettings == null || displayedData == null) {\n return void 0;\n }\n return computePieSectors({\n offset: offset4,\n pieSettings,\n displayedData,\n cells\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ReactUtils.js\n var import_get3 = __toESM(require_get2());\n var import_react38 = __toESM(require_react());\n var import_react_is = __toESM(require_react_is());\n var getDisplayName = (Comp) => {\n if (typeof Comp === \"string\") {\n return Comp;\n }\n if (!Comp) {\n return \"\";\n }\n return Comp.displayName || Comp.name || \"Component\";\n };\n var lastChildren = null;\n var lastResult = null;\n var toArray = (children) => {\n if (children === lastChildren && Array.isArray(lastResult)) {\n return lastResult;\n }\n var result = [];\n import_react38.Children.forEach(children, (child) => {\n if (isNullish(child)) return;\n if ((0, import_react_is.isFragment)(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n };\n function findAllByType(children, type) {\n var result = [];\n var types = [];\n if (Array.isArray(type)) {\n types = type.map((t2) => getDisplayName(t2));\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach((child) => {\n var childType = (0, import_get3.default)(child, \"type.displayName\") || (0, import_get3.default)(child, \"type.name\");\n if (childType && types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n }\n var isClipDot = (dot) => {\n if (dot && typeof dot === \"object\" && \"clipDot\" in dot) {\n return Boolean(dot.clipDot);\n }\n return true;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ActiveShapeUtils.js\n var React87 = __toESM(require_react());\n var import_react40 = __toESM(require_react());\n var import_isPlainObject = __toESM(require_isPlainObject2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Trapezoid.js\n var React86 = __toESM(require_react());\n var import_react39 = __toESM(require_react());\n var _templateObject12;\n var _templateObject23;\n var _templateObject33;\n var _templateObject43;\n var _templateObject53;\n function ownKeys33(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread33(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys33(Object(t2), true).forEach(function(r3) {\n _defineProperty35(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys33(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty35(e, r2, t2) {\n return (r2 = _toPropertyKey35(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey35(t2) {\n var i = _toPrimitive35(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive35(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends21() {\n return _extends21 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends21.apply(null, arguments);\n }\n function _taggedTemplateLiteral4(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getTrapezoidPath = (x2, y2, upperWidth, lowerWidth, height) => {\n var widthGap = upperWidth - lowerWidth;\n var path2;\n path2 = roundTemplateLiteral(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral4([\"M \", \",\", \"\"])), x2, y2);\n path2 += roundTemplateLiteral(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth, y2);\n path2 += roundTemplateLiteral(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth - widthGap / 2, y2 + height);\n path2 += roundTemplateLiteral(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth - widthGap / 2 - lowerWidth, y2 + height);\n path2 += roundTemplateLiteral(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral4([\"L \", \",\", \" Z\"])), x2, y2);\n return path2;\n };\n var defaultTrapezoidProps = {\n x: 0,\n y: 0,\n upperWidth: 0,\n lowerWidth: 0,\n height: 0,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\"\n };\n var Trapezoid = (outsideProps) => {\n var trapezoidProps = resolveDefaultProps(outsideProps, defaultTrapezoidProps);\n var {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n height,\n className\n } = trapezoidProps;\n var {\n animationEasing,\n animationDuration,\n animationBegin,\n isUpdateAnimationActive\n } = trapezoidProps;\n var pathRef = (0, import_react39.useRef)(null);\n var [totalLength, setTotalLength] = (0, import_react39.useState)(-1);\n var prevUpperWidthRef = (0, import_react39.useRef)(upperWidth);\n var prevLowerWidthRef = (0, import_react39.useRef)(lowerWidth);\n var prevHeightRef = (0, import_react39.useRef)(height);\n var prevXRef = (0, import_react39.useRef)(x2);\n var prevYRef = (0, import_react39.useRef)(y2);\n var animationId = useAnimationId(outsideProps, \"trapezoid-\");\n (0, import_react39.useEffect)(() => {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (_unused) {\n }\n }\n }, []);\n if (x2 !== +x2 || y2 !== +y2 || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-trapezoid\", className);\n if (!isUpdateAnimationActive) {\n return /* @__PURE__ */ React86.createElement(\"g\", null, /* @__PURE__ */ React86.createElement(\"path\", _extends21({}, svgPropertiesAndEvents(trapezoidProps), {\n className: layerClass,\n d: getTrapezoidPath(x2, y2, upperWidth, lowerWidth, height)\n })));\n }\n var prevUpperWidth = prevUpperWidthRef.current;\n var prevLowerWidth = prevLowerWidthRef.current;\n var prevHeight = prevHeightRef.current;\n var prevX = prevXRef.current;\n var prevY = prevYRef.current;\n var from2 = \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\");\n var to2 = \"\".concat(totalLength, \"px \").concat(totalLength, \"px\");\n var transition = getTransitionVal([\"strokeDasharray\"], animationDuration, animationEasing);\n return /* @__PURE__ */ React86.createElement(JavascriptAnimate, {\n animationId,\n key: animationId,\n canBegin: totalLength > 0,\n duration: animationDuration,\n easing: animationEasing,\n isActive: isUpdateAnimationActive,\n begin: animationBegin\n }, (t2) => {\n var currUpperWidth = interpolate(prevUpperWidth, upperWidth, t2);\n var currLowerWidth = interpolate(prevLowerWidth, lowerWidth, t2);\n var currHeight = interpolate(prevHeight, height, t2);\n var currX = interpolate(prevX, x2, t2);\n var currY = interpolate(prevY, y2, t2);\n if (pathRef.current) {\n prevUpperWidthRef.current = currUpperWidth;\n prevLowerWidthRef.current = currLowerWidth;\n prevHeightRef.current = currHeight;\n prevXRef.current = currX;\n prevYRef.current = currY;\n }\n var animationStyle = t2 > 0 ? {\n transition,\n strokeDasharray: to2\n } : {\n strokeDasharray: from2\n };\n return /* @__PURE__ */ React86.createElement(\"path\", _extends21({}, svgPropertiesAndEvents(trapezoidProps), {\n className: layerClass,\n d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n ref: pathRef,\n style: _objectSpread33(_objectSpread33({}, animationStyle), trapezoidProps.style)\n }));\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ActiveShapeUtils.js\n var _excluded15 = [\"option\", \"shapeType\", \"activeClassName\", \"inActiveClassName\"];\n function _objectWithoutProperties15(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose15(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose15(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys34(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread34(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys34(Object(t2), true).forEach(function(r3) {\n _defineProperty36(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys34(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty36(e, r2, t2) {\n return (r2 = _toPropertyKey36(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey36(t2) {\n var i = _toPrimitive36(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive36(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultPropTransformer(option, props) {\n return _objectSpread34(_objectSpread34({}, props), option);\n }\n function isSymbolsProps(shapeType, _elementProps) {\n return shapeType === \"symbols\";\n }\n function ShapeSelector(_ref2) {\n var {\n shapeType,\n elementProps\n } = _ref2;\n switch (shapeType) {\n case \"rectangle\":\n return /* @__PURE__ */ React87.createElement(Rectangle, elementProps);\n case \"trapezoid\":\n return /* @__PURE__ */ React87.createElement(Trapezoid, elementProps);\n case \"sector\":\n return /* @__PURE__ */ React87.createElement(Sector, elementProps);\n case \"symbols\":\n if (isSymbolsProps(shapeType, elementProps)) {\n return /* @__PURE__ */ React87.createElement(Symbols, elementProps);\n }\n break;\n case \"curve\":\n return /* @__PURE__ */ React87.createElement(Curve, elementProps);\n default:\n return null;\n }\n }\n function getPropsFromShapeOption(option) {\n if (/* @__PURE__ */ (0, import_react40.isValidElement)(option)) {\n return option.props;\n }\n return option;\n }\n function Shape(_ref2) {\n var {\n option,\n shapeType,\n activeClassName = \"recharts-active-shape\",\n inActiveClassName = \"recharts-shape\"\n } = _ref2, props = _objectWithoutProperties15(_ref2, _excluded15);\n var shape;\n if (/* @__PURE__ */ (0, import_react40.isValidElement)(option)) {\n shape = /* @__PURE__ */ (0, import_react40.cloneElement)(option, _objectSpread34(_objectSpread34({}, props), getPropsFromShapeOption(option)));\n } else if (typeof option === \"function\") {\n shape = option(props, props.index);\n } else if ((0, import_isPlainObject.default)(option) && typeof option !== \"boolean\") {\n var nextProps = defaultPropTransformer(option, props);\n shape = /* @__PURE__ */ React87.createElement(ShapeSelector, {\n shapeType,\n elementProps: nextProps\n });\n } else {\n var elementProps = props;\n shape = /* @__PURE__ */ React87.createElement(ShapeSelector, {\n shapeType,\n elementProps\n });\n }\n if (props.isActive) {\n return /* @__PURE__ */ React87.createElement(Layer, {\n className: activeClassName\n }, shape);\n }\n return /* @__PURE__ */ React87.createElement(Layer, {\n className: inActiveClassName\n }, shape);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/tooltipContext.js\n var useMouseEnterItemDispatch = (onMouseEnterFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseEnterFromProps === null || onMouseEnterFromProps === void 0 || onMouseEnterFromProps(data, index2, event);\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: String(index2),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n };\n var useMouseLeaveItemDispatch = (onMouseLeaveFromProps) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseLeaveFromProps === null || onMouseLeaveFromProps === void 0 || onMouseLeaveFromProps(data, index2, event);\n dispatch(mouseLeaveItem());\n };\n };\n var useMouseClickItemDispatch = (onMouseClickFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseClickFromProps === null || onMouseClickFromProps === void 0 || onMouseClickFromProps(data, index2, event);\n dispatch(setActiveClickItemIndex({\n activeIndex: String(index2),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetTooltipEntrySettings.js\n var import_react41 = __toESM(require_react());\n function SetTooltipEntrySettings(_ref2) {\n var {\n tooltipEntrySettings\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var prevSettingsRef = (0, import_react41.useRef)(null);\n (0, import_react41.useLayoutEffect)(() => {\n if (isPanorama) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addTooltipEntrySettings(tooltipEntrySettings));\n } else if (prevSettingsRef.current !== tooltipEntrySettings) {\n dispatch(replaceTooltipEntrySettings({\n prev: prevSettingsRef.current,\n next: tooltipEntrySettings\n }));\n }\n prevSettingsRef.current = tooltipEntrySettings;\n }, [tooltipEntrySettings, dispatch, isPanorama]);\n (0, import_react41.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeTooltipEntrySettings(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetLegendPayload.js\n var import_react42 = __toESM(require_react());\n function SetLegendPayload(_ref2) {\n var {\n legendPayload\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var prevPayloadRef = (0, import_react42.useRef)(null);\n (0, import_react42.useLayoutEffect)(() => {\n if (isPanorama) {\n return;\n }\n if (prevPayloadRef.current === null) {\n dispatch(addLegendPayload(legendPayload));\n } else if (prevPayloadRef.current !== legendPayload) {\n dispatch(replaceLegendPayload({\n prev: prevPayloadRef.current,\n next: legendPayload\n }));\n }\n prevPayloadRef.current = legendPayload;\n }, [dispatch, isPanorama, legendPayload]);\n (0, import_react42.useLayoutEffect)(() => {\n return () => {\n if (prevPayloadRef.current) {\n dispatch(removeLegendPayload(prevPayloadRef.current));\n prevPayloadRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n function SetPolarLegendPayload(_ref2) {\n var {\n legendPayload\n } = _ref2;\n var dispatch = useAppDispatch();\n var layout = useAppSelector(selectChartLayout);\n var prevPayloadRef = (0, import_react42.useRef)(null);\n (0, import_react42.useLayoutEffect)(() => {\n if (layout !== \"centric\" && layout !== \"radial\") {\n return;\n }\n if (prevPayloadRef.current === null) {\n dispatch(addLegendPayload(legendPayload));\n } else if (prevPayloadRef.current !== legendPayload) {\n dispatch(replaceLegendPayload({\n prev: prevPayloadRef.current,\n next: legendPayload\n }));\n }\n prevPayloadRef.current = legendPayload;\n }, [dispatch, layout, legendPayload]);\n (0, import_react42.useLayoutEffect)(() => {\n return () => {\n if (prevPayloadRef.current) {\n dispatch(removeLegendPayload(prevPayloadRef.current));\n prevPayloadRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/RegisterGraphicalItemId.js\n var React89 = __toESM(require_react());\n var import_react43 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useId.js\n var React88 = __toESM(require_react());\n var _ref;\n var useIdFallback = () => {\n var [id] = React88.useState(() => uniqueId(\"uid-\"));\n return id;\n };\n var useId2 = (_ref = React88[\"useId\".toString()]) !== null && _ref !== void 0 ? _ref : useIdFallback;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useUniqueId.js\n function useUniqueId(prefix2, customId) {\n var generatedId = useId2();\n if (customId) {\n return customId;\n }\n return prefix2 ? \"\".concat(prefix2, \"-\").concat(generatedId) : generatedId;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/RegisterGraphicalItemId.js\n var GraphicalItemIdContext = /* @__PURE__ */ (0, import_react43.createContext)(void 0);\n var RegisterGraphicalItemId = (_ref2) => {\n var {\n id,\n type,\n children\n } = _ref2;\n var resolvedId = useUniqueId(\"recharts-\".concat(type), id);\n return /* @__PURE__ */ React89.createElement(GraphicalItemIdContext.Provider, {\n value: resolvedId\n }, children(resolvedId));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetGraphicalItem.js\n var import_react44 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/graphicalItemsSlice.js\n var initialState7 = {\n cartesianItems: [],\n polarItems: []\n };\n var graphicalItemsSlice = createSlice({\n name: \"graphicalItems\",\n initialState: initialState7,\n reducers: {\n addCartesianGraphicalItem: {\n reducer(state2, action) {\n state2.cartesianItems.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceCartesianGraphicalItem: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).cartesianItems.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.cartesianItems[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeCartesianGraphicalItem: {\n reducer(state2, action) {\n var index2 = current(state2).cartesianItems.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.cartesianItems.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n addPolarGraphicalItem: {\n reducer(state2, action) {\n state2.polarItems.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n removePolarGraphicalItem: {\n reducer(state2, action) {\n var index2 = current(state2).polarItems.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.polarItems.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n replacePolarGraphicalItem: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).polarItems.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.polarItems[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n addCartesianGraphicalItem,\n replaceCartesianGraphicalItem,\n removeCartesianGraphicalItem,\n addPolarGraphicalItem,\n removePolarGraphicalItem,\n replacePolarGraphicalItem\n } = graphicalItemsSlice.actions;\n var graphicalItemsReducer = graphicalItemsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetGraphicalItem.js\n var SetCartesianGraphicalItemImpl = (props) => {\n var dispatch = useAppDispatch();\n var prevPropsRef = (0, import_react44.useRef)(null);\n (0, import_react44.useLayoutEffect)(() => {\n if (prevPropsRef.current === null) {\n dispatch(addCartesianGraphicalItem(props));\n } else if (prevPropsRef.current !== props) {\n dispatch(replaceCartesianGraphicalItem({\n prev: prevPropsRef.current,\n next: props\n }));\n }\n prevPropsRef.current = props;\n }, [dispatch, props]);\n (0, import_react44.useLayoutEffect)(() => {\n return () => {\n if (prevPropsRef.current) {\n dispatch(removeCartesianGraphicalItem(prevPropsRef.current));\n prevPropsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n };\n var SetCartesianGraphicalItem = /* @__PURE__ */ (0, import_react44.memo)(SetCartesianGraphicalItemImpl);\n var SetPolarGraphicalItemImpl = (props) => {\n var dispatch = useAppDispatch();\n var prevPropsRef = (0, import_react44.useRef)(null);\n (0, import_react44.useLayoutEffect)(() => {\n if (prevPropsRef.current === null) {\n dispatch(addPolarGraphicalItem(props));\n } else if (prevPropsRef.current !== props) {\n dispatch(replacePolarGraphicalItem({\n prev: prevPropsRef.current,\n next: props\n }));\n }\n prevPropsRef.current = props;\n }, [dispatch, props]);\n (0, import_react44.useLayoutEffect)(() => {\n return () => {\n if (prevPropsRef.current) {\n dispatch(removePolarGraphicalItem(prevPropsRef.current));\n prevPropsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n };\n var SetPolarGraphicalItem = /* @__PURE__ */ (0, import_react44.memo)(SetPolarGraphicalItemImpl);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Pie.js\n var _excluded16 = [\"key\"];\n var _excluded28 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded33 = [\"id\"];\n var _excluded42 = [\"id\"];\n function _extends22() {\n return _extends22 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends22.apply(null, arguments);\n }\n function _objectWithoutProperties16(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose16(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose16(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys35(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread35(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys35(Object(t2), true).forEach(function(r3) {\n _defineProperty37(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys35(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty37(e, r2, t2) {\n return (r2 = _toPropertyKey37(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey37(t2) {\n var i = _toPrimitive37(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive37(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function SetPiePayloadLegend(props) {\n var cells = (0, import_react45.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var legendPayload = useAppSelector((state2) => selectPieLegend(state2, props.id, cells));\n if (legendPayload == null) {\n return null;\n }\n return /* @__PURE__ */ React90.createElement(SetPolarLegendPayload, {\n legendPayload\n });\n }\n function getActiveShapeFill(activeShape) {\n if (activeShape == null || typeof activeShape === \"boolean\" || typeof activeShape === \"function\") {\n return void 0;\n }\n if (/* @__PURE__ */ React90.isValidElement(activeShape)) {\n var _activeShape$props;\n var _fill = (_activeShape$props = activeShape.props) === null || _activeShape$props === void 0 ? void 0 : _activeShape$props.fill;\n return typeof _fill === \"string\" ? _fill : void 0;\n }\n var {\n fill\n } = activeShape;\n return typeof fill === \"string\" ? fill : void 0;\n }\n var SetPieTooltipEntrySettings = /* @__PURE__ */ React90.memo((_ref2) => {\n var {\n dataKey,\n nameKey,\n sectors,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id,\n activeShape\n } = _ref2;\n var activeShapeFill = getActiveShapeFill(activeShape);\n var tooltipDataDefinedOnItem = sectors.map((sector) => {\n var sectorTooltipPayload = sector.tooltipPayload;\n if (activeShapeFill == null || sectorTooltipPayload == null) {\n return sectorTooltipPayload;\n }\n return sectorTooltipPayload.map((item) => _objectSpread35(_objectSpread35({}, item), {}, {\n color: activeShapeFill,\n fill: activeShapeFill\n }));\n });\n var tooltipEntrySettings = {\n dataDefinedOnItem: tooltipDataDefinedOnItem,\n getPosition: (index2) => {\n var _sectors$Number;\n return (_sectors$Number = sectors[Number(index2)]) === null || _sectors$Number === void 0 ? void 0 : _sectors$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // why doesn't Pie support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React90.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var getTextAnchor = (x2, cx2) => {\n if (x2 > cx2) {\n return \"start\";\n }\n if (x2 < cx2) {\n return \"end\";\n }\n return \"middle\";\n };\n var getOuterRadius = (dataPoint, outerRadius, maxPieRadius) => {\n if (typeof outerRadius === \"function\") {\n return getPercentValue(outerRadius(dataPoint), maxPieRadius, maxPieRadius * 0.8);\n }\n return getPercentValue(outerRadius, maxPieRadius, maxPieRadius * 0.8);\n };\n var parseCoordinateOfPie = (pieSettings, offset4, dataPoint) => {\n var {\n top,\n left,\n width,\n height\n } = offset4;\n var maxPieRadius = getMaxRadius(width, height);\n var cx2 = left + getPercentValue(pieSettings.cx, width, width / 2);\n var cy = top + getPercentValue(pieSettings.cy, height, height / 2);\n var innerRadius = getPercentValue(pieSettings.innerRadius, maxPieRadius, 0);\n var outerRadius = getOuterRadius(dataPoint, pieSettings.outerRadius, maxPieRadius);\n var maxRadius = pieSettings.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n maxRadius\n };\n };\n var parseDeltaAngle = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign2 * deltaAngle;\n };\n var renderLabelLineItem = (option, props) => {\n if (/* @__PURE__ */ React90.isValidElement(option)) {\n return /* @__PURE__ */ React90.cloneElement(option, props);\n }\n if (typeof option === \"function\") {\n return option(props);\n }\n var className = clsx(\"recharts-pie-label-line\", typeof option !== \"boolean\" ? option.className : \"\");\n var {\n key\n } = props, otherProps = _objectWithoutProperties16(props, _excluded16);\n return /* @__PURE__ */ React90.createElement(Curve, _extends22({}, otherProps, {\n type: \"linear\",\n className\n }));\n };\n var renderLabelItem = (option, props, value) => {\n if (/* @__PURE__ */ React90.isValidElement(option)) {\n return /* @__PURE__ */ React90.cloneElement(option, props);\n }\n var label = value;\n if (typeof option === \"function\") {\n label = option(props);\n if (/* @__PURE__ */ React90.isValidElement(label)) {\n return label;\n }\n }\n var className = clsx(\"recharts-pie-label-text\", getClassNameFromUnknown(option));\n return /* @__PURE__ */ React90.createElement(Text, _extends22({}, props, {\n alignmentBaseline: \"middle\",\n className\n }), label);\n };\n function PieLabels(_ref2) {\n var {\n sectors,\n props,\n showLabels\n } = _ref2;\n var {\n label,\n labelLine,\n dataKey\n } = props;\n if (!showLabels || !label || !sectors) {\n return null;\n }\n var pieProps = svgPropertiesNoEvents(props);\n var customLabelProps = svgPropertiesNoEventsFromUnknown(label);\n var customLabelLineProps = svgPropertiesNoEventsFromUnknown(labelLine);\n var offsetRadius = typeof label === \"object\" && \"offsetRadius\" in label && typeof label.offsetRadius === \"number\" && label.offsetRadius || 20;\n var labels = sectors.map((entry, i) => {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n var labelProps = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieProps), entry), {}, {\n // @ts-expect-error customLabelProps is contributing unknown props\n stroke: \"none\"\n }, customLabelProps), {}, {\n index: i,\n textAnchor: getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n var lineProps = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieProps), entry), {}, {\n // @ts-expect-error customLabelLineProps is contributing unknown props\n fill: \"none\",\n // @ts-expect-error customLabelLineProps is contributing unknown props\n stroke: entry.fill\n }, customLabelLineProps), {}, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint],\n key: \"line\"\n });\n return /* @__PURE__ */ React90.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.label,\n key: \"label-\".concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }, /* @__PURE__ */ React90.createElement(Layer, null, labelLine && renderLabelLineItem(labelLine, lineProps), renderLabelItem(label, labelProps, getValueByDataKey(entry, dataKey))));\n });\n return /* @__PURE__ */ React90.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n function PieLabelList(_ref3) {\n var {\n sectors,\n props,\n showLabels\n } = _ref3;\n var {\n label\n } = props;\n if (typeof label === \"object\" && label != null && \"position\" in label) {\n return /* @__PURE__ */ React90.createElement(LabelListFromLabelProp, {\n label\n });\n }\n return /* @__PURE__ */ React90.createElement(PieLabels, {\n sectors,\n props,\n showLabels\n });\n }\n function PieSectors(props) {\n var {\n sectors,\n activeShape,\n inactiveShape: inactiveShapeProp,\n allOtherPieProps,\n shape,\n id\n } = props;\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataKey = useAppSelector(selectActiveTooltipDataKey);\n var activeGraphicalItemId = useAppSelector(selectActiveTooltipGraphicalItemId);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherPieProps, restOfAllOtherProps = _objectWithoutProperties16(allOtherPieProps, _excluded28);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherPieProps.dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherPieProps.dataKey, id);\n if (sectors == null || sectors.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React90.createElement(React90.Fragment, null, sectors.map((entry, i) => {\n if ((entry === null || entry === void 0 ? void 0 : entry.startAngle) === 0 && (entry === null || entry === void 0 ? void 0 : entry.endAngle) === 0 && sectors.length !== 1) return null;\n var graphicalItemMatches = activeGraphicalItemId == null || activeGraphicalItemId === id;\n var isActive = String(i) === activeIndex && (activeDataKey == null || allOtherPieProps.dataKey === activeDataKey) && graphicalItemMatches;\n var inactiveShape = activeIndex ? inactiveShapeProp : null;\n var sectorOptions = activeShape && isActive ? activeShape : inactiveShape;\n var sectorProps = _objectSpread35(_objectSpread35({}, entry), {}, {\n stroke: entry.stroke,\n tabIndex: -1,\n [DATA_ITEM_INDEX_ATTRIBUTE_NAME]: i,\n [DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME]: id\n });\n return /* @__PURE__ */ React90.createElement(Layer, _extends22({\n key: \"sector-\".concat(entry === null || entry === void 0 ? void 0 : entry.startAngle, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i),\n tabIndex: -1,\n className: \"recharts-pie-sector\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React90.createElement(Shape, _extends22({\n option: shape !== null && shape !== void 0 ? shape : sectorOptions,\n index: i,\n shapeType: \"sector\",\n isActive\n }, sectorProps)));\n }));\n }\n function computePieSectors(_ref4) {\n var _pieSettings$paddingA;\n var {\n pieSettings,\n displayedData,\n cells,\n offset: offset4\n } = _ref4;\n var {\n cornerRadius,\n startAngle,\n endAngle,\n dataKey,\n nameKey,\n tooltipType\n } = pieSettings;\n var minAngle = Math.abs(pieSettings.minAngle);\n var deltaAngle = parseDeltaAngle(startAngle, endAngle);\n var absDeltaAngle = Math.abs(deltaAngle);\n var paddingAngle = displayedData.length <= 1 ? 0 : (_pieSettings$paddingA = pieSettings.paddingAngle) !== null && _pieSettings$paddingA !== void 0 ? _pieSettings$paddingA : 0;\n var notZeroItemCount = displayedData.filter((entry) => getValueByDataKey(entry, dataKey, 0) !== 0).length;\n var totalPaddingAngle = (absDeltaAngle >= 360 ? notZeroItemCount : notZeroItemCount - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - notZeroItemCount * minAngle - totalPaddingAngle;\n var sum = displayedData.reduce((result, entry) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n return result + (isNumber3(val) ? val : 0);\n }, 0);\n var sectors;\n if (sum > 0) {\n var prev;\n sectors = displayedData.map((entry, i) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var coordinate = parseCoordinateOfPie(pieSettings, offset4, entry);\n var percent = (isNumber3(val) ? val : 0) / sum;\n var tempStartAngle;\n var entryWithCellInfo = _objectSpread35(_objectSpread35({}, entry), cells && cells[i] && cells[i].props);\n var sectorColor = entryWithCellInfo != null && \"fill\" in entryWithCellInfo && typeof entryWithCellInfo.fill === \"string\" ? entryWithCellInfo.fill : pieSettings.fill;\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle * (val !== 0 ? 1 : 0);\n } else {\n tempStartAngle = startAngle;\n }\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * ((val !== 0 ? minAngle : 0) + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name,\n value: val,\n payload: entryWithCellInfo,\n dataKey,\n type: tooltipType,\n color: sectorColor,\n fill: sectorColor,\n graphicalItemId: pieSettings.id\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieSettings.presentationProps), {}, {\n percent,\n cornerRadius: typeof cornerRadius === \"string\" ? parseFloat(cornerRadius) : cornerRadius,\n name,\n tooltipPayload,\n midAngle,\n middleRadius,\n tooltipPosition\n }, entryWithCellInfo), coordinate), {}, {\n value: val,\n dataKey,\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entryWithCellInfo,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n return sectors;\n }\n function PieLabelListProvider(_ref5) {\n var {\n showLabels,\n sectors,\n children\n } = _ref5;\n var labelListEntries = (0, import_react45.useMemo)(() => {\n if (!showLabels || !sectors) {\n return [];\n }\n return sectors.map((entry) => ({\n value: entry.value,\n payload: entry.payload,\n clockWise: false,\n parentViewBox: void 0,\n viewBox: {\n cx: entry.cx,\n cy: entry.cy,\n innerRadius: entry.innerRadius,\n outerRadius: entry.outerRadius,\n startAngle: entry.startAngle,\n endAngle: entry.endAngle,\n clockWise: false\n },\n fill: entry.fill\n }));\n }, [sectors, showLabels]);\n return /* @__PURE__ */ React90.createElement(PolarLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function SectorsWithAnimation(_ref6) {\n var {\n props,\n previousSectorsRef,\n id\n } = _ref6;\n var {\n sectors,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n activeShape,\n inactiveShape,\n onAnimationStart,\n onAnimationEnd\n } = props;\n var animationId = useAnimationId(props, \"recharts-pie-\");\n var prevSectors = previousSectorsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react45.useState)(false);\n var handleAnimationEnd = (0, import_react45.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react45.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React90.createElement(PieLabelListProvider, {\n showLabels: !isAnimating,\n sectors\n }, /* @__PURE__ */ React90.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd,\n key: animationId\n }, (t2) => {\n var _first$startAngle;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = (_first$startAngle = first === null || first === void 0 ? void 0 : first.startAngle) !== null && _first$startAngle !== void 0 ? _first$startAngle : 0;\n sectors === null || sectors === void 0 || sectors.forEach((entry, index2) => {\n var prev = prevSectors && prevSectors[index2];\n var paddingAngle = index2 > 0 ? (0, import_get4.default)(entry, \"paddingAngle\", 0) : 0;\n if (prev) {\n var angle = interpolate(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle, t2);\n var latest3 = _objectSpread35(_objectSpread35({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angle + paddingAngle\n });\n stepData.push(latest3);\n curAngle = latest3.endAngle;\n } else {\n var {\n endAngle,\n startAngle\n } = entry;\n var deltaAngle = interpolate(0, endAngle - startAngle, t2);\n var _latest = _objectSpread35(_objectSpread35({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n previousSectorsRef.current = stepData;\n return /* @__PURE__ */ React90.createElement(Layer, null, /* @__PURE__ */ React90.createElement(PieSectors, {\n sectors: stepData,\n activeShape,\n inactiveShape,\n allOtherPieProps: props,\n shape: props.shape,\n id\n }));\n }), /* @__PURE__ */ React90.createElement(PieLabelList, {\n showLabels: !isAnimating,\n sectors,\n props\n }), props.children);\n }\n var defaultPieProps = {\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: \"ease\",\n cx: \"50%\",\n cy: \"50%\",\n dataKey: \"value\",\n endAngle: 360,\n fill: \"#808080\",\n hide: false,\n innerRadius: 0,\n isAnimationActive: \"auto\",\n label: false,\n labelLine: true,\n legendType: \"rect\",\n minAngle: 0,\n nameKey: \"name\",\n outerRadius: \"80%\",\n paddingAngle: 0,\n rootTabIndex: 0,\n startAngle: 0,\n stroke: \"#fff\",\n zIndex: DefaultZIndexes.area\n };\n function PieImpl(props) {\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties16(props, _excluded33);\n var {\n hide: hide4,\n className,\n rootTabIndex\n } = props;\n var cells = (0, import_react45.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var sectors = useAppSelector((state2) => selectPieSectors(state2, id, cells));\n var previousSectorsRef = (0, import_react45.useRef)(null);\n var layerClass = clsx(\"recharts-pie\", className);\n if (hide4 || sectors == null) {\n previousSectorsRef.current = null;\n return /* @__PURE__ */ React90.createElement(Layer, {\n tabIndex: rootTabIndex,\n className: layerClass\n });\n }\n return /* @__PURE__ */ React90.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React90.createElement(SetPieTooltipEntrySettings, {\n dataKey: props.dataKey,\n nameKey: props.nameKey,\n sectors,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id,\n activeShape: props.activeShape\n }), /* @__PURE__ */ React90.createElement(Layer, {\n tabIndex: rootTabIndex,\n className: layerClass\n }, /* @__PURE__ */ React90.createElement(SectorsWithAnimation, {\n props: _objectSpread35(_objectSpread35({}, propsWithoutId), {}, {\n sectors\n }),\n previousSectorsRef,\n id\n })));\n }\n function PieFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultPieProps);\n var {\n id: externalId\n } = props, propsWithoutId = _objectWithoutProperties16(props, _excluded42);\n var presentationProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React90.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"pie\"\n }, (id) => /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(SetPolarGraphicalItem, {\n type: \"pie\",\n id,\n data: propsWithoutId.data,\n dataKey: propsWithoutId.dataKey,\n hide: propsWithoutId.hide,\n angleAxisId: 0,\n radiusAxisId: 0,\n name: propsWithoutId.name,\n nameKey: propsWithoutId.nameKey,\n tooltipType: propsWithoutId.tooltipType,\n legendType: propsWithoutId.legendType,\n fill: propsWithoutId.fill,\n cx: propsWithoutId.cx,\n cy: propsWithoutId.cy,\n startAngle: propsWithoutId.startAngle,\n endAngle: propsWithoutId.endAngle,\n paddingAngle: propsWithoutId.paddingAngle,\n minAngle: propsWithoutId.minAngle,\n innerRadius: propsWithoutId.innerRadius,\n outerRadius: propsWithoutId.outerRadius,\n cornerRadius: propsWithoutId.cornerRadius,\n presentationProps,\n maxRadius: props.maxRadius\n }), /* @__PURE__ */ React90.createElement(SetPiePayloadLegend, _extends22({}, propsWithoutId, {\n id\n })), /* @__PURE__ */ React90.createElement(PieImpl, _extends22({}, propsWithoutId, {\n id\n }))));\n }\n var Pie = PieFn;\n Pie.displayName = \"Pie\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Radar.js\n var React93 = __toESM(require_react());\n var import_react48 = __toESM(require_react());\n var import_last = __toESM(require_last3());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Dots.js\n var React91 = __toESM(require_react());\n var import_react46 = __toESM(require_react());\n var _excluded17 = [\"points\"];\n function ownKeys36(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread36(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys36(Object(t2), true).forEach(function(r3) {\n _defineProperty38(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys36(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty38(e, r2, t2) {\n return (r2 = _toPropertyKey38(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey38(t2) {\n var i = _toPrimitive38(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive38(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends23() {\n return _extends23 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends23.apply(null, arguments);\n }\n function _objectWithoutProperties17(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose17(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose17(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function DotItem(_ref2) {\n var {\n option,\n dotProps,\n className\n } = _ref2;\n if (/* @__PURE__ */ (0, import_react46.isValidElement)(option)) {\n return /* @__PURE__ */ (0, import_react46.cloneElement)(option, dotProps);\n }\n if (typeof option === \"function\") {\n return option(dotProps);\n }\n var finalClassName = clsx(className, typeof option !== \"boolean\" ? option.className : \"\");\n var _ref22 = dotProps !== null && dotProps !== void 0 ? dotProps : {}, {\n points\n } = _ref22, props = _objectWithoutProperties17(_ref22, _excluded17);\n return /* @__PURE__ */ React91.createElement(Dot, _extends23({}, props, {\n className: finalClassName\n }));\n }\n function shouldRenderDots(points, dot) {\n if (points == null) {\n return false;\n }\n if (dot) {\n return true;\n }\n return points.length === 1;\n }\n function Dots(_ref3) {\n var {\n points,\n dot,\n className,\n dotClassName,\n dataKey,\n baseProps,\n needClip,\n clipPathId,\n zIndex = DefaultZIndexes.scatter\n } = _ref3;\n if (!shouldRenderDots(points, dot)) {\n return null;\n }\n var clipDot = isClipDot(dot);\n var customDotProps = svgPropertiesAndEventsFromUnknown(dot);\n var dots = points.map((entry, i) => {\n var _entry$x, _entry$y;\n var dotProps = _objectSpread36(_objectSpread36(_objectSpread36({\n r: 3\n }, baseProps), customDotProps), {}, {\n index: i,\n cx: (_entry$x = entry.x) !== null && _entry$x !== void 0 ? _entry$x : void 0,\n cy: (_entry$y = entry.y) !== null && _entry$y !== void 0 ? _entry$y : void 0,\n dataKey,\n value: entry.value,\n payload: entry.payload,\n points\n });\n return /* @__PURE__ */ React91.createElement(DotItem, {\n key: \"dot-\".concat(i),\n option: dot,\n dotProps,\n className: dotClassName\n });\n });\n var layerProps = {};\n if (needClip && clipPathId != null) {\n layerProps.clipPath = \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\");\n }\n return /* @__PURE__ */ React91.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React91.createElement(Layer, _extends23({\n className\n }, layerProps), dots));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ActivePoints.js\n var React92 = __toESM(require_react());\n var import_react47 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/cartesianAxisSlice.js\n function ownKeys37(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread37(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys37(Object(t2), true).forEach(function(r3) {\n _defineProperty39(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys37(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty39(e, r2, t2) {\n return (r2 = _toPropertyKey39(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey39(t2) {\n var i = _toPrimitive39(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive39(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultAxisId = 0;\n var initialState8 = {\n xAxis: {},\n yAxis: {},\n zAxis: {}\n };\n var cartesianAxisSlice = createSlice({\n name: \"cartesianAxis\",\n initialState: initialState8,\n reducers: {\n addXAxis: {\n reducer(state2, action) {\n state2.xAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceXAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.xAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.xAxis[prev.id];\n }\n state2.xAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeXAxis: {\n reducer(state2, action) {\n delete state2.xAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n addYAxis: {\n reducer(state2, action) {\n state2.yAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceYAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.yAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.yAxis[prev.id];\n }\n state2.yAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeYAxis: {\n reducer(state2, action) {\n delete state2.yAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n addZAxis: {\n reducer(state2, action) {\n state2.zAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceZAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.zAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.zAxis[prev.id];\n }\n state2.zAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeZAxis: {\n reducer(state2, action) {\n delete state2.zAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n updateYAxisWidth(state2, action) {\n var {\n id,\n width\n } = action.payload;\n var axis = state2.yAxis[id];\n if (axis) {\n var _history$;\n var history = axis.widthHistory || [];\n if (history.length === 3 && history[0] === history[2] && width === history[1] && width !== axis.width && Math.abs(width - ((_history$ = history[0]) !== null && _history$ !== void 0 ? _history$ : 0)) <= 1) {\n return;\n }\n var newHistory = [...history, width].slice(-3);\n state2.yAxis[id] = _objectSpread37(_objectSpread37({}, axis), {}, {\n width,\n widthHistory: newHistory\n });\n }\n }\n }\n });\n var {\n addXAxis,\n replaceXAxis,\n removeXAxis,\n addYAxis,\n replaceYAxis,\n removeYAxis,\n addZAxis,\n replaceZAxis,\n removeZAxis,\n updateYAxisWidth\n } = cartesianAxisSlice.actions;\n var cartesianAxisReducer = cartesianAxisSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectChartOffset.js\n var selectChartOffset = createSelector([selectChartOffsetInternal], (offsetInternal) => {\n return {\n top: offsetInternal.top,\n bottom: offsetInternal.bottom,\n left: offsetInternal.left,\n right: offsetInternal.right\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectPlotArea.js\n var selectPlotArea = createSelector([selectChartOffset, selectChartWidth, selectChartHeight], (offset4, chartWidth, chartHeight) => {\n if (!offset4 || chartWidth == null || chartHeight == null) {\n return void 0;\n }\n return {\n x: offset4.left,\n y: offset4.top,\n width: Math.max(0, chartWidth - offset4.left - offset4.right),\n height: Math.max(0, chartHeight - offset4.top - offset4.bottom)\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/hooks.js\n var usePlotArea = () => {\n return useAppSelector(selectPlotArea);\n };\n var useActiveTooltipDataPoints = () => {\n return useAppSelector(selectActiveTooltipDataPoints);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ActivePoints.js\n function ownKeys38(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread38(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys38(Object(t2), true).forEach(function(r3) {\n _defineProperty40(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys38(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty40(e, r2, t2) {\n return (r2 = _toPropertyKey40(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey40(t2) {\n var i = _toPrimitive40(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive40(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var ActivePoint = (_ref2) => {\n var {\n point: point4,\n childIndex,\n mainColor,\n activeDot,\n dataKey,\n clipPath\n } = _ref2;\n if (activeDot === false || point4.x == null || point4.y == null) {\n return null;\n }\n var dotPropsTyped = {\n index: childIndex,\n dataKey,\n cx: point4.x,\n cy: point4.y,\n r: 4,\n fill: mainColor !== null && mainColor !== void 0 ? mainColor : \"none\",\n strokeWidth: 2,\n stroke: \"#fff\",\n payload: point4.payload,\n value: point4.value\n };\n var dotProps = _objectSpread38(_objectSpread38(_objectSpread38({}, dotPropsTyped), svgPropertiesNoEventsFromUnknown(activeDot)), adaptEventHandlers(activeDot));\n var dot;\n if (/* @__PURE__ */ (0, import_react47.isValidElement)(activeDot)) {\n dot = /* @__PURE__ */ (0, import_react47.cloneElement)(activeDot, dotProps);\n } else if (typeof activeDot === \"function\") {\n dot = activeDot(dotProps);\n } else {\n dot = /* @__PURE__ */ React92.createElement(Dot, dotProps);\n }\n return /* @__PURE__ */ React92.createElement(Layer, {\n className: \"recharts-active-dot\",\n clipPath\n }, dot);\n };\n function ActivePoints(_ref2) {\n var {\n points,\n mainColor,\n activeDot,\n itemDataKey,\n clipPath,\n zIndex = DefaultZIndexes.activeDot\n } = _ref2;\n var activeTooltipIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataPoints = useActiveTooltipDataPoints();\n if (points == null || activeDataPoints == null) {\n return null;\n }\n var activePoint = points.find((p) => activeDataPoints.includes(p.payload));\n if (isNullish(activePoint)) {\n return null;\n }\n return /* @__PURE__ */ React92.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React92.createElement(ActivePoint, {\n point: activePoint,\n childIndex: Number(activeTooltipIndex),\n mainColor,\n dataKey: itemDataKey,\n activeDot,\n clipPath\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/radarSelectors.js\n function ownKeys39(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread39(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys39(Object(t2), true).forEach(function(r3) {\n _defineProperty41(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys39(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty41(e, r2, t2) {\n return (r2 = _toPropertyKey41(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey41(t2) {\n var i = _toPrimitive41(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive41(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectRadiusAxisScale = (state2, radiusAxisId) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId);\n var selectRadiusAxisForRadar = createSelector([selectRadiusAxisScale], (scale) => {\n if (scale == null) {\n return void 0;\n }\n return {\n scale\n };\n });\n var selectRadiusAxisForBandSize = createSelector([selectRadiusAxis, selectRadiusAxisScale], (axisSettings, scale) => {\n if (axisSettings == null || scale == null) {\n return void 0;\n }\n return _objectSpread39(_objectSpread39({}, axisSettings), {}, {\n scale\n });\n });\n var selectRadiusAxisTicks2 = (state2, radiusAxisId, _angleAxisId, isPanorama) => {\n return selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, isPanorama);\n };\n var selectAngleAxisForRadar = (state2, _radiusAxisId, angleAxisId) => selectAngleAxis(state2, angleAxisId);\n var selectPolarAxisScaleForRadar = (state2, _radiusAxisId, angleAxisId) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId);\n var selectAngleAxisForBandSize = createSelector([selectAngleAxisForRadar, selectPolarAxisScaleForRadar], (axisSettings, scale) => {\n if (axisSettings == null || scale == null) {\n return void 0;\n }\n return _objectSpread39(_objectSpread39({}, axisSettings), {}, {\n scale\n });\n });\n var selectAngleAxisTicks2 = (state2, _radiusAxisId, angleAxisId, isPanorama) => {\n return selectPolarAxisTicks(state2, \"angleAxis\", angleAxisId, isPanorama);\n };\n var selectAngleAxisWithScaleAndViewport = createSelector([selectAngleAxisForRadar, selectPolarAxisScaleForRadar, selectPolarViewBox], (axisOptions, scale, polarViewBox) => {\n if (polarViewBox == null || scale == null) {\n return void 0;\n }\n return {\n scale,\n type: axisOptions.type,\n dataKey: axisOptions.dataKey,\n cx: polarViewBox.cx,\n cy: polarViewBox.cy\n };\n });\n var pickId2 = (_state, _radiusAxisId, _angleAxisId, _isPanorama, radarId) => radarId;\n var selectBandSizeOfAxis = createSelector([selectChartLayout, selectRadiusAxisForBandSize, selectRadiusAxisTicks2, selectAngleAxisForBandSize, selectAngleAxisTicks2], (layout, radiusAxis, radiusAxisTicks, angleAxis, angleAxisTicks) => {\n if (isCategoricalAxis(layout, \"radiusAxis\")) {\n return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, false);\n }\n return getBandSizeOfAxis(angleAxis, angleAxisTicks, false);\n });\n var selectSynchronisedRadarDataKey = createSelector([selectUnfilteredPolarItems, pickId2], (graphicalItems, radarId) => {\n if (graphicalItems == null) {\n return void 0;\n }\n var pgis = graphicalItems.find((item) => item.type === \"radar\" && radarId === item.id);\n return pgis === null || pgis === void 0 ? void 0 : pgis.dataKey;\n });\n var selectRadarPoints = createSelector([selectRadiusAxisForRadar, selectAngleAxisWithScaleAndViewport, selectChartDataAndAlwaysIgnoreIndexes, selectSynchronisedRadarDataKey, selectBandSizeOfAxis], (radiusAxis, angleAxis, _ref2, dataKey, bandSize) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (radiusAxis == null || angleAxis == null || chartData == null || bandSize == null || dataKey == null) {\n return void 0;\n }\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n return computeRadarPoints({\n radiusAxis,\n angleAxis,\n displayedData,\n dataKey,\n bandSize\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Radar.js\n var _excluded18 = [\"id\"];\n function _extends24() {\n return _extends24 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends24.apply(null, arguments);\n }\n function ownKeys40(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread40(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys40(Object(t2), true).forEach(function(r3) {\n _defineProperty42(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys40(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty42(e, r2, t2) {\n return (r2 = _toPropertyKey42(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey42(t2) {\n var i = _toPrimitive42(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive42(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties18(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose18(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose18(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function getLegendItemColor(stroke, fill) {\n return stroke && stroke !== \"none\" ? stroke : fill;\n }\n var computeLegendPayloadFromRadarSectors = (props) => {\n var {\n dataKey,\n name,\n stroke,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: getLegendItemColor(stroke, fill),\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetRadarTooltipEntrySettings = /* @__PURE__ */ React93.memo((_ref2) => {\n var {\n dataKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n /*\n * I suppose this here _could_ return props.points\n * because while Radar does not support item tooltip mode, it _could_ support it.\n * But when I actually do return the points here, a defaultIndex test starts failing.\n * So, undefined it is.\n */\n dataDefinedOnItem: void 0,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n // RadarChart does not have nameKey unfortunately\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: getLegendItemColor(stroke, fill),\n unit: \"\",\n // why doesn't Radar support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React93.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function RadarDotsWrapper(_ref2) {\n var {\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties18(props, _excluded18);\n var baseProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React93.createElement(Dots, {\n points,\n dot,\n className: \"recharts-radar-dots\",\n dotClassName: \"recharts-radar-dot\",\n dataKey,\n baseProps\n });\n }\n function computeRadarPoints(_ref3) {\n var {\n radiusAxis,\n angleAxis,\n displayedData,\n dataKey,\n bandSize\n } = _ref3;\n var {\n cx: cx2,\n cy\n } = angleAxis;\n var isRange = false;\n var points = [];\n var angleBandSize = angleAxis.type !== \"number\" ? bandSize !== null && bandSize !== void 0 ? bandSize : 0 : 0;\n displayedData.forEach((entry, i) => {\n var _angleAxis$scale$map, _radiusAxis$scale$map;\n var name = getValueByDataKey(entry, angleAxis.dataKey, i);\n var value = getValueByDataKey(entry, dataKey);\n var angle = ((_angleAxis$scale$map = angleAxis.scale.map(name)) !== null && _angleAxis$scale$map !== void 0 ? _angleAxis$scale$map : 0) + angleBandSize;\n var pointValue = Array.isArray(value) ? (0, import_last.default)(value) : value;\n var radius = isNullish(pointValue) ? 0 : (_radiusAxis$scale$map = radiusAxis.scale.map(pointValue)) !== null && _radiusAxis$scale$map !== void 0 ? _radiusAxis$scale$map : 0;\n if (Array.isArray(value) && value.length >= 2) {\n isRange = true;\n }\n points.push(_objectSpread40(_objectSpread40({}, polarToCartesian(cx2, cy, radius, angle)), {}, {\n // getValueByDataKey does not validate the output type\n name,\n // getValueByDataKey does not validate the output type\n value,\n cx: cx2,\n cy,\n radius,\n angle,\n payload: entry\n }));\n });\n var baseLinePoints = [];\n if (isRange) {\n points.forEach((point4) => {\n if (Array.isArray(point4.value)) {\n var _radiusAxis$scale$map2;\n var baseValue = point4.value[0];\n var radius = isNullish(baseValue) ? 0 : (_radiusAxis$scale$map2 = radiusAxis.scale.map(baseValue)) !== null && _radiusAxis$scale$map2 !== void 0 ? _radiusAxis$scale$map2 : 0;\n baseLinePoints.push(_objectSpread40(_objectSpread40({}, point4), {}, {\n radius\n }, polarToCartesian(cx2, cy, radius, point4.angle)));\n } else {\n baseLinePoints.push(point4);\n }\n });\n }\n return {\n points,\n isRange,\n baseLinePoints\n };\n }\n function RadarLabelListProvider(_ref4) {\n var {\n showLabels,\n points,\n children\n } = _ref4;\n var labelListEntries = points.map((point4) => {\n var _point$value;\n var viewBox = {\n x: point4.x,\n y: point4.y,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread40(_objectSpread40({}, viewBox), {}, {\n value: (_point$value = point4.value) !== null && _point$value !== void 0 ? _point$value : \"\",\n payload: point4.payload,\n parentViewBox: void 0,\n viewBox,\n fill: void 0\n });\n });\n return /* @__PURE__ */ React93.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticPolygon(_ref5) {\n var {\n points,\n baseLinePoints,\n props\n } = _ref5;\n if (points == null) {\n return null;\n }\n var {\n shape,\n isRange,\n connectNulls\n } = props;\n var handleMouseEnter = (e) => {\n var {\n onMouseEnter\n } = props;\n if (onMouseEnter) {\n onMouseEnter(props, e);\n }\n };\n var handleMouseLeave = (e) => {\n var {\n onMouseLeave\n } = props;\n if (onMouseLeave) {\n onMouseLeave(props, e);\n }\n };\n var radar;\n if (/* @__PURE__ */ React93.isValidElement(shape)) {\n radar = /* @__PURE__ */ React93.cloneElement(shape, _objectSpread40(_objectSpread40({}, props), {}, {\n points\n }));\n } else if (typeof shape === \"function\") {\n radar = shape(_objectSpread40(_objectSpread40({}, props), {}, {\n points\n }));\n } else {\n radar = /* @__PURE__ */ React93.createElement(Polygon, _extends24({}, svgPropertiesAndEvents(props), {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n points,\n baseLinePoints: isRange ? baseLinePoints : void 0,\n connectNulls\n }));\n }\n return /* @__PURE__ */ React93.createElement(Layer, {\n className: \"recharts-radar-polygon\"\n }, radar, /* @__PURE__ */ React93.createElement(RadarDotsWrapper, {\n props,\n points\n }));\n }\n var interpolatePolarPoint = (prevPoints, prevPointsDiffFactor, t2) => (entry, index2) => {\n var prev = prevPoints && prevPoints[Math.floor(index2 * prevPointsDiffFactor)];\n if (prev) {\n return _objectSpread40(_objectSpread40({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return _objectSpread40(_objectSpread40({}, entry), {}, {\n x: interpolate(entry.cx, entry.x, t2),\n y: interpolate(entry.cy, entry.y, t2)\n });\n };\n function PolygonWithAnimation(_ref6) {\n var {\n props,\n previousPointsRef,\n previousBaseLinePointsRef\n } = _ref6;\n var {\n points,\n baseLinePoints,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var prevBaseLinePoints = previousBaseLinePointsRef.current;\n var prevPointsDiffFactor = prevPoints ? prevPoints.length / points.length : 1;\n var prevBaseLinePointsDiffFactor = prevBaseLinePoints ? prevBaseLinePoints.length / baseLinePoints.length : 1;\n var animationId = useAnimationId(props, \"recharts-radar-\");\n var [isAnimating, setIsAnimating] = (0, import_react48.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react48.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react48.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React93.createElement(RadarLabelListProvider, {\n showLabels,\n points\n }, /* @__PURE__ */ React93.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n key: \"radar-\".concat(animationId),\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart\n }, (t2) => {\n var stepData = t2 === 1 ? points : points.map(interpolatePolarPoint(prevPoints, prevPointsDiffFactor, t2));\n var stepBaseLinePoints = t2 === 1 ? baseLinePoints : baseLinePoints === null || baseLinePoints === void 0 ? void 0 : baseLinePoints.map(interpolatePolarPoint(prevBaseLinePoints, prevBaseLinePointsDiffFactor, t2));\n if (t2 > 0) {\n previousPointsRef.current = stepData;\n previousBaseLinePointsRef.current = stepBaseLinePoints;\n }\n return /* @__PURE__ */ React93.createElement(StaticPolygon, {\n points: stepData,\n baseLinePoints: stepBaseLinePoints,\n props\n });\n }), /* @__PURE__ */ React93.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderPolygon(props) {\n var previousPointsRef = (0, import_react48.useRef)(void 0);\n var previousBaseLinePointsRef = (0, import_react48.useRef)(void 0);\n return /* @__PURE__ */ React93.createElement(PolygonWithAnimation, {\n props,\n previousPointsRef,\n previousBaseLinePointsRef\n });\n }\n var defaultRadarProps = {\n activeDot: true,\n angleAxisId: 0,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n dot: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n radiusAxisId: 0,\n zIndex: DefaultZIndexes.area\n };\n function RadarWithState(props) {\n var {\n hide: hide4,\n className,\n points\n } = props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-radar\", className);\n return /* @__PURE__ */ React93.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React93.createElement(Layer, {\n className: layerClass\n }, /* @__PURE__ */ React93.createElement(RenderPolygon, props)), /* @__PURE__ */ React93.createElement(ActivePoints, {\n points,\n mainColor: getLegendItemColor(props.stroke, props.fill),\n itemDataKey: props.dataKey,\n activeDot: props.activeDot\n }));\n }\n function RadarImpl(props) {\n var isPanorama = useIsPanorama();\n var radarPoints = useAppSelector((state2) => selectRadarPoints(state2, props.radiusAxisId, props.angleAxisId, isPanorama, props.id));\n if ((radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.points) == null) {\n return null;\n }\n return /* @__PURE__ */ React93.createElement(RadarWithState, _extends24({}, props, {\n points: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.points,\n baseLinePoints: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.baseLinePoints,\n isRange: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.isRange\n }));\n }\n function Radar(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultRadarProps);\n return /* @__PURE__ */ React93.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"radar\"\n }, (id) => /* @__PURE__ */ React93.createElement(React93.Fragment, null, /* @__PURE__ */ React93.createElement(SetPolarGraphicalItem, {\n type: \"radar\",\n id,\n data: void 0,\n dataKey: props.dataKey,\n hide: props.hide,\n angleAxisId: props.angleAxisId,\n radiusAxisId: props.radiusAxisId\n }), /* @__PURE__ */ React93.createElement(SetPolarLegendPayload, {\n legendPayload: computeLegendPayloadFromRadarSectors(props)\n }), /* @__PURE__ */ React93.createElement(SetRadarTooltipEntrySettings, {\n dataKey: props.dataKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React93.createElement(RadarImpl, _extends24({}, props, {\n id\n }))));\n }\n Radar.displayName = \"Radar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/RadialBar.js\n var React95 = __toESM(require_react());\n var import_react49 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/RadialBarUtils.js\n var React94 = __toESM(require_react());\n function _extends25() {\n return _extends25 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends25.apply(null, arguments);\n }\n function parseCornerRadius(cornerRadius) {\n if (typeof cornerRadius === \"string\") {\n return parseInt(cornerRadius, 10);\n }\n return cornerRadius;\n }\n function RadialBarSector(props) {\n return /* @__PURE__ */ React94.createElement(Shape, _extends25({\n shapeType: \"sector\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineBarSizeList.js\n var getBarSize = (globalSize, totalSize, selfSize) => {\n var barSize = selfSize !== null && selfSize !== void 0 ? selfSize : globalSize;\n if (isNullish(barSize)) {\n return void 0;\n }\n return getPercentValue(barSize, totalSize, 0);\n };\n var combineBarSizeList = (allBars, globalSize, totalSize) => {\n var initialValue = {};\n var stackedBars = allBars.filter(isStacked);\n var unstackedBars = allBars.filter((b) => b.stackId == null);\n var groupByStack = stackedBars.reduce((acc, bar) => {\n var s2 = acc[bar.stackId];\n if (s2 == null) {\n s2 = [];\n }\n s2.push(bar);\n acc[bar.stackId] = s2;\n return acc;\n }, initialValue);\n var stackedSizeList = Object.entries(groupByStack).map((_ref2) => {\n var _bars$;\n var [stackId, bars] = _ref2;\n var dataKeys = bars.map((b) => b.dataKey);\n var barSize = getBarSize(globalSize, totalSize, (_bars$ = bars[0]) === null || _bars$ === void 0 ? void 0 : _bars$.barSize);\n return {\n stackId,\n dataKeys,\n barSize\n };\n });\n var unstackedSizeList = unstackedBars.map((b) => {\n var dataKeys = [b.dataKey].filter((dk) => dk != null);\n var barSize = getBarSize(globalSize, totalSize, b.barSize);\n return {\n stackId: void 0,\n dataKeys,\n barSize\n };\n });\n return [...stackedSizeList, ...unstackedSizeList];\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineAllBarPositions.js\n function ownKeys41(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread41(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys41(Object(t2), true).forEach(function(r3) {\n _defineProperty43(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys41(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty43(e, r2, t2) {\n return (r2 = _toPropertyKey43(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey43(t2) {\n var i = _toPrimitive43(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive43(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getBarPositions(barGap, barCategoryGap, bandSize, sizeList, maxBarSize) {\n var _sizeList$;\n var len = sizeList.length;\n if (len < 1) {\n return void 0;\n }\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result;\n var initialValue = [];\n if (isWellBehavedNumber((_sizeList$ = sizeList[0]) === null || _sizeList$ === void 0 ? void 0 : _sizeList$.barSize)) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce((res, entry) => res + (entry.barSize || 0), 0);\n sum += (len - 1) * realBarGap;\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n var offset4 = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset4 - realBarGap,\n size: 0\n };\n result = sizeList.reduce((res, entry) => {\n var _entry$barSize;\n var newPosition = {\n stackId: entry.stackId,\n dataKeys: entry.dataKeys,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : (_entry$barSize = entry.barSize) !== null && _entry$barSize !== void 0 ? _entry$barSize : 0\n }\n };\n var newRes = [...res, newPosition];\n prev = newPosition.position;\n return newRes;\n }, initialValue);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n var size4 = isWellBehavedNumber(maxBarSize) ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce((res, entry, i) => [...res, {\n stackId: entry.stackId,\n dataKeys: entry.dataKeys,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size4) / 2,\n size: size4\n }\n }], initialValue);\n }\n return result;\n }\n var combineAllBarPositions = (sizeList, globalMaxBarSize, barGap, barCategoryGap, barBandSize, bandSize, childMaxBarSize) => {\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var allBarPositions = getBarPositions(barGap, barCategoryGap, barBandSize !== bandSize ? barBandSize : bandSize, sizeList, maxBarSize);\n if (barBandSize !== bandSize && allBarPositions != null) {\n allBarPositions = allBarPositions.map((pos) => _objectSpread41(_objectSpread41({}, pos), {}, {\n position: _objectSpread41(_objectSpread41({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n }));\n }\n return allBarPositions;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineStackedData.js\n var combineStackedData = (stackGroups, barSettings) => {\n var stackSeriesIdentifier = getStackSeriesIdentifier(barSettings);\n if (!stackGroups || stackSeriesIdentifier == null || barSettings == null) {\n return void 0;\n }\n var {\n stackId\n } = barSettings;\n if (stackId == null) {\n return void 0;\n }\n var stackGroup = stackGroups[stackId];\n if (!stackGroup) {\n return void 0;\n }\n var {\n stackedData\n } = stackGroup;\n if (!stackedData) {\n return void 0;\n }\n return stackedData.find((sd) => sd.key === stackSeriesIdentifier);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineBarPosition.js\n var combineBarPosition = (allBarPositions, barSettings) => {\n if (allBarPositions == null || barSettings == null) {\n return void 0;\n }\n var position2 = allBarPositions.find((p) => p.stackId === barSettings.stackId && barSettings.dataKey != null && p.dataKeys.includes(barSettings.dataKey));\n if (position2 == null) {\n return void 0;\n }\n return position2.position;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/radialBarSelectors.js\n function ownKeys42(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread42(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys42(Object(t2), true).forEach(function(r3) {\n _defineProperty44(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys42(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty44(e, r2, t2) {\n return (r2 = _toPropertyKey44(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey44(t2) {\n var i = _toPrimitive44(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive44(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectRadiusAxisForRadialBar = (state2, radiusAxisId) => selectRadiusAxis(state2, radiusAxisId);\n var selectRadiusAxisScaleForRadar = (state2, radiusAxisId) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId);\n var selectRadiusAxisWithScale = createSelector([selectRadiusAxisForRadialBar, selectRadiusAxisScaleForRadar], (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread42(_objectSpread42({}, axis), {}, {\n scale\n });\n });\n var selectRadiusAxisTicks3 = (state2, radiusAxisId) => {\n return selectPolarGraphicalItemAxisTicks(state2, \"radiusAxis\", radiusAxisId, false);\n };\n var selectAngleAxisForRadialBar = (state2, _radiusAxisId, angleAxisId) => selectAngleAxis(state2, angleAxisId);\n var selectAngleAxisScaleForRadialBar = (state2, _radiusAxisId, angleAxisId) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId);\n var selectAngleAxisWithScale = createSelector([selectAngleAxisForRadialBar, selectAngleAxisScaleForRadialBar], (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread42(_objectSpread42({}, axis), {}, {\n scale\n });\n });\n var selectAngleAxisTicks3 = (state2, _radiusAxisId, angleAxisId) => {\n return selectPolarAxisTicks(state2, \"angleAxis\", angleAxisId, false);\n };\n var pickRadialBarSettings = (_state, _radiusAxisId, _angleAxisId, radialBarSettings) => radialBarSettings;\n var selectSynchronisedRadialBarSettings = createSelector([selectUnfilteredPolarItems, pickRadialBarSettings], (graphicalItems, radialBarSettingsFromProps) => {\n if (graphicalItems.some((pgis) => pgis.type === \"radialBar\" && radialBarSettingsFromProps.dataKey === pgis.dataKey && radialBarSettingsFromProps.stackId === pgis.stackId)) {\n return radialBarSettingsFromProps;\n }\n return void 0;\n });\n var selectBandSizeOfPolarAxis = createSelector([selectChartLayout, selectRadiusAxisWithScale, selectRadiusAxisTicks3, selectAngleAxisWithScale, selectAngleAxisTicks3], (layout, radiusAxis, radiusAxisTicks, angleAxis, angleAxisTicks) => {\n if (isCategoricalAxis(layout, \"radiusAxis\")) {\n return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, false);\n }\n return getBandSizeOfAxis(angleAxis, angleAxisTicks, false);\n });\n var selectBaseValue = createSelector([selectAngleAxisWithScale, selectRadiusAxisWithScale, selectChartLayout], (angleAxis, radiusAxis, layout) => {\n var numericAxis = layout === \"radial\" ? angleAxis : radiusAxis;\n if (numericAxis == null || numericAxis.scale == null) {\n return void 0;\n }\n return getBaseValueOfBar({\n numericAxis\n });\n });\n var pickCells2 = (_state, _radiusAxisId, _angleAxisId, _radialBarSettings, cells) => cells;\n var pickAngleAxisId = (_state, _radiusAxisId, angleAxisId, _radialBarSettings, _cells) => angleAxisId;\n var pickRadiusAxisId = (_state, radiusAxisId, _angleAxisId, _radialBarSettings, _cells) => radiusAxisId;\n var pickMaxBarSize = (_state, _radiusAxisId, _angleAxisId, radialBarSettings, _cells) => radialBarSettings.maxBarSize;\n var isRadialBar = (item) => item.type === \"radialBar\";\n var selectAllVisibleRadialBars = createSelector([selectChartLayout, selectUnfilteredPolarItems, pickAngleAxisId, pickRadiusAxisId], (layout, allItems, angleAxisId, radiusAxisId) => {\n return allItems.filter((i) => {\n if (layout === \"centric\") {\n return i.angleAxisId === angleAxisId;\n }\n return i.radiusAxisId === radiusAxisId;\n }).filter((i) => i.hide === false).filter(isRadialBar);\n });\n var selectPolarBarAxisSize = () => void 0;\n var selectPolarBarSizeList = createSelector([selectAllVisibleRadialBars, selectRootBarSize, selectPolarBarAxisSize], combineBarSizeList);\n var selectPolarBarBandSize = createSelector([selectChartLayout, selectRootMaxBarSize, selectAngleAxisWithScale, selectAngleAxisTicks3, selectRadiusAxisWithScale, selectRadiusAxisTicks3, pickMaxBarSize], (layout, globalMaxBarSize, angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, childMaxBarSize) => {\n var _ref2, _getBandSizeOfAxis2;\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n if (layout === \"centric\") {\n var _ref3, _getBandSizeOfAxis;\n return (_ref3 = (_getBandSizeOfAxis = getBandSizeOfAxis(angleAxis, angleAxisTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref3 !== void 0 ? _ref3 : 0;\n }\n return (_ref2 = (_getBandSizeOfAxis2 = getBandSizeOfAxis(radiusAxis, radiusAxisTicks, true)) !== null && _getBandSizeOfAxis2 !== void 0 ? _getBandSizeOfAxis2 : maxBarSize) !== null && _ref2 !== void 0 ? _ref2 : 0;\n });\n var selectAllPolarBarPositions = createSelector([selectPolarBarSizeList, selectRootMaxBarSize, selectBarGap, selectBarCategoryGap, selectPolarBarBandSize, selectBandSizeOfPolarAxis, pickMaxBarSize], combineAllBarPositions);\n var selectPolarBarPosition = createSelector([selectAllPolarBarPositions, selectSynchronisedRadialBarSettings], combineBarPosition);\n var selectStackedRadialBars = createSelector([selectPolarItemsSettings], (allPolarItems) => allPolarItems.filter(isRadialBar).filter(isStacked));\n var selectPolarCombinedStackedData = createSelector([selectStackedRadialBars, selectChartDataAndAlwaysIgnoreIndexes, selectTooltipAxis], combineDisplayedStackedData);\n var selectStackGroups2 = createSelector([selectPolarCombinedStackedData, selectStackedRadialBars, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var selectRadialBarStackGroups = (state2, radiusAxisId, angleAxisId) => {\n var layout = selectChartLayout(state2);\n if (layout === \"centric\") {\n return selectStackGroups2(state2, \"radiusAxis\", radiusAxisId);\n }\n return selectStackGroups2(state2, \"angleAxis\", angleAxisId);\n };\n var selectPolarStackedData = createSelector([selectRadialBarStackGroups, selectSynchronisedRadialBarSettings], combineStackedData);\n var selectRadialBarSectors = createSelector([selectAngleAxisWithScale, selectAngleAxisTicks3, selectRadiusAxisWithScale, selectRadiusAxisTicks3, selectChartDataWithIndexes, selectSynchronisedRadialBarSettings, selectBandSizeOfPolarAxis, selectChartLayout, selectBaseValue, selectPolarViewBox, pickCells2, selectPolarBarPosition, selectPolarStackedData], (angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, _ref3, radialBarSettings, bandSize, layout, baseValue, polarViewBox, cells, pos, stackedData) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref3;\n if (radialBarSettings == null || radiusAxis == null || angleAxis == null || chartData == null || bandSize == null || pos == null || layout !== \"centric\" && layout !== \"radial\" || radiusAxisTicks == null || polarViewBox == null) {\n return [];\n }\n var {\n dataKey,\n minPointSize\n } = radialBarSettings;\n var {\n cx: cx2,\n cy,\n startAngle,\n endAngle\n } = polarViewBox;\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n var numericAxis = layout === \"centric\" ? radiusAxis : angleAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n return computeRadialBarDataItems({\n angleAxis,\n angleAxisTicks,\n bandSize,\n baseValue,\n cells,\n cx: cx2,\n cy,\n dataKey,\n dataStartIndex,\n displayedData,\n endAngle,\n layout,\n minPointSize,\n pos,\n radiusAxis,\n radiusAxisTicks,\n stackedData,\n stackedDomain,\n startAngle\n });\n });\n var selectRadialBarLegendPayload = createSelector([selectChartDataAndAlwaysIgnoreIndexes, (_s, l) => l], (_ref4, legendType) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref4;\n if (chartData == null) {\n return [];\n }\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n if (displayedData.length === 0) {\n return [];\n }\n return displayedData.map((entry) => {\n return {\n type: legendType,\n // @ts-expect-error we need a better typing for our data inputs\n value: entry.name,\n // @ts-expect-error we need a better typing for our data inputs\n color: entry.fill,\n // @ts-expect-error Legend payload.payload says it wants objects but our data can be unknown\n payload: entry\n };\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/getZIndexFromUnknown.js\n function getZIndexFromUnknown(input2, defaultZIndex) {\n if (input2 && typeof input2 === \"object\" && \"zIndex\" in input2 && typeof input2.zIndex === \"number\" && isWellBehavedNumber(input2.zIndex)) {\n return input2.zIndex;\n }\n return defaultZIndex;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/RadialBar.js\n var _excluded19 = [\"shape\", \"activeShape\", \"cornerRadius\", \"id\"];\n var _excluded29 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded34 = [\"value\", \"background\"];\n function _extends26() {\n return _extends26 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends26.apply(null, arguments);\n }\n function ownKeys43(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread43(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys43(Object(t2), true).forEach(function(r3) {\n _defineProperty45(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys43(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty45(e, r2, t2) {\n return (r2 = _toPropertyKey45(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey45(t2) {\n var i = _toPrimitive45(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive45(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties19(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose19(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose19(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var STABLE_EMPTY_ARRAY = [];\n function RadialBarLabelListProvider(_ref2) {\n var {\n showLabels,\n sectors,\n children\n } = _ref2;\n var labelListEntries = sectors.map((sector) => ({\n value: sector.value,\n payload: sector.payload,\n parentViewBox: void 0,\n clockWise: false,\n viewBox: {\n cx: sector.cx,\n cy: sector.cy,\n innerRadius: sector.innerRadius,\n outerRadius: sector.outerRadius,\n startAngle: sector.startAngle,\n endAngle: sector.endAngle,\n clockWise: false\n },\n fill: sector.fill\n }));\n return /* @__PURE__ */ React95.createElement(PolarLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function RadialBarSectors(_ref2) {\n var {\n sectors,\n allOtherRadialBarProps,\n showLabels\n } = _ref2;\n var {\n shape,\n activeShape,\n cornerRadius,\n id\n } = allOtherRadialBarProps, others = _objectWithoutProperties19(allOtherRadialBarProps, _excluded19);\n var baseProps = svgPropertiesNoEvents(others);\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherRadialBarProps, restOfAllOtherProps = _objectWithoutProperties19(allOtherRadialBarProps, _excluded29);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherRadialBarProps.dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherRadialBarProps.dataKey, id);\n if (sectors == null) {\n return null;\n }\n return /* @__PURE__ */ React95.createElement(RadialBarLabelListProvider, {\n showLabels,\n sectors\n }, sectors.map((entry, i) => {\n var isActive = Boolean(activeShape && activeIndex === String(i));\n var onMouseEnter = onMouseEnterFromContext(entry, i);\n var onMouseLeave = onMouseLeaveFromContext(entry, i);\n var onClick = onClickFromContext(entry, i);\n var radialBarSectorProps = _objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43({}, baseProps), {}, {\n cornerRadius: parseCornerRadius(cornerRadius)\n }, entry), adaptEventsOfChild(restOfAllOtherProps, entry, i)), {}, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n className: \"recharts-radial-bar-sector \".concat(entry.className),\n forceCornerRadius: others.forceCornerRadius,\n cornerIsExternal: others.cornerIsExternal,\n isActive,\n option: isActive ? activeShape : shape,\n index: i\n });\n if (isActive) {\n return /* @__PURE__ */ React95.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.activeBar,\n key: \"sector-\".concat(entry.cx, \"-\").concat(entry.cy, \"-\").concat(entry.innerRadius, \"-\").concat(entry.outerRadius, \"-\").concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(i)\n }, /* @__PURE__ */ React95.createElement(RadialBarSector, radialBarSectorProps));\n }\n return /* @__PURE__ */ React95.createElement(RadialBarSector, _extends26({\n key: \"sector-\".concat(entry.cx, \"-\").concat(entry.cy, \"-\").concat(entry.innerRadius, \"-\").concat(entry.outerRadius, \"-\").concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(i)\n }, radialBarSectorProps));\n }), /* @__PURE__ */ React95.createElement(LabelListFromLabelProp, {\n label: allOtherRadialBarProps.label\n }), allOtherRadialBarProps.children);\n }\n function SectorsWithAnimation2(_ref3) {\n var {\n props,\n previousSectorsRef\n } = _ref3;\n var {\n sectors,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var animationId = useAnimationId(props, \"recharts-radialbar-\");\n var prevData = previousSectorsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react49.useState)(false);\n var handleAnimationEnd = (0, import_react49.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react49.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React95.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? sectors : (sectors !== null && sectors !== void 0 ? sectors : STABLE_EMPTY_ARRAY).map((entry, index2) => {\n var prev = prevData && prevData[index2];\n if (prev) {\n return _objectSpread43(_objectSpread43({}, entry), {}, {\n startAngle: interpolate(prev.startAngle, entry.startAngle, t2),\n endAngle: interpolate(prev.endAngle, entry.endAngle, t2)\n });\n }\n var {\n endAngle,\n startAngle\n } = entry;\n return _objectSpread43(_objectSpread43({}, entry), {}, {\n endAngle: interpolate(startAngle, endAngle, t2)\n });\n });\n if (t2 > 0) {\n previousSectorsRef.current = stepData !== null && stepData !== void 0 ? stepData : null;\n }\n return /* @__PURE__ */ React95.createElement(RadialBarSectors, {\n sectors: stepData !== null && stepData !== void 0 ? stepData : STABLE_EMPTY_ARRAY,\n allOtherRadialBarProps: props,\n showLabels: !isAnimating\n });\n });\n }\n function RenderSectors(props) {\n var previousSectorsRef = (0, import_react49.useRef)(null);\n return /* @__PURE__ */ React95.createElement(SectorsWithAnimation2, {\n props,\n previousSectorsRef\n });\n }\n function SetRadialBarPayloadLegend(props) {\n var legendPayload = useAppSelector((state2) => selectRadialBarLegendPayload(state2, props.legendType));\n return /* @__PURE__ */ React95.createElement(SetPolarLegendPayload, {\n legendPayload: legendPayload !== null && legendPayload !== void 0 ? legendPayload : []\n });\n }\n var SetRadialBarTooltipEntrySettings = /* @__PURE__ */ React95.memo((_ref4) => {\n var {\n dataKey,\n sectors,\n stroke,\n strokeWidth,\n name,\n hide: hide4,\n fill,\n tooltipType,\n id\n } = _ref4;\n var tooltipEntrySettings = {\n dataDefinedOnItem: sectors,\n getPosition: noop4,\n settings: {\n graphicalItemId: id,\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n // RadialBar does not have nameKey, why?\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\"\n // Why does RadialBar not support unit?\n }\n };\n return /* @__PURE__ */ React95.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var RadialBarWithState = class extends import_react49.PureComponent {\n renderBackground(sectors) {\n if (sectors == null) {\n return null;\n }\n var {\n cornerRadius\n } = this.props;\n var backgroundProps = svgPropertiesNoEventsFromUnknown(this.props.background);\n return /* @__PURE__ */ React95.createElement(ZIndexLayer, {\n zIndex: getZIndexFromUnknown(this.props.background, DefaultZIndexes.barBackground)\n }, sectors.map((entry, i) => {\n var {\n value,\n background\n } = entry, rest = _objectWithoutProperties19(entry, _excluded34);\n if (!background) {\n return null;\n }\n var props = _objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43({\n cornerRadius: parseCornerRadius(cornerRadius)\n }, rest), {}, {\n // @ts-expect-error backgroundProps is contributing unknown props\n fill: \"#eee\"\n }, background), backgroundProps), adaptEventsOfChild(this.props, entry, i)), {}, {\n index: i,\n className: clsx(\"recharts-radial-bar-background-sector\", String(backgroundProps === null || backgroundProps === void 0 ? void 0 : backgroundProps.className)),\n option: background,\n isActive: false\n });\n return /* @__PURE__ */ React95.createElement(RadialBarSector, _extends26({\n key: \"background-\".concat(rest.cx, \"-\").concat(rest.cy, \"-\").concat(rest.innerRadius, \"-\").concat(rest.outerRadius, \"-\").concat(rest.startAngle, \"-\").concat(rest.endAngle, \"-\").concat(i)\n }, props));\n }));\n }\n render() {\n var {\n hide: hide4,\n sectors,\n className,\n background\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-area\", className);\n return /* @__PURE__ */ React95.createElement(ZIndexLayer, {\n zIndex: this.props.zIndex\n }, /* @__PURE__ */ React95.createElement(Layer, {\n className: layerClass\n }, background && /* @__PURE__ */ React95.createElement(Layer, {\n className: \"recharts-radial-bar-background\"\n }, this.renderBackground(sectors)), /* @__PURE__ */ React95.createElement(Layer, {\n className: \"recharts-radial-bar-sectors\"\n }, /* @__PURE__ */ React95.createElement(RenderSectors, this.props))));\n }\n };\n function RadialBarImpl(props) {\n var _useAppSelector;\n var cells = React95.useMemo(() => findAllByType(props.children, Cell), [props.children]);\n var radialBarSettings = React95.useMemo(() => ({\n data: void 0,\n hide: false,\n id: props.id,\n dataKey: props.dataKey,\n minPointSize: props.minPointSize,\n stackId: getNormalizedStackId(props.stackId),\n maxBarSize: props.maxBarSize,\n barSize: props.barSize,\n type: \"radialBar\",\n angleAxisId: props.angleAxisId,\n radiusAxisId: props.radiusAxisId\n }), [props.id, props.dataKey, props.minPointSize, props.stackId, props.maxBarSize, props.barSize, props.angleAxisId, props.radiusAxisId]);\n var sectors = (_useAppSelector = useAppSelector((state2) => selectRadialBarSectors(state2, props.radiusAxisId, props.angleAxisId, radialBarSettings, cells))) !== null && _useAppSelector !== void 0 ? _useAppSelector : STABLE_EMPTY_ARRAY;\n return /* @__PURE__ */ React95.createElement(React95.Fragment, null, /* @__PURE__ */ React95.createElement(SetRadialBarTooltipEntrySettings, {\n dataKey: props.dataKey,\n sectors,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n name: props.name,\n hide: props.hide,\n fill: props.fill,\n tooltipType: props.tooltipType,\n id: props.id\n }), /* @__PURE__ */ React95.createElement(RadialBarWithState, _extends26({}, props, {\n sectors\n })));\n }\n var defaultRadialBarProps = {\n angleAxisId: 0,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n background: false,\n cornerIsExternal: false,\n cornerRadius: 0,\n forceCornerRadius: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n minPointSize: 0,\n radiusAxisId: 0,\n zIndex: DefaultZIndexes.bar\n };\n function computeRadialBarDataItems(_ref5) {\n var {\n displayedData,\n stackedData,\n dataStartIndex,\n stackedDomain,\n dataKey,\n baseValue,\n layout,\n radiusAxis,\n radiusAxisTicks,\n bandSize,\n pos,\n angleAxis,\n minPointSize,\n cx: cx2,\n cy,\n angleAxisTicks,\n cells,\n startAngle: rootStartAngle,\n endAngle: rootEndAngle\n } = _ref5;\n if (angleAxisTicks == null || radiusAxisTicks == null) {\n return STABLE_EMPTY_ARRAY;\n }\n return (displayedData !== null && displayedData !== void 0 ? displayedData : []).map((entry, index2) => {\n var value, innerRadius, outerRadius, startAngle, endAngle, backgroundSector;\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index2], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n if (layout === \"radial\") {\n var _angleAxis$scale$map, _angleAxis$scale$map2;\n startAngle = (_angleAxis$scale$map = angleAxis.scale.map(value[0])) !== null && _angleAxis$scale$map !== void 0 ? _angleAxis$scale$map : rootStartAngle;\n endAngle = (_angleAxis$scale$map2 = angleAxis.scale.map(value[1])) !== null && _angleAxis$scale$map2 !== void 0 ? _angleAxis$scale$map2 : rootEndAngle;\n innerRadius = getCateCoordinateOfBar({\n axis: radiusAxis,\n ticks: radiusAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n if (innerRadius != null && endAngle != null && startAngle != null) {\n outerRadius = innerRadius + pos.size;\n var deltaAngle = endAngle - startAngle;\n if (Math.abs(minPointSize) > 0 && Math.abs(deltaAngle) < Math.abs(minPointSize)) {\n var delta = mathSign(deltaAngle || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaAngle));\n endAngle += delta;\n }\n backgroundSector = {\n background: {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle: rootStartAngle,\n endAngle: rootEndAngle\n }\n };\n }\n } else {\n innerRadius = radiusAxis.scale.map(value[0]);\n outerRadius = radiusAxis.scale.map(value[1]);\n startAngle = getCateCoordinateOfBar({\n axis: angleAxis,\n ticks: angleAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n if (innerRadius != null && outerRadius != null && startAngle != null) {\n endAngle = startAngle + pos.size;\n var deltaRadius = outerRadius - innerRadius;\n if (Math.abs(minPointSize) > 0 && Math.abs(deltaRadius) < Math.abs(minPointSize)) {\n var _delta = mathSign(deltaRadius || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaRadius));\n outerRadius += _delta;\n }\n }\n }\n return _objectSpread43(_objectSpread43(_objectSpread43({}, entry), backgroundSector), {}, {\n payload: entry,\n value: stackedData ? value : value[1],\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n // @ts-expect-error endAngle is used before assigned (?)\n endAngle\n }, cells && cells[index2] && cells[index2].props);\n });\n }\n function RadialBar(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultRadialBarProps);\n return /* @__PURE__ */ React95.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"radialBar\"\n }, (id) => {\n var _props$hide, _props$angleAxisId, _props$radiusAxisId;\n return /* @__PURE__ */ React95.createElement(React95.Fragment, null, /* @__PURE__ */ React95.createElement(SetPolarGraphicalItem, {\n type: \"radialBar\",\n id,\n data: void 0,\n dataKey: props.dataKey,\n hide: (_props$hide = props.hide) !== null && _props$hide !== void 0 ? _props$hide : defaultRadialBarProps.hide,\n angleAxisId: (_props$angleAxisId = props.angleAxisId) !== null && _props$angleAxisId !== void 0 ? _props$angleAxisId : defaultRadialBarProps.angleAxisId,\n radiusAxisId: (_props$radiusAxisId = props.radiusAxisId) !== null && _props$radiusAxisId !== void 0 ? _props$radiusAxisId : defaultRadialBarProps.radiusAxisId,\n stackId: getNormalizedStackId(props.stackId),\n barSize: props.barSize,\n minPointSize: props.minPointSize,\n maxBarSize: props.maxBarSize\n }), /* @__PURE__ */ React95.createElement(SetRadialBarPayloadLegend, props), /* @__PURE__ */ React95.createElement(RadialBarImpl, _extends26({}, props, {\n id\n })));\n });\n }\n RadialBar.displayName = \"RadialBar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Brush.js\n var React96 = __toESM(require_react());\n var import_react52 = __toESM(require_react());\n var import_range3 = __toESM(require_range2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/CssPrefixUtils.js\n function ownKeys44(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread44(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys44(Object(t2), true).forEach(function(r3) {\n _defineProperty46(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys44(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty46(e, r2, t2) {\n return (r2 = _toPropertyKey46(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey46(t2) {\n var i = _toPrimitive46(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive46(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var PREFIX_LIST = [\"Webkit\", \"Moz\", \"O\", \"ms\"];\n var generatePrefixStyle = (name, value) => {\n if (!name) {\n return void 0;\n }\n var camelName = name.replace(/(\\w)/, (v) => v.toUpperCase());\n var result = PREFIX_LIST.reduce((res, entry) => _objectSpread44(_objectSpread44({}, res), {}, {\n [entry + camelName]: value\n }), {});\n result[name] = value;\n return result;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartDataContext.js\n var import_react50 = __toESM(require_react());\n var ChartDataContextProvider = (props) => {\n var {\n chartData\n } = props;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n (0, import_react50.useEffect)(() => {\n if (isPanorama) {\n return () => {\n };\n }\n dispatch(setChartData(chartData));\n return () => {\n dispatch(setChartData(void 0));\n };\n }, [chartData, dispatch, isPanorama]);\n return null;\n };\n var selectChartData = (state2) => state2.chartData.chartData;\n var useChartData = () => useAppSelector(selectChartData);\n var selectDataIndex = (state2) => {\n var {\n dataStartIndex,\n dataEndIndex\n } = state2.chartData;\n return {\n startIndex: dataStartIndex,\n endIndex: dataEndIndex\n };\n };\n var useDataIndex = () => {\n return useAppSelector(selectDataIndex);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/brushUpdateContext.js\n var import_react51 = __toESM(require_react());\n var BrushUpdateDispatchContext = /* @__PURE__ */ (0, import_react51.createContext)(() => {\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/brushSlice.js\n var initialState9 = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n };\n var brushSlice = createSlice({\n name: \"brush\",\n initialState: initialState9,\n reducers: {\n setBrushSettings(_state, action) {\n if (action.payload == null) {\n return initialState9;\n }\n return action.payload;\n }\n }\n });\n var {\n setBrushSettings\n } = brushSlice.actions;\n var brushReducer = brushSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Brush.js\n function _extends27() {\n return _extends27 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends27.apply(null, arguments);\n }\n function ownKeys45(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread45(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys45(Object(t2), true).forEach(function(r3) {\n _defineProperty47(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys45(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty47(e, r2, t2) {\n return (r2 = _toPropertyKey47(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey47(t2) {\n var i = _toPrimitive47(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive47(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function DefaultTraveller(props) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n stroke\n } = props;\n var lineY = Math.floor(y2 + height / 2) - 1;\n return /* @__PURE__ */ React96.createElement(React96.Fragment, null, /* @__PURE__ */ React96.createElement(\"rect\", {\n x: x2,\n y: y2,\n width,\n height,\n fill: stroke,\n stroke: \"none\"\n }), /* @__PURE__ */ React96.createElement(\"line\", {\n x1: x2 + 1,\n y1: lineY,\n x2: x2 + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /* @__PURE__ */ React96.createElement(\"line\", {\n x1: x2 + 1,\n y1: lineY + 2,\n x2: x2 + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n function Traveller(props) {\n var {\n travellerProps,\n travellerType\n } = props;\n if (/* @__PURE__ */ React96.isValidElement(travellerType)) {\n return /* @__PURE__ */ React96.cloneElement(travellerType, travellerProps);\n }\n if (typeof travellerType === \"function\") {\n return travellerType(travellerProps);\n }\n return /* @__PURE__ */ React96.createElement(DefaultTraveller, travellerProps);\n }\n function getNameFromUnknown(value) {\n if (isNotNil(value) && typeof value === \"object\" && \"name\" in value && typeof value.name === \"string\") {\n return value.name;\n }\n return void 0;\n }\n function getAriaLabel(data, startIndex, endIndex) {\n var start = getNameFromUnknown(data[startIndex]);\n var end = getNameFromUnknown(data[endIndex]);\n return \"Min value: \".concat(start, \", Max value: \").concat(end);\n }\n function TravellerLayer(_ref2) {\n var {\n otherProps,\n travellerX,\n id,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n onTravellerMoveKeyboard,\n onFocus,\n onBlur\n } = _ref2;\n var {\n y: y2,\n x: xFromProps,\n travellerWidth,\n height,\n traveller,\n ariaLabel,\n data,\n startIndex,\n endIndex\n } = otherProps;\n var x2 = Math.max(travellerX, xFromProps);\n var travellerProps = _objectSpread45(_objectSpread45({}, svgPropertiesNoEvents(otherProps)), {}, {\n x: x2,\n y: y2,\n width: travellerWidth,\n height\n });\n var ariaLabelBrush = ariaLabel || getAriaLabel(data, startIndex, endIndex);\n return /* @__PURE__ */ React96.createElement(Layer, {\n tabIndex: 0,\n role: \"slider\",\n \"aria-label\": ariaLabelBrush,\n \"aria-valuenow\": travellerX,\n className: \"recharts-brush-traveller\",\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n onKeyDown: (e) => {\n if (![\"ArrowLeft\", \"ArrowRight\"].includes(e.key)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n onTravellerMoveKeyboard(e.key === \"ArrowRight\" ? 1 : -1, id);\n },\n onFocus,\n onBlur,\n style: {\n cursor: \"col-resize\"\n }\n }, /* @__PURE__ */ React96.createElement(Traveller, {\n travellerType: traveller,\n travellerProps\n }));\n }\n function getTextOfTick(props) {\n var {\n index: index2,\n data,\n tickFormatter,\n dataKey\n } = props;\n var text = getValueByDataKey(data[index2], dataKey, index2);\n return typeof tickFormatter === \"function\" ? tickFormatter(text, index2) : text;\n }\n function getIndexInRange(valueRange, x2) {\n var len = valueRange.length;\n var start = 0;\n var end = len - 1;\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n var middleValue = valueRange[middle];\n if (middleValue != null && middleValue > x2) {\n end = middle;\n } else {\n start = middle;\n }\n }\n var endValue = valueRange[end];\n return endValue != null && x2 >= endValue ? end : start;\n }\n function getIndex2(_ref2) {\n var {\n startX,\n endX,\n scaleValues,\n gap,\n data\n } = _ref2;\n var lastIndex = data.length - 1;\n var min3 = Math.min(startX, endX);\n var max3 = Math.max(startX, endX);\n var minIndex = getIndexInRange(scaleValues, min3);\n var maxIndex = getIndexInRange(scaleValues, max3);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n function Background(_ref3) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n fill,\n stroke\n } = _ref3;\n return /* @__PURE__ */ React96.createElement(\"rect\", {\n stroke,\n fill,\n x: x2,\n y: y2,\n width,\n height\n });\n }\n function BrushText(_ref4) {\n var {\n startIndex,\n endIndex,\n y: y2,\n height,\n travellerWidth,\n stroke,\n tickFormatter,\n dataKey,\n data,\n startX,\n endX\n } = _ref4;\n var offset4 = 5;\n var attrs = {\n pointerEvents: \"none\",\n fill: stroke\n };\n return /* @__PURE__ */ React96.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /* @__PURE__ */ React96.createElement(Text, _extends27({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset4,\n y: y2 + height / 2\n }, attrs), getTextOfTick({\n index: startIndex,\n tickFormatter,\n dataKey,\n data\n })), /* @__PURE__ */ React96.createElement(Text, _extends27({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset4,\n y: y2 + height / 2\n }, attrs), getTextOfTick({\n index: endIndex,\n tickFormatter,\n dataKey,\n data\n })));\n }\n function Slide(_ref5) {\n var {\n y: y2,\n height,\n stroke,\n travellerWidth,\n startX,\n endX,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart\n } = _ref5;\n var x2 = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /* @__PURE__ */ React96.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n style: {\n cursor: \"move\"\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x2,\n y: y2,\n width,\n height\n });\n }\n function Panorama(_ref6) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n data,\n children,\n padding\n } = _ref6;\n var isPanoramic = React96.Children.count(children) === 1;\n if (!isPanoramic) {\n return null;\n }\n var chartElement = import_react52.Children.only(children);\n if (!chartElement) {\n return null;\n }\n return /* @__PURE__ */ React96.cloneElement(chartElement, {\n x: x2,\n y: y2,\n width,\n height,\n margin: padding,\n compact: true,\n data\n });\n }\n var createScale = (_ref7) => {\n var {\n data,\n startIndex,\n endIndex,\n x: x2,\n width,\n travellerWidth\n } = _ref7;\n if (!data || !data.length) {\n return {};\n }\n var len = data.length;\n var scale = point3().domain((0, import_range3.default)(0, len)).range([x2, x2 + width - travellerWidth]);\n var scaleValues = scale.domain().map((entry) => scale(entry)).filter(isNotNil);\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n isTravellerFocused: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale,\n scaleValues\n };\n };\n var isTouch = (e) => e.changedTouches && !!e.changedTouches.length;\n var BrushWithState = class extends import_react52.PureComponent {\n constructor(props) {\n super(props);\n _defineProperty47(this, \"handleDrag\", (e) => {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n if (this.state.isTravellerMoving) {\n this.handleTravellerMove(e);\n } else if (this.state.isSlideMoving) {\n this.handleSlideDrag(e);\n }\n });\n _defineProperty47(this, \"handleTouchMove\", (e) => {\n var _e$changedTouches;\n var touch = (_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0];\n if (touch != null) {\n this.handleDrag(touch);\n }\n });\n _defineProperty47(this, \"handleDragEnd\", () => {\n this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n }, () => {\n var {\n endIndex,\n onDragEnd,\n startIndex\n } = this.props;\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n endIndex,\n startIndex\n });\n });\n this.detachDragEndListener();\n });\n _defineProperty47(this, \"handleLeaveWrapper\", () => {\n if (this.state.isTravellerMoving || this.state.isSlideMoving) {\n this.leaveTimer = window.setTimeout(this.handleDragEnd, this.props.leaveTimeOut);\n }\n });\n _defineProperty47(this, \"handleEnterSlideOrTraveller\", () => {\n this.setState({\n isTextActive: true\n });\n });\n _defineProperty47(this, \"handleLeaveSlideOrTraveller\", () => {\n this.setState({\n isTextActive: false\n });\n });\n _defineProperty47(this, \"handleSlideDragStart\", (e) => {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n if (event == null) {\n return;\n }\n this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n });\n _defineProperty47(this, \"handleTravellerMoveKeyboard\", (direction, id) => {\n var {\n data,\n gap,\n startIndex,\n endIndex\n } = this.props;\n var {\n scaleValues,\n startX,\n endX\n } = this.state;\n if (scaleValues == null) {\n return;\n }\n var currentIndex = -1;\n if (id === \"startX\") {\n currentIndex = startIndex;\n } else if (id === \"endX\") {\n currentIndex = endIndex;\n }\n if (currentIndex < 0 || currentIndex >= data.length) {\n return;\n }\n var newIndex = currentIndex + direction;\n if (newIndex === -1 || newIndex >= scaleValues.length) {\n return;\n }\n var newScaleValue = scaleValues[newIndex];\n if (newScaleValue == null) {\n return;\n }\n if (id === \"startX\" && newScaleValue >= endX || id === \"endX\" && newScaleValue <= startX) {\n return;\n }\n this.setState(\n // @ts-expect-error not sure why typescript is not happy with this, partial update is fine in React\n {\n [id]: newScaleValue\n },\n () => {\n this.props.onChange(getIndex2({\n startX: this.state.startX,\n endX: this.state.endX,\n data,\n gap,\n scaleValues\n }));\n }\n );\n });\n this.travellerDragStartHandlers = {\n startX: this.handleTravellerDragStart.bind(this, \"startX\"),\n endX: this.handleTravellerDragStart.bind(this, \"endX\")\n };\n this.state = {\n brushMoveStartX: 0,\n movingTravellerId: void 0,\n endX: 0,\n startX: 0,\n slideMoveStartX: 0\n };\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n var {\n data,\n width,\n x: x2,\n travellerWidth,\n startIndex,\n endIndex,\n startIndexControlledFromProps,\n endIndexControlledFromProps\n } = nextProps;\n if (data !== prevState.prevData) {\n return _objectSpread45({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevX: x2,\n prevWidth: width\n }, data && data.length ? createScale({\n data,\n width,\n x: x2,\n travellerWidth,\n startIndex,\n endIndex\n }) : {\n scale: void 0,\n scaleValues: void 0\n });\n }\n var prevScale = prevState.scale;\n if (prevScale && (width !== prevState.prevWidth || x2 !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevScale.range([x2, x2 + width - travellerWidth]);\n var scaleValues = prevScale.domain().map((entry) => prevScale(entry)).filter((value) => value != null);\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevX: x2,\n prevWidth: width,\n startX: prevScale(nextProps.startIndex),\n endX: prevScale(nextProps.endIndex),\n scaleValues\n };\n }\n if (prevState.scale && !prevState.isSlideMoving && !prevState.isTravellerMoving && !prevState.isTravellerFocused && !prevState.isTextActive) {\n if (startIndexControlledFromProps != null && prevState.prevStartIndexControlledFromProps !== startIndexControlledFromProps) {\n return {\n startX: prevState.scale(startIndexControlledFromProps),\n prevStartIndexControlledFromProps: startIndexControlledFromProps\n };\n }\n if (endIndexControlledFromProps != null && prevState.prevEndIndexControlledFromProps !== endIndexControlledFromProps) {\n return {\n endX: prevState.scale(endIndexControlledFromProps),\n prevEndIndexControlledFromProps: endIndexControlledFromProps\n };\n }\n }\n return null;\n }\n componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n this.detachDragEndListener();\n }\n attachDragEndListener() {\n window.addEventListener(\"mouseup\", this.handleDragEnd, true);\n window.addEventListener(\"touchend\", this.handleDragEnd, true);\n window.addEventListener(\"mousemove\", this.handleDrag, true);\n }\n detachDragEndListener() {\n window.removeEventListener(\"mouseup\", this.handleDragEnd, true);\n window.removeEventListener(\"touchend\", this.handleDragEnd, true);\n window.removeEventListener(\"mousemove\", this.handleDrag, true);\n }\n handleSlideDrag(e) {\n var {\n slideMoveStartX,\n startX,\n endX,\n scaleValues\n } = this.state;\n if (scaleValues == null) {\n return;\n }\n var {\n x: x2,\n width,\n travellerWidth,\n startIndex,\n endIndex,\n onChange,\n data,\n gap\n } = this.props;\n var delta = e.pageX - slideMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x2 + width - travellerWidth - endX, x2 + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x2 - startX, x2 - endX);\n }\n var newIndex = getIndex2({\n startX: startX + delta,\n endX: endX + delta,\n data,\n gap,\n scaleValues\n });\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n if (event == null) {\n return;\n }\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n handleTravellerMove(e) {\n var {\n brushMoveStartX,\n movingTravellerId,\n endX,\n startX,\n scaleValues\n } = this.state;\n if (movingTravellerId == null || scaleValues == null) {\n return;\n }\n var prevValue = this.state[movingTravellerId];\n var {\n x: x2,\n width,\n travellerWidth,\n onChange,\n gap,\n data\n } = this.props;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX,\n data,\n gap,\n scaleValues\n };\n var delta = e.pageX - brushMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x2 + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x2 - prevValue);\n }\n params[movingTravellerId] = prevValue + delta;\n var newIndex = getIndex2(params);\n var {\n startIndex,\n endIndex\n } = newIndex;\n var isFullGap = () => {\n var lastIndex = data.length - 1;\n if (movingTravellerId === \"startX\" && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === \"endX\" && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n return false;\n };\n this.setState(\n // @ts-expect-error not sure why typescript is not happy with this, partial update is fine in React\n {\n [movingTravellerId]: prevValue + delta,\n brushMoveStartX: e.pageX\n },\n () => {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n }\n );\n }\n render() {\n var {\n data,\n className,\n children,\n x: x2,\n y: y2,\n dy,\n width,\n height,\n alwaysShowText,\n fill,\n stroke,\n startIndex,\n endIndex,\n travellerWidth,\n tickFormatter,\n dataKey,\n padding\n } = this.props;\n var {\n startX,\n endX,\n isTextActive,\n isSlideMoving,\n isTravellerMoving,\n isTravellerFocused\n } = this.state;\n if (!data || !data.length || !isNumber3(x2) || !isNumber3(y2) || !isNumber3(width) || !isNumber3(height) || width <= 0 || height <= 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-brush\", className);\n var style = generatePrefixStyle(\"userSelect\", \"none\");\n var calculatedY = y2 + (dy !== null && dy !== void 0 ? dy : 0);\n return /* @__PURE__ */ React96.createElement(Layer, {\n className: layerClass,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style\n }, /* @__PURE__ */ React96.createElement(Background, {\n x: x2,\n y: calculatedY,\n width,\n height,\n fill,\n stroke\n }), /* @__PURE__ */ React96.createElement(PanoramaContextProvider, null, /* @__PURE__ */ React96.createElement(Panorama, {\n x: x2,\n y: calculatedY,\n width,\n height,\n data,\n padding\n }, children)), /* @__PURE__ */ React96.createElement(Slide, {\n y: calculatedY,\n height,\n stroke,\n travellerWidth,\n startX,\n endX,\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart\n }), /* @__PURE__ */ React96.createElement(TravellerLayer, {\n travellerX: startX,\n id: \"startX\",\n otherProps: _objectSpread45(_objectSpread45({}, this.props), {}, {\n y: calculatedY\n }),\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers.startX,\n onTouchStart: this.travellerDragStartHandlers.startX,\n onTravellerMoveKeyboard: this.handleTravellerMoveKeyboard,\n onFocus: () => {\n this.setState({\n isTravellerFocused: true\n });\n },\n onBlur: () => {\n this.setState({\n isTravellerFocused: false\n });\n }\n }), /* @__PURE__ */ React96.createElement(TravellerLayer, {\n travellerX: endX,\n id: \"endX\",\n otherProps: _objectSpread45(_objectSpread45({}, this.props), {}, {\n y: calculatedY\n }),\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers.endX,\n onTouchStart: this.travellerDragStartHandlers.endX,\n onTravellerMoveKeyboard: this.handleTravellerMoveKeyboard,\n onFocus: () => {\n this.setState({\n isTravellerFocused: true\n });\n },\n onBlur: () => {\n this.setState({\n isTravellerFocused: false\n });\n }\n }), (isTextActive || isSlideMoving || isTravellerMoving || isTravellerFocused || alwaysShowText) && /* @__PURE__ */ React96.createElement(BrushText, {\n startIndex,\n endIndex,\n y: calculatedY,\n height,\n travellerWidth,\n stroke,\n tickFormatter,\n dataKey,\n data,\n startX,\n endX\n }));\n }\n };\n function BrushInternal(props) {\n var dispatch = useAppDispatch();\n var chartData = useChartData();\n var dataIndexes = useDataIndex();\n var onChangeFromContext = (0, import_react52.useContext)(BrushUpdateDispatchContext);\n var onChangeFromProps = props.onChange;\n var {\n startIndex: startIndexFromProps,\n endIndex: endIndexFromProps\n } = props;\n (0, import_react52.useEffect)(() => {\n dispatch(setDataStartEndIndexes({\n startIndex: startIndexFromProps,\n endIndex: endIndexFromProps\n }));\n }, [dispatch, endIndexFromProps, startIndexFromProps]);\n useBrushChartSynchronisation();\n var onChange = (0, import_react52.useCallback)((nextState) => {\n if (dataIndexes == null) {\n return;\n }\n var {\n startIndex: startIndex2,\n endIndex: endIndex2\n } = dataIndexes;\n if (nextState.startIndex !== startIndex2 || nextState.endIndex !== endIndex2) {\n onChangeFromContext === null || onChangeFromContext === void 0 || onChangeFromContext(nextState);\n onChangeFromProps === null || onChangeFromProps === void 0 || onChangeFromProps(nextState);\n dispatch(setDataStartEndIndexes(nextState));\n }\n }, [onChangeFromProps, onChangeFromContext, dispatch, dataIndexes]);\n var brushDimensions = useAppSelector(selectBrushDimensions);\n if (brushDimensions == null || dataIndexes == null || chartData == null || !chartData.length) {\n return null;\n }\n var {\n startIndex,\n endIndex\n } = dataIndexes;\n var {\n x: x2,\n y: y2,\n width\n } = brushDimensions;\n var contextProperties = {\n data: chartData,\n x: x2,\n y: y2,\n width,\n startIndex,\n endIndex,\n onChange\n };\n return /* @__PURE__ */ React96.createElement(BrushWithState, _extends27({}, props, contextProperties, {\n startIndexControlledFromProps: startIndexFromProps !== null && startIndexFromProps !== void 0 ? startIndexFromProps : void 0,\n endIndexControlledFromProps: endIndexFromProps !== null && endIndexFromProps !== void 0 ? endIndexFromProps : void 0\n }));\n }\n function BrushSettingsDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react52.useEffect)(() => {\n dispatch(setBrushSettings(props));\n return () => {\n dispatch(setBrushSettings(null));\n };\n }, [dispatch, props]);\n return null;\n }\n var defaultBrushProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: \"#fff\",\n stroke: \"#666\",\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1e3,\n alwaysShowText: false\n };\n function Brush(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultBrushProps);\n return /* @__PURE__ */ React96.createElement(React96.Fragment, null, /* @__PURE__ */ React96.createElement(BrushSettingsDispatcher, {\n height: props.height,\n x: props.x,\n y: props.y,\n width: props.width,\n padding: props.padding\n }), /* @__PURE__ */ React96.createElement(BrushInternal, props));\n }\n Brush.displayName = \"Brush\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceLine.js\n var React98 = __toESM(require_react());\n var import_react54 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/CartesianUtils.js\n var rectWithPoints = (_ref2, _ref22) => {\n var {\n x: x1,\n y: y1\n } = _ref2;\n var {\n x: x2,\n y: y2\n } = _ref22;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n };\n var rectWithCoords = (_ref3) => {\n var {\n x1,\n y1,\n x2,\n y2\n } = _ref3;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n };\n function normalizeAngle(angle) {\n return (angle % 180 + 180) % 180;\n }\n var getAngledRectangleWidth = function getAngledRectangleWidth2(_ref4) {\n var {\n width,\n height\n } = _ref4;\n var angle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var normalizedAngle = normalizeAngle(angle);\n var angleRadians = normalizedAngle * Math.PI / 180;\n var angleThreshold = Math.atan(height / width);\n var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n return Math.abs(angledWidth);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/referenceElementsSlice.js\n var initialState10 = {\n dots: [],\n areas: [],\n lines: []\n };\n var referenceElementsSlice = createSlice({\n name: \"referenceElements\",\n initialState: initialState10,\n reducers: {\n addDot: (state2, action) => {\n state2.dots.push(action.payload);\n },\n removeDot: (state2, action) => {\n var index2 = current(state2).dots.findIndex((dot) => dot === action.payload);\n if (index2 !== -1) {\n state2.dots.splice(index2, 1);\n }\n },\n addArea: (state2, action) => {\n state2.areas.push(action.payload);\n },\n removeArea: (state2, action) => {\n var index2 = current(state2).areas.findIndex((area) => area === action.payload);\n if (index2 !== -1) {\n state2.areas.splice(index2, 1);\n }\n },\n addLine: (state2, action) => {\n state2.lines.push(castDraft(action.payload));\n },\n removeLine: (state2, action) => {\n var index2 = current(state2).lines.findIndex((line) => line === action.payload);\n if (index2 !== -1) {\n state2.lines.splice(index2, 1);\n }\n }\n }\n });\n var {\n addDot,\n removeDot,\n addArea,\n removeArea,\n addLine,\n removeLine\n } = referenceElementsSlice.actions;\n var referenceElementsReducer = referenceElementsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/ClipPathProvider.js\n var React97 = __toESM(require_react());\n var import_react53 = __toESM(require_react());\n var ClipPathIdContext = /* @__PURE__ */ (0, import_react53.createContext)(void 0);\n var ClipPathProvider = (_ref2) => {\n var {\n children\n } = _ref2;\n var [clipPathId] = (0, import_react53.useState)(\"\".concat(uniqueId(\"recharts\"), \"-clip\"));\n var plotArea = usePlotArea();\n if (plotArea == null) {\n return null;\n }\n var {\n x: x2,\n y: y2,\n width,\n height\n } = plotArea;\n return /* @__PURE__ */ React97.createElement(ClipPathIdContext.Provider, {\n value: clipPathId\n }, /* @__PURE__ */ React97.createElement(\"defs\", null, /* @__PURE__ */ React97.createElement(\"clipPath\", {\n id: clipPathId\n }, /* @__PURE__ */ React97.createElement(\"rect\", {\n x: x2,\n y: y2,\n height,\n width\n }))), children);\n };\n var useClipPathId = () => {\n return (0, import_react53.useContext)(ClipPathIdContext);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/CartesianScaleHelper.js\n var CartesianScaleHelperImpl = class {\n constructor(_ref2) {\n var {\n x: x2,\n y: y2\n } = _ref2;\n this.xAxisScale = x2;\n this.yAxisScale = y2;\n }\n map(value, _ref2) {\n var _this$xAxisScale$map, _this$yAxisScale$map;\n var {\n position: position2\n } = _ref2;\n return {\n x: (_this$xAxisScale$map = this.xAxisScale.map(value.x, {\n position: position2\n })) !== null && _this$xAxisScale$map !== void 0 ? _this$xAxisScale$map : 0,\n y: (_this$yAxisScale$map = this.yAxisScale.map(value.y, {\n position: position2\n })) !== null && _this$yAxisScale$map !== void 0 ? _this$yAxisScale$map : 0\n };\n }\n mapWithFallback(value, _ref3) {\n var _this$xAxisScale$map2, _this$yAxisScale$map2;\n var {\n position: position2,\n fallback\n } = _ref3;\n var fallbackY, fallbackX;\n if (fallback === \"rangeMin\") {\n fallbackY = this.yAxisScale.rangeMin();\n } else if (fallback === \"rangeMax\") {\n fallbackY = this.yAxisScale.rangeMax();\n } else {\n fallbackY = 0;\n }\n if (fallback === \"rangeMin\") {\n fallbackX = this.xAxisScale.rangeMin();\n } else if (fallback === \"rangeMax\") {\n fallbackX = this.xAxisScale.rangeMax();\n } else {\n fallbackX = 0;\n }\n return {\n x: (_this$xAxisScale$map2 = this.xAxisScale.map(value.x, {\n position: position2\n })) !== null && _this$xAxisScale$map2 !== void 0 ? _this$xAxisScale$map2 : fallbackX,\n y: (_this$yAxisScale$map2 = this.yAxisScale.map(value.y, {\n position: position2\n })) !== null && _this$yAxisScale$map2 !== void 0 ? _this$yAxisScale$map2 : fallbackY\n };\n }\n isInRange(_ref4) {\n var {\n x: x2,\n y: y2\n } = _ref4;\n var xInRange = x2 == null || this.xAxisScale.isInRange(x2);\n var yInRange = y2 == null || this.yAxisScale.isInRange(y2);\n return xInRange && yInRange;\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceLine.js\n function ownKeys46(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread46(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys46(Object(t2), true).forEach(function(r3) {\n _defineProperty48(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys46(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty48(e, r2, t2) {\n return (r2 = _toPropertyKey48(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey48(t2) {\n var i = _toPrimitive48(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive48(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends28() {\n return _extends28 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends28.apply(null, arguments);\n }\n var renderLine = (option, props) => {\n var line;\n if (/* @__PURE__ */ React98.isValidElement(option)) {\n line = /* @__PURE__ */ React98.cloneElement(option, props);\n } else if (typeof option === \"function\") {\n line = option(props);\n } else {\n if (!isWellBehavedNumber(props.x1) || !isWellBehavedNumber(props.y1) || !isWellBehavedNumber(props.x2) || !isWellBehavedNumber(props.y2)) {\n return null;\n }\n line = /* @__PURE__ */ React98.createElement(\"line\", _extends28({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n return line;\n };\n var getHorizontalLineEndPoints = (yCoord, ifOverflow, position2, yAxisOrientation, yAxisScale, viewBox) => {\n var {\n x: x2,\n width\n } = viewBox;\n var coord = yAxisScale.map(yCoord, {\n position: position2\n });\n if (!isWellBehavedNumber(coord)) {\n return null;\n }\n if (ifOverflow === \"discard\" && !yAxisScale.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: x2 + width,\n y: coord\n }, {\n x: x2,\n y: coord\n }];\n return yAxisOrientation === \"left\" ? points.reverse() : points;\n };\n var getVerticalLineEndPoints = (xCoord, ifOverflow, position2, xAxisOrientation, xAxisScale, viewBox) => {\n var {\n y: y2,\n height\n } = viewBox;\n var coord = xAxisScale.map(xCoord, {\n position: position2\n });\n if (!isWellBehavedNumber(coord)) {\n return null;\n }\n if (ifOverflow === \"discard\" && !xAxisScale.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: coord,\n y: y2 + height\n }, {\n x: coord,\n y: y2\n }];\n return xAxisOrientation === \"top\" ? points.reverse() : points;\n };\n var getSegmentLineEndPoints = (segment, ifOverflow, position2, scales) => {\n var points = [scales.mapWithFallback(segment[0], {\n position: position2,\n fallback: \"rangeMin\"\n }), scales.mapWithFallback(segment[1], {\n position: position2,\n fallback: \"rangeMax\"\n })];\n if (ifOverflow === \"discard\" && points.some((p) => !scales.isInRange(p))) {\n return null;\n }\n return points;\n };\n var getEndPoints = (xAxisScale, yAxisScale, viewBox, position2, xAxisOrientation, yAxisOrientation, props) => {\n var {\n x: xCoord,\n y: yCoord,\n segment,\n ifOverflow\n } = props;\n var isFixedX = isNumOrStr(xCoord);\n var isFixedY = isNumOrStr(yCoord);\n if (isFixedY) {\n return getHorizontalLineEndPoints(yCoord, ifOverflow, position2, yAxisOrientation, yAxisScale, viewBox);\n }\n if (isFixedX) {\n return getVerticalLineEndPoints(xCoord, ifOverflow, position2, xAxisOrientation, xAxisScale, viewBox);\n }\n if (segment != null && segment.length === 2) {\n return getSegmentLineEndPoints(segment, ifOverflow, position2, new CartesianScaleHelperImpl({\n x: xAxisScale,\n y: yAxisScale\n }));\n }\n return null;\n };\n function ReportReferenceLine(props) {\n var dispatch = useAppDispatch();\n (0, import_react54.useEffect)(() => {\n dispatch(addLine(props));\n return () => {\n dispatch(removeLine(props));\n };\n });\n return null;\n }\n function ReferenceLineImpl(props) {\n var {\n xAxisId,\n yAxisId,\n shape,\n className,\n ifOverflow\n } = props;\n var isPanorama = useIsPanorama();\n var clipPathId = useClipPathId();\n var xAxis = useAppSelector((state2) => selectXAxisSettings(state2, xAxisId));\n var yAxis = useAppSelector((state2) => selectYAxisSettings(state2, yAxisId));\n var xAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"yAxis\", yAxisId, isPanorama));\n var viewBox = useViewBox();\n if (!clipPathId || !viewBox || xAxis == null || yAxis == null || xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var endPoints = getEndPoints(xAxisScale, yAxisScale, viewBox, props.position, xAxis.orientation, yAxis.orientation, props);\n if (!endPoints) {\n return null;\n }\n var point1 = endPoints[0];\n var point22 = endPoints[1];\n if (point1 == null || point22 == null) {\n return null;\n }\n var {\n x: x1,\n y: y1\n } = point1;\n var {\n x: x2,\n y: y2\n } = point22;\n var clipPath = ifOverflow === \"hidden\" ? \"url(#\".concat(clipPathId, \")\") : void 0;\n var lineProps = _objectSpread46(_objectSpread46({\n clipPath\n }, svgPropertiesAndEvents(props)), {}, {\n x1,\n y1,\n x2,\n y2\n });\n var rect = rectWithCoords({\n x1,\n y1,\n x2,\n y2\n });\n return /* @__PURE__ */ React98.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React98.createElement(Layer, {\n className: clsx(\"recharts-reference-line\", className)\n }, renderLine(shape, lineProps), /* @__PURE__ */ React98.createElement(CartesianLabelContextProvider, _extends28({}, rect, {\n lowerWidth: rect.width,\n upperWidth: rect.width\n }), /* @__PURE__ */ React98.createElement(CartesianLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n }\n var referenceLineDefaultProps = {\n ifOverflow: \"discard\",\n xAxisId: 0,\n yAxisId: 0,\n fill: \"none\",\n label: false,\n stroke: \"#ccc\",\n fillOpacity: 1,\n strokeWidth: 1,\n position: \"middle\",\n zIndex: DefaultZIndexes.line\n };\n function ReferenceLine(outsideProps) {\n var props = resolveDefaultProps(outsideProps, referenceLineDefaultProps);\n return /* @__PURE__ */ React98.createElement(React98.Fragment, null, /* @__PURE__ */ React98.createElement(ReportReferenceLine, {\n yAxisId: props.yAxisId,\n xAxisId: props.xAxisId,\n ifOverflow: props.ifOverflow,\n x: props.x,\n y: props.y,\n segment: props.segment\n }), /* @__PURE__ */ React98.createElement(ReferenceLineImpl, props));\n }\n ReferenceLine.displayName = \"ReferenceLine\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceArea.js\n var React99 = __toESM(require_react());\n var import_react55 = __toESM(require_react());\n function ownKeys47(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread47(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys47(Object(t2), true).forEach(function(r3) {\n _defineProperty49(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys47(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty49(e, r2, t2) {\n return (r2 = _toPropertyKey49(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey49(t2) {\n var i = _toPrimitive49(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive49(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends29() {\n return _extends29 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends29.apply(null, arguments);\n }\n var getRect = (hasX1, hasX2, hasY1, hasY2, xAxisScale, yAxisScale, props) => {\n var _xAxisScale$map, _yAxisScale$map, _xAxisScale$map2, _yAxisScale$map2;\n var {\n x1: xValue1,\n x2: xValue2,\n y1: yValue1,\n y2: yValue2\n } = props;\n if (xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var scales = new CartesianScaleHelperImpl({\n x: xAxisScale,\n y: yAxisScale\n });\n var p1 = {\n x: hasX1 ? (_xAxisScale$map = xAxisScale.map(xValue1, {\n position: \"start\"\n })) !== null && _xAxisScale$map !== void 0 ? _xAxisScale$map : null : xAxisScale.rangeMin(),\n y: hasY1 ? (_yAxisScale$map = yAxisScale.map(yValue1, {\n position: \"start\"\n })) !== null && _yAxisScale$map !== void 0 ? _yAxisScale$map : null : yAxisScale.rangeMin()\n };\n var p2 = {\n x: hasX2 ? (_xAxisScale$map2 = xAxisScale.map(xValue2, {\n position: \"end\"\n })) !== null && _xAxisScale$map2 !== void 0 ? _xAxisScale$map2 : null : xAxisScale.rangeMax(),\n y: hasY2 ? (_yAxisScale$map2 = yAxisScale.map(yValue2, {\n position: \"end\"\n })) !== null && _yAxisScale$map2 !== void 0 ? _yAxisScale$map2 : null : yAxisScale.rangeMax()\n };\n if (props.ifOverflow === \"discard\" && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n return rectWithPoints(p1, p2);\n };\n var renderRect = (option, props) => {\n var rect;\n if (/* @__PURE__ */ React99.isValidElement(option)) {\n rect = /* @__PURE__ */ React99.cloneElement(option, props);\n } else if (typeof option === \"function\") {\n rect = option(props);\n } else {\n rect = /* @__PURE__ */ React99.createElement(Rectangle, _extends29({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n return rect;\n };\n function ReportReferenceArea(props) {\n var dispatch = useAppDispatch();\n (0, import_react55.useEffect)(() => {\n dispatch(addArea(props));\n return () => {\n dispatch(removeArea(props));\n };\n });\n return null;\n }\n function ReferenceAreaImpl(props) {\n var {\n x1,\n x2,\n y1,\n y2,\n className,\n shape,\n xAxisId,\n yAxisId\n } = props;\n var clipPathId = useClipPathId();\n var isPanorama = useIsPanorama();\n var xAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"yAxis\", yAxisId, isPanorama));\n if (xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, xAxisScale, yAxisScale, props);\n if (!rect && !shape) {\n return null;\n }\n var isOverflowHidden = props.ifOverflow === \"hidden\";\n var clipPath = isOverflowHidden ? \"url(#\".concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React99.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React99.createElement(Layer, {\n className: clsx(\"recharts-reference-area\", className)\n }, renderRect(shape, _objectSpread47(_objectSpread47({\n clipPath\n }, svgPropertiesAndEvents(props)), rect)), rect != null && /* @__PURE__ */ React99.createElement(CartesianLabelContextProvider, _extends29({}, rect, {\n lowerWidth: rect.width,\n upperWidth: rect.width\n }), /* @__PURE__ */ React99.createElement(CartesianLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n }\n var referenceAreaDefaultProps = {\n ifOverflow: \"discard\",\n xAxisId: 0,\n yAxisId: 0,\n radius: 0,\n fill: \"#ccc\",\n label: false,\n fillOpacity: 0.5,\n stroke: \"none\",\n strokeWidth: 1,\n zIndex: DefaultZIndexes.area\n };\n function ReferenceArea(outsideProps) {\n var props = resolveDefaultProps(outsideProps, referenceAreaDefaultProps);\n return /* @__PURE__ */ React99.createElement(React99.Fragment, null, /* @__PURE__ */ React99.createElement(ReportReferenceArea, {\n yAxisId: props.yAxisId,\n xAxisId: props.xAxisId,\n ifOverflow: props.ifOverflow,\n x1: props.x1,\n x2: props.x2,\n y1: props.y1,\n y2: props.y2\n }), /* @__PURE__ */ React99.createElement(ReferenceAreaImpl, props));\n }\n ReferenceArea.displayName = \"ReferenceArea\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianAxis.js\n var React100 = __toESM(require_react());\n var import_react56 = __toESM(require_react());\n var import_get5 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getEveryNth.js\n function getEveryNth(array2, n) {\n if (n < 1) {\n return [];\n }\n if (n === 1) {\n return array2;\n }\n var result = [];\n for (var i = 0; i < array2.length; i += n) {\n var item = array2[i];\n if (item !== void 0) {\n result.push(item);\n }\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/TickUtils.js\n function getAngledTickWidth(contentSize, unitSize, angle) {\n var size4 = {\n width: contentSize.width + unitSize.width,\n height: contentSize.height + unitSize.height\n };\n return getAngledRectangleWidth(size4, angle);\n }\n function getTickBoundaries(viewBox, sign2, sizeKey) {\n var isWidth = sizeKey === \"width\";\n var {\n x: x2,\n y: y2,\n width,\n height\n } = viewBox;\n if (sign2 === 1) {\n return {\n start: isWidth ? x2 : y2,\n end: isWidth ? x2 + width : y2 + height\n };\n }\n return {\n start: isWidth ? x2 + width : y2 + height,\n end: isWidth ? x2 : y2\n };\n }\n function isVisible(sign2, tickPosition, getSize, start, end) {\n if (sign2 * tickPosition < sign2 * start || sign2 * tickPosition > sign2 * end) {\n return false;\n }\n var size4 = getSize();\n return sign2 * (tickPosition - sign2 * size4 / 2 - start) >= 0 && sign2 * (tickPosition + sign2 * size4 / 2 - end) <= 0;\n }\n function getNumberIntervalTicks(ticks2, interval) {\n return getEveryNth(ticks2, interval + 1);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getEquidistantTicks.js\n function getEquidistantTicks(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var {\n start: initialStart,\n end\n } = boundaries;\n var index2 = 0;\n var stepsize = 1;\n var start = initialStart;\n var _loop = function _loop2() {\n var entry = ticks2 === null || ticks2 === void 0 ? void 0 : ticks2[index2];\n if (entry === void 0) {\n return {\n v: getEveryNth(ticks2, stepsize)\n };\n }\n var i = index2;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(entry, i);\n }\n return size4;\n };\n var tickCoord = entry.coordinate;\n var isShow = index2 === 0 || isVisible(sign2, tickCoord, getSize, start, end);\n if (!isShow) {\n index2 = 0;\n start = initialStart;\n stepsize += 1;\n }\n if (isShow) {\n start = tickCoord + sign2 * (getSize() / 2 + minTickGap);\n index2 += stepsize;\n }\n }, _ret;\n while (stepsize <= result.length) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n return [];\n }\n function getEquidistantPreserveEndTicks(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n if (len === 0) {\n return [];\n }\n var {\n start: initialStart,\n end\n } = boundaries;\n for (var stepsize = 1; stepsize <= len; stepsize++) {\n var offset4 = (len - 1) % stepsize;\n var start = initialStart;\n var ok = true;\n var _loop2 = function _loop22() {\n var entry = ticks2[index2];\n if (entry == null) {\n return 0;\n }\n var i = index2;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(entry, i);\n }\n return size4;\n };\n var tickCoord = entry.coordinate;\n var isShow = index2 === offset4 || isVisible(sign2, tickCoord, getSize, start, end);\n if (!isShow) {\n ok = false;\n return 1;\n }\n if (isShow) {\n start = tickCoord + sign2 * (getSize() / 2 + minTickGap);\n }\n }, _ret2;\n for (var index2 = offset4; index2 < len; index2 += stepsize) {\n _ret2 = _loop2();\n if (_ret2 === 0) continue;\n if (_ret2 === 1) break;\n }\n if (ok) {\n var finalTicks = [];\n for (var _index = offset4; _index < len; _index += stepsize) {\n var tick = ticks2[_index];\n if (tick != null) {\n finalTicks.push(tick);\n }\n }\n return finalTicks;\n }\n }\n return [];\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getTicks.js\n function ownKeys48(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread48(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys48(Object(t2), true).forEach(function(r3) {\n _defineProperty50(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys48(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty50(e, r2, t2) {\n return (r2 = _toPropertyKey50(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey50(t2) {\n var i = _toPrimitive50(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive50(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getTicksEnd(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n var {\n start\n } = boundaries;\n var {\n end\n } = boundaries;\n var _loop = function _loop2(i2) {\n var initialEntry = result[i2];\n if (initialEntry == null) {\n return 1;\n }\n var entry = initialEntry;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(initialEntry, i2);\n }\n return size4;\n };\n if (i2 === len - 1) {\n var gap = sign2 * (entry.coordinate + sign2 * getSize() / 2 - end);\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign2 : entry.coordinate\n });\n } else {\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n if (entry.tickCoord != null) {\n var isShow = isVisible(sign2, entry.tickCoord, getSize, start, end);\n if (isShow) {\n end = entry.tickCoord - sign2 * (getSize() / 2 + minTickGap);\n result[i2] = _objectSpread48(_objectSpread48({}, entry), {}, {\n isShow: true\n });\n }\n }\n };\n for (var i = len - 1; i >= 0; i--) {\n if (_loop(i)) continue;\n }\n return result;\n }\n function getTicksStart(sign2, boundaries, getTickSize, ticks2, minTickGap, preserveEnd) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n var {\n start,\n end\n } = boundaries;\n if (preserveEnd) {\n var tail = ticks2[len - 1];\n if (tail != null) {\n var tailSize = getTickSize(tail, len - 1);\n var tailGap = sign2 * (tail.coordinate + sign2 * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread48(_objectSpread48({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign2 : tail.coordinate\n });\n if (tail.tickCoord != null) {\n var isTailShow = isVisible(sign2, tail.tickCoord, () => tailSize, start, end);\n if (isTailShow) {\n end = tail.tickCoord - sign2 * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread48(_objectSpread48({}, tail), {}, {\n isShow: true\n });\n }\n }\n }\n }\n var count3 = preserveEnd ? len - 1 : len;\n var _loop2 = function _loop22(i2) {\n var initialEntry = result[i2];\n if (initialEntry == null) {\n return 1;\n }\n var entry = initialEntry;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(initialEntry, i2);\n }\n return size4;\n };\n if (i2 === 0) {\n var gap = sign2 * (entry.coordinate - sign2 * getSize() / 2 - start);\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign2 : entry.coordinate\n });\n } else {\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n if (entry.tickCoord != null) {\n var isShow = isVisible(sign2, entry.tickCoord, getSize, start, end);\n if (isShow) {\n start = entry.tickCoord + sign2 * (getSize() / 2 + minTickGap);\n result[i2] = _objectSpread48(_objectSpread48({}, entry), {}, {\n isShow: true\n });\n }\n }\n };\n for (var i = 0; i < count3; i++) {\n if (_loop2(i)) continue;\n }\n return result;\n }\n function getTicks(props, fontSize, letterSpacing) {\n var {\n tick,\n ticks: ticks2,\n viewBox,\n minTickGap,\n orientation,\n interval,\n tickFormatter,\n unit: unit2,\n angle\n } = props;\n if (!ticks2 || !ticks2.length || !tick) {\n return [];\n }\n if (isNumber3(interval) || Global.isSsr) {\n var _getNumberIntervalTic;\n return (_getNumberIntervalTic = getNumberIntervalTicks(ticks2, isNumber3(interval) ? interval : 0)) !== null && _getNumberIntervalTic !== void 0 ? _getNumberIntervalTic : [];\n }\n var candidates = [];\n var sizeKey = orientation === \"top\" || orientation === \"bottom\" ? \"width\" : \"height\";\n var unitSize = unit2 && sizeKey === \"width\" ? getStringSize(unit2, {\n fontSize,\n letterSpacing\n }) : {\n width: 0,\n height: 0\n };\n var getTickSize = (content, index2) => {\n var value = typeof tickFormatter === \"function\" ? tickFormatter(content.value, index2) : content.value;\n return sizeKey === \"width\" ? getAngledTickWidth(getStringSize(value, {\n fontSize,\n letterSpacing\n }), unitSize, angle) : getStringSize(value, {\n fontSize,\n letterSpacing\n })[sizeKey];\n };\n var tick0 = ticks2[0];\n var tick1 = ticks2[1];\n var sign2 = ticks2.length >= 2 && tick0 != null && tick1 != null ? mathSign(tick1.coordinate - tick0.coordinate) : 1;\n var boundaries = getTickBoundaries(viewBox, sign2, sizeKey);\n if (interval === \"equidistantPreserveStart\") {\n return getEquidistantTicks(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n if (interval === \"equidistantPreserveEnd\") {\n return getEquidistantPreserveEndTicks(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n if (interval === \"preserveStart\" || interval === \"preserveStartEnd\") {\n candidates = getTicksStart(sign2, boundaries, getTickSize, ticks2, minTickGap, interval === \"preserveStartEnd\");\n } else {\n candidates = getTicksEnd(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n return candidates.filter((entry) => entry.isShow);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/YAxisUtils.js\n var getCalculatedYAxisWidth = (_ref2) => {\n var {\n ticks: ticks2,\n label,\n labelGapWithTick = 5,\n // Default gap between label and tick\n tickSize = 0,\n tickMargin = 0\n } = _ref2;\n var maxTickWidth = 0;\n if (ticks2) {\n Array.from(ticks2).forEach((tickNode) => {\n if (tickNode) {\n var bbox = tickNode.getBoundingClientRect();\n if (bbox.width > maxTickWidth) {\n maxTickWidth = bbox.width;\n }\n }\n });\n var labelWidth = label ? label.getBoundingClientRect().width : 0;\n var tickWidth = tickSize + tickMargin;\n var updatedYAxisWidth = maxTickWidth + tickWidth + labelWidth + (label ? labelGapWithTick : 0);\n return Math.round(updatedYAxisWidth);\n }\n return 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/renderedTicksSlice.js\n var initialState11 = {\n xAxis: {},\n yAxis: {}\n };\n var renderedTicksSlice = createSlice({\n name: \"renderedTicks\",\n initialState: initialState11,\n reducers: {\n setRenderedTicks: (state2, action) => {\n var {\n axisType,\n axisId,\n ticks: ticks2\n } = action.payload;\n state2[axisType][axisId] = castDraft(ticks2);\n },\n removeRenderedTicks: (state2, action) => {\n var {\n axisType,\n axisId\n } = action.payload;\n delete state2[axisType][axisId];\n }\n }\n });\n var {\n setRenderedTicks,\n removeRenderedTicks\n } = renderedTicksSlice.actions;\n var renderedTicksReducer = renderedTicksSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianAxis.js\n var _excluded20 = [\"axisLine\", \"width\", \"height\", \"className\", \"hide\", \"ticks\", \"axisType\", \"axisId\"];\n function _objectWithoutProperties20(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose20(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose20(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends30() {\n return _extends30 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends30.apply(null, arguments);\n }\n function ownKeys49(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread49(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys49(Object(t2), true).forEach(function(r3) {\n _defineProperty51(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys49(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty51(e, r2, t2) {\n return (r2 = _toPropertyKey51(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey51(t2) {\n var i = _toPrimitive51(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive51(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultCartesianAxisProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: \"bottom\",\n // The ticks\n ticks: [],\n stroke: \"#666\",\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: \"preserveEnd\",\n zIndex: DefaultZIndexes.axis\n };\n function AxisLine2(axisLineProps) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n orientation,\n mirror,\n axisLine,\n otherSvgProps\n } = axisLineProps;\n if (!axisLine) {\n return null;\n }\n var props = _objectSpread49(_objectSpread49(_objectSpread49({}, otherSvgProps), svgPropertiesNoEvents(axisLine)), {}, {\n fill: \"none\"\n });\n if (orientation === \"top\" || orientation === \"bottom\") {\n var needHeight = +(orientation === \"top\" && !mirror || orientation === \"bottom\" && mirror);\n props = _objectSpread49(_objectSpread49({}, props), {}, {\n x1: x2,\n y1: y2 + needHeight * height,\n x2: x2 + width,\n y2: y2 + needHeight * height\n });\n } else {\n var needWidth = +(orientation === \"left\" && !mirror || orientation === \"right\" && mirror);\n props = _objectSpread49(_objectSpread49({}, props), {}, {\n x1: x2 + needWidth * width,\n y1: y2,\n x2: x2 + needWidth * width,\n y2: y2 + height\n });\n }\n return /* @__PURE__ */ React100.createElement(\"line\", _extends30({}, props, {\n className: clsx(\"recharts-cartesian-axis-line\", (0, import_get5.default)(axisLine, \"className\"))\n }));\n }\n function getTickLineCoord2(data, x2, y2, width, height, orientation, tickSize, mirror, tickMargin) {\n var x1, x22, y1, y22, tx, ty;\n var sign2 = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber3(data.tickCoord) ? data.tickCoord : data.coordinate;\n switch (orientation) {\n case \"top\":\n x1 = x22 = data.coordinate;\n y22 = y2 + +!mirror * height;\n y1 = y22 - sign2 * finalTickSize;\n ty = y1 - sign2 * tickMargin;\n tx = tickCoord;\n break;\n case \"left\":\n y1 = y22 = data.coordinate;\n x22 = x2 + +!mirror * width;\n x1 = x22 - sign2 * finalTickSize;\n tx = x1 - sign2 * tickMargin;\n ty = tickCoord;\n break;\n case \"right\":\n y1 = y22 = data.coordinate;\n x22 = x2 + +mirror * width;\n x1 = x22 + sign2 * finalTickSize;\n tx = x1 + sign2 * tickMargin;\n ty = tickCoord;\n break;\n default:\n x1 = x22 = data.coordinate;\n y22 = y2 + +mirror * height;\n y1 = y22 + sign2 * finalTickSize;\n ty = y1 + sign2 * tickMargin;\n tx = tickCoord;\n break;\n }\n return {\n line: {\n x1,\n y1,\n x2: x22,\n y2: y22\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n function getTickTextAnchor3(orientation, mirror) {\n switch (orientation) {\n case \"left\":\n return mirror ? \"start\" : \"end\";\n case \"right\":\n return mirror ? \"end\" : \"start\";\n default:\n return \"middle\";\n }\n }\n function getTickVerticalAnchor(orientation, mirror) {\n switch (orientation) {\n case \"left\":\n case \"right\":\n return \"middle\";\n case \"top\":\n return mirror ? \"start\" : \"end\";\n default:\n return mirror ? \"end\" : \"start\";\n }\n }\n function TickItem(props) {\n var {\n option,\n tickProps,\n value\n } = props;\n var tickItem;\n var combinedClassName = clsx(tickProps.className, \"recharts-cartesian-axis-tick-value\");\n if (/* @__PURE__ */ React100.isValidElement(option)) {\n tickItem = /* @__PURE__ */ React100.cloneElement(option, _objectSpread49(_objectSpread49({}, tickProps), {}, {\n className: combinedClassName\n }));\n } else if (typeof option === \"function\") {\n tickItem = option(_objectSpread49(_objectSpread49({}, tickProps), {}, {\n className: combinedClassName\n }));\n } else {\n var className = \"recharts-cartesian-axis-tick-value\";\n if (typeof option !== \"boolean\") {\n className = clsx(className, getClassNameFromUnknown(option));\n }\n tickItem = /* @__PURE__ */ React100.createElement(Text, _extends30({}, tickProps, {\n className\n }), value);\n }\n return tickItem;\n }\n function RenderedTicksReporter(_ref2) {\n var {\n ticks: ticks2,\n axisType,\n axisId\n } = _ref2;\n var dispatch = useAppDispatch();\n (0, import_react56.useEffect)(() => {\n if (axisId == null || axisType == null) {\n return noop4;\n }\n var tickItems = ticks2.map((tick) => ({\n value: tick.value,\n coordinate: tick.coordinate,\n offset: tick.offset,\n index: tick.index\n }));\n dispatch(setRenderedTicks({\n ticks: tickItems,\n axisId,\n axisType\n }));\n return () => {\n dispatch(removeRenderedTicks({\n axisId,\n axisType\n }));\n };\n }, [dispatch, ticks2, axisId, axisType]);\n return null;\n }\n var Ticks2 = /* @__PURE__ */ (0, import_react56.forwardRef)((props, ref) => {\n var {\n ticks: ticks2 = [],\n tick,\n tickLine,\n stroke,\n tickFormatter,\n unit: unit2,\n padding,\n tickTextProps,\n orientation,\n mirror,\n x: x2,\n y: y2,\n width,\n height,\n tickSize,\n tickMargin,\n fontSize,\n letterSpacing,\n getTicksConfig,\n events,\n axisType,\n axisId\n } = props;\n var finalTicks = getTicks(_objectSpread49(_objectSpread49({}, getTicksConfig), {}, {\n ticks: ticks2\n }), fontSize, letterSpacing);\n var axisProps = svgPropertiesNoEvents(getTicksConfig);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var textAnchor = isValidTextAnchor(axisProps.textAnchor) ? axisProps.textAnchor : getTickTextAnchor3(orientation, mirror);\n var verticalAnchor = getTickVerticalAnchor(orientation, mirror);\n var tickLinePropsObject = {};\n if (typeof tickLine === \"object\") {\n tickLinePropsObject = tickLine;\n }\n var tickLineProps = _objectSpread49(_objectSpread49({}, axisProps), {}, {\n fill: \"none\"\n }, tickLinePropsObject);\n var tickLineCoords = finalTicks.map((entry) => _objectSpread49({\n entry\n }, getTickLineCoord2(entry, x2, y2, width, height, orientation, tickSize, mirror, tickMargin)));\n var tickLines = tickLineCoords.map((_ref2) => {\n var {\n entry,\n line: lineCoord\n } = _ref2;\n return /* @__PURE__ */ React100.createElement(Layer, {\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, tickLine && /* @__PURE__ */ React100.createElement(\"line\", _extends30({}, tickLineProps, lineCoord, {\n className: clsx(\"recharts-cartesian-axis-tick-line\", (0, import_get5.default)(tickLine, \"className\"))\n })));\n });\n var tickLabels = tickLineCoords.map((_ref3, i) => {\n var _ref4, _tickTextProps$angle;\n var {\n entry,\n tick: tickCoord\n } = _ref3;\n var tickProps = _objectSpread49(_objectSpread49(_objectSpread49(_objectSpread49({\n verticalAnchor\n }, axisProps), {}, {\n textAnchor,\n stroke: \"none\",\n fill: stroke\n }, tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter,\n padding\n }, tickTextProps), {}, {\n angle: (_ref4 = (_tickTextProps$angle = tickTextProps === null || tickTextProps === void 0 ? void 0 : tickTextProps.angle) !== null && _tickTextProps$angle !== void 0 ? _tickTextProps$angle : axisProps.angle) !== null && _ref4 !== void 0 ? _ref4 : 0\n });\n var finalTickProps = _objectSpread49(_objectSpread49({}, tickProps), customTickProps);\n return /* @__PURE__ */ React100.createElement(Layer, _extends30({\n className: \"recharts-cartesian-axis-tick-label\",\n key: \"tick-label-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, adaptEventsOfChild(events, entry, i)), tick && /* @__PURE__ */ React100.createElement(TickItem, {\n option: tick,\n tickProps: finalTickProps,\n value: \"\".concat(typeof tickFormatter === \"function\" ? tickFormatter(entry.value, i) : entry.value).concat(unit2 || \"\")\n }));\n });\n return /* @__PURE__ */ React100.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks recharts-\".concat(axisType, \"-ticks\")\n }, /* @__PURE__ */ React100.createElement(RenderedTicksReporter, {\n ticks: finalTicks,\n axisId,\n axisType\n }), tickLabels.length > 0 && /* @__PURE__ */ React100.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.label\n }, /* @__PURE__ */ React100.createElement(\"g\", {\n className: \"recharts-cartesian-axis-tick-labels recharts-\".concat(axisType, \"-tick-labels\"),\n ref\n }, tickLabels)), tickLines.length > 0 && /* @__PURE__ */ React100.createElement(\"g\", {\n className: \"recharts-cartesian-axis-tick-lines recharts-\".concat(axisType, \"-tick-lines\")\n }, tickLines));\n });\n var CartesianAxisComponent = /* @__PURE__ */ (0, import_react56.forwardRef)((props, ref) => {\n var {\n axisLine,\n width,\n height,\n className,\n hide: hide4,\n ticks: ticks2,\n axisType,\n axisId\n } = props, rest = _objectWithoutProperties20(props, _excluded20);\n var [fontSize, setFontSize] = (0, import_react56.useState)(\"\");\n var [letterSpacing, setLetterSpacing] = (0, import_react56.useState)(\"\");\n var tickRefs = (0, import_react56.useRef)(null);\n (0, import_react56.useImperativeHandle)(ref, () => ({\n getCalculatedWidth: () => {\n var _props$labelRef;\n return getCalculatedYAxisWidth({\n ticks: tickRefs.current,\n label: (_props$labelRef = props.labelRef) === null || _props$labelRef === void 0 ? void 0 : _props$labelRef.current,\n labelGapWithTick: 5,\n tickSize: props.tickSize,\n tickMargin: props.tickMargin\n });\n }\n }));\n var layerRef = (0, import_react56.useCallback)((el) => {\n if (el) {\n var tickNodes = el.getElementsByClassName(\"recharts-cartesian-axis-tick-value\");\n tickRefs.current = tickNodes;\n var tick = tickNodes[0];\n if (tick) {\n var computedStyle = window.getComputedStyle(tick);\n var calculatedFontSize = computedStyle.fontSize;\n var calculatedLetterSpacing = computedStyle.letterSpacing;\n if (calculatedFontSize !== fontSize || calculatedLetterSpacing !== letterSpacing) {\n setFontSize(calculatedFontSize);\n setLetterSpacing(calculatedLetterSpacing);\n }\n }\n }\n }, [fontSize, letterSpacing]);\n if (hide4) {\n return null;\n }\n if (width != null && width <= 0 || height != null && height <= 0) {\n return null;\n }\n return /* @__PURE__ */ React100.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React100.createElement(Layer, {\n className: clsx(\"recharts-cartesian-axis\", className)\n }, /* @__PURE__ */ React100.createElement(AxisLine2, {\n x: props.x,\n y: props.y,\n width,\n height,\n orientation: props.orientation,\n mirror: props.mirror,\n axisLine,\n otherSvgProps: svgPropertiesNoEvents(props)\n }), /* @__PURE__ */ React100.createElement(Ticks2, {\n ref: layerRef,\n axisType,\n events: rest,\n fontSize,\n getTicksConfig: props,\n height: props.height,\n letterSpacing,\n mirror: props.mirror,\n orientation: props.orientation,\n padding: props.padding,\n stroke: props.stroke,\n tick: props.tick,\n tickFormatter: props.tickFormatter,\n tickLine: props.tickLine,\n tickMargin: props.tickMargin,\n tickSize: props.tickSize,\n tickTextProps: props.tickTextProps,\n ticks: ticks2,\n unit: props.unit,\n width: props.width,\n x: props.x,\n y: props.y,\n axisId\n }), /* @__PURE__ */ React100.createElement(CartesianLabelContextProvider, {\n x: props.x,\n y: props.y,\n width: props.width,\n height: props.height,\n lowerWidth: props.width,\n upperWidth: props.width\n }, /* @__PURE__ */ React100.createElement(CartesianLabelFromLabelProp, {\n label: props.label,\n labelRef: props.labelRef\n }), props.children)));\n });\n var CartesianAxis = /* @__PURE__ */ React100.forwardRef((outsideProps, ref) => {\n var props = resolveDefaultProps(outsideProps, defaultCartesianAxisProps);\n return /* @__PURE__ */ React100.createElement(CartesianAxisComponent, _extends30({}, props, {\n ref\n }));\n });\n CartesianAxis.displayName = \"CartesianAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianGrid.js\n var React101 = __toESM(require_react());\n var _excluded21 = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"];\n var _excluded210 = [\"offset\"];\n var _excluded35 = [\"xAxisId\", \"yAxisId\"];\n var _excluded43 = [\"xAxisId\", \"yAxisId\"];\n function ownKeys50(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread50(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys50(Object(t2), true).forEach(function(r3) {\n _defineProperty52(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys50(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty52(e, r2, t2) {\n return (r2 = _toPropertyKey52(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey52(t2) {\n var i = _toPrimitive52(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive52(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends31() {\n return _extends31 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends31.apply(null, arguments);\n }\n function _objectWithoutProperties21(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose21(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose21(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Background2 = (props) => {\n var {\n fill\n } = props;\n if (!fill || fill === \"none\") {\n return null;\n }\n var {\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n ry\n } = props;\n return /* @__PURE__ */ React101.createElement(\"rect\", {\n x: x2,\n y: y2,\n ry,\n width,\n height,\n stroke: \"none\",\n fill,\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n };\n function LineItem(_ref2) {\n var {\n option,\n lineItemProps\n } = _ref2;\n var lineItem;\n if (/* @__PURE__ */ React101.isValidElement(option)) {\n lineItem = /* @__PURE__ */ React101.cloneElement(option, lineItemProps);\n } else if (typeof option === \"function\") {\n lineItem = option(lineItemProps);\n } else {\n var _svgPropertiesNoEvent;\n var {\n x1,\n y1,\n x2,\n y2,\n key\n } = lineItemProps, others = _objectWithoutProperties21(lineItemProps, _excluded21);\n var _ref22 = (_svgPropertiesNoEvent = svgPropertiesNoEvents(others)) !== null && _svgPropertiesNoEvent !== void 0 ? _svgPropertiesNoEvent : {}, {\n offset: __\n } = _ref22, restOfFilteredProps = _objectWithoutProperties21(_ref22, _excluded210);\n lineItem = /* @__PURE__ */ React101.createElement(\"line\", _extends31({}, restOfFilteredProps, {\n x1,\n y1,\n x2,\n y2,\n fill: \"none\",\n key\n }));\n }\n return lineItem;\n }\n function HorizontalGridLines(props) {\n var {\n x: x2,\n width,\n horizontal = true,\n horizontalPoints\n } = props;\n if (!horizontal || !horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n var {\n xAxisId,\n yAxisId\n } = props, otherLineItemProps = _objectWithoutProperties21(props, _excluded35);\n var items = horizontalPoints.map((entry, i) => {\n var lineItemProps = _objectSpread50(_objectSpread50({}, otherLineItemProps), {}, {\n x1: x2,\n y1: entry,\n x2: x2 + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n return /* @__PURE__ */ React101.createElement(LineItem, {\n key: \"line-\".concat(i),\n option: horizontal,\n lineItemProps\n });\n });\n return /* @__PURE__ */ React101.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n function VerticalGridLines(props) {\n var {\n y: y2,\n height,\n vertical = true,\n verticalPoints\n } = props;\n if (!vertical || !verticalPoints || !verticalPoints.length) {\n return null;\n }\n var {\n xAxisId,\n yAxisId\n } = props, otherLineItemProps = _objectWithoutProperties21(props, _excluded43);\n var items = verticalPoints.map((entry, i) => {\n var lineItemProps = _objectSpread50(_objectSpread50({}, otherLineItemProps), {}, {\n x1: entry,\n y1: y2,\n x2: entry,\n y2: y2 + height,\n key: \"line-\".concat(i),\n index: i\n });\n return /* @__PURE__ */ React101.createElement(LineItem, {\n option: vertical,\n lineItemProps,\n key: \"line-\".concat(i)\n });\n });\n return /* @__PURE__ */ React101.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n function HorizontalStripes(props) {\n var {\n horizontalFill,\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n horizontalPoints,\n horizontal = true\n } = props;\n if (!horizontal || !horizontalFill || !horizontalFill.length || horizontalPoints == null) {\n return null;\n }\n var roundedSortedHorizontalPoints = horizontalPoints.map((e) => Math.round(e + y2 - y2)).sort((a2, b) => a2 - b);\n if (y2 !== roundedSortedHorizontalPoints[0]) {\n roundedSortedHorizontalPoints.unshift(0);\n }\n var items = roundedSortedHorizontalPoints.map((entry, i) => {\n var nextPoint = roundedSortedHorizontalPoints[i + 1];\n var lastStripe = nextPoint == null;\n var lineHeight = lastStripe ? y2 + height - entry : nextPoint - entry;\n if (lineHeight <= 0) {\n return null;\n }\n var colorIndex = i % horizontalFill.length;\n return /* @__PURE__ */ React101.createElement(\"rect\", {\n key: \"react-\".concat(i),\n y: entry,\n x: x2,\n height: lineHeight,\n width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /* @__PURE__ */ React101.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n function VerticalStripes(props) {\n var {\n vertical = true,\n verticalFill,\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n verticalPoints\n } = props;\n if (!vertical || !verticalFill || !verticalFill.length) {\n return null;\n }\n var roundedSortedVerticalPoints = verticalPoints.map((e) => Math.round(e + x2 - x2)).sort((a2, b) => a2 - b);\n if (x2 !== roundedSortedVerticalPoints[0]) {\n roundedSortedVerticalPoints.unshift(0);\n }\n var items = roundedSortedVerticalPoints.map((entry, i) => {\n var nextPoint = roundedSortedVerticalPoints[i + 1];\n var lastStripe = nextPoint == null;\n var lineWidth = lastStripe ? x2 + width - entry : nextPoint - entry;\n if (lineWidth <= 0) {\n return null;\n }\n var colorIndex = i % verticalFill.length;\n return /* @__PURE__ */ React101.createElement(\"rect\", {\n key: \"react-\".concat(i),\n x: entry,\n y: y2,\n width: lineWidth,\n height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /* @__PURE__ */ React101.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n var defaultVerticalCoordinatesGenerator = (_ref3, syncWithTicks) => {\n var {\n xAxis,\n width,\n height,\n offset: offset4\n } = _ref3;\n return getCoordinatesOfGrid(getTicks(_objectSpread50(_objectSpread50(_objectSpread50({}, defaultCartesianAxisProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width,\n height\n }\n })), offset4.left, offset4.left + offset4.width, syncWithTicks);\n };\n var defaultHorizontalCoordinatesGenerator = (_ref4, syncWithTicks) => {\n var {\n yAxis,\n width,\n height,\n offset: offset4\n } = _ref4;\n return getCoordinatesOfGrid(getTicks(_objectSpread50(_objectSpread50(_objectSpread50({}, defaultCartesianAxisProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width,\n height\n }\n })), offset4.top, offset4.top + offset4.height, syncWithTicks);\n };\n var defaultCartesianGridProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: \"#ccc\",\n fill: \"none\",\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: [],\n xAxisId: 0,\n yAxisId: 0,\n syncWithTicks: false,\n zIndex: DefaultZIndexes.grid\n };\n function CartesianGrid(props) {\n var chartWidth = useChartWidth();\n var chartHeight = useChartHeight();\n var offset4 = useOffsetInternal();\n var propsIncludingDefaults = _objectSpread50(_objectSpread50({}, resolveDefaultProps(props, defaultCartesianGridProps)), {}, {\n x: isNumber3(props.x) ? props.x : offset4.left,\n y: isNumber3(props.y) ? props.y : offset4.top,\n width: isNumber3(props.width) ? props.width : offset4.width,\n height: isNumber3(props.height) ? props.height : offset4.height\n });\n var {\n xAxisId,\n yAxisId,\n x: x2,\n y: y2,\n width,\n height,\n syncWithTicks,\n horizontalValues,\n verticalValues\n } = propsIncludingDefaults;\n var isPanorama = useIsPanorama();\n var xAxis = useAppSelector((state2) => selectAxisPropsNeededForCartesianGridTicksGenerator(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxis = useAppSelector((state2) => selectAxisPropsNeededForCartesianGridTicksGenerator(state2, \"yAxis\", yAxisId, isPanorama));\n if (!isPositiveNumber(width) || !isPositiveNumber(height) || !isNumber3(x2) || !isNumber3(y2)) {\n return null;\n }\n var verticalCoordinatesGenerator = propsIncludingDefaults.verticalCoordinatesGenerator || defaultVerticalCoordinatesGenerator;\n var horizontalCoordinatesGenerator = propsIncludingDefaults.horizontalCoordinatesGenerator || defaultHorizontalCoordinatesGenerator;\n var {\n horizontalPoints,\n verticalPoints\n } = propsIncludingDefaults;\n if ((!horizontalPoints || !horizontalPoints.length) && typeof horizontalCoordinatesGenerator === \"function\") {\n var isHorizontalValues = horizontalValues && horizontalValues.length;\n var generatorResult = horizontalCoordinatesGenerator({\n yAxis: yAxis ? _objectSpread50(_objectSpread50({}, yAxis), {}, {\n ticks: isHorizontalValues ? horizontalValues : yAxis.ticks\n }) : void 0,\n width: chartWidth !== null && chartWidth !== void 0 ? chartWidth : width,\n height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\n offset: offset4\n }, isHorizontalValues ? true : syncWithTicks);\n warn(Array.isArray(generatorResult), \"horizontalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof generatorResult, \"]\"));\n if (Array.isArray(generatorResult)) {\n horizontalPoints = generatorResult;\n }\n }\n if ((!verticalPoints || !verticalPoints.length) && typeof verticalCoordinatesGenerator === \"function\") {\n var isVerticalValues = verticalValues && verticalValues.length;\n var _generatorResult = verticalCoordinatesGenerator({\n xAxis: xAxis ? _objectSpread50(_objectSpread50({}, xAxis), {}, {\n ticks: isVerticalValues ? verticalValues : xAxis.ticks\n }) : void 0,\n width: chartWidth !== null && chartWidth !== void 0 ? chartWidth : width,\n height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\n offset: offset4\n }, isVerticalValues ? true : syncWithTicks);\n warn(Array.isArray(_generatorResult), \"verticalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof _generatorResult, \"]\"));\n if (Array.isArray(_generatorResult)) {\n verticalPoints = _generatorResult;\n }\n }\n return /* @__PURE__ */ React101.createElement(ZIndexLayer, {\n zIndex: propsIncludingDefaults.zIndex\n }, /* @__PURE__ */ React101.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, /* @__PURE__ */ React101.createElement(Background2, {\n fill: propsIncludingDefaults.fill,\n fillOpacity: propsIncludingDefaults.fillOpacity,\n x: propsIncludingDefaults.x,\n y: propsIncludingDefaults.y,\n width: propsIncludingDefaults.width,\n height: propsIncludingDefaults.height,\n ry: propsIncludingDefaults.ry\n }), /* @__PURE__ */ React101.createElement(HorizontalStripes, _extends31({}, propsIncludingDefaults, {\n horizontalPoints\n })), /* @__PURE__ */ React101.createElement(VerticalStripes, _extends31({}, propsIncludingDefaults, {\n verticalPoints\n })), /* @__PURE__ */ React101.createElement(HorizontalGridLines, _extends31({}, propsIncludingDefaults, {\n offset: offset4,\n horizontalPoints,\n xAxis,\n yAxis\n })), /* @__PURE__ */ React101.createElement(VerticalGridLines, _extends31({}, propsIncludingDefaults, {\n offset: offset4,\n verticalPoints,\n xAxis,\n yAxis\n }))));\n }\n CartesianGrid.displayName = \"CartesianGrid\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Line.js\n var React104 = __toESM(require_react());\n var import_react58 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/ErrorBarContext.js\n var React102 = __toESM(require_react());\n var import_react57 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/errorBarSlice.js\n var initialState12 = {};\n var errorBarSlice = createSlice({\n name: \"errorBars\",\n initialState: initialState12,\n reducers: {\n addErrorBar: (state2, action) => {\n var {\n itemId,\n errorBar\n } = action.payload;\n if (!state2[itemId]) {\n state2[itemId] = [];\n }\n state2[itemId].push(errorBar);\n },\n replaceErrorBar: (state2, action) => {\n var {\n itemId,\n prev,\n next: next2\n } = action.payload;\n if (state2[itemId]) {\n state2[itemId] = state2[itemId].map((e) => e.dataKey === prev.dataKey && e.direction === prev.direction ? next2 : e);\n }\n },\n removeErrorBar: (state2, action) => {\n var {\n itemId,\n errorBar\n } = action.payload;\n if (state2[itemId]) {\n state2[itemId] = state2[itemId].filter((e) => e.dataKey !== errorBar.dataKey || e.direction !== errorBar.direction);\n }\n }\n }\n });\n var {\n addErrorBar,\n replaceErrorBar,\n removeErrorBar\n } = errorBarSlice.actions;\n var errorBarReducer = errorBarSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/ErrorBarContext.js\n var _excluded30 = [\"children\"];\n function _objectWithoutProperties22(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose22(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose22(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var initialContextState = {\n data: [],\n xAxisId: \"xAxis-0\",\n yAxisId: \"yAxis-0\",\n dataPointFormatter: () => ({\n x: 0,\n y: 0,\n value: 0\n }),\n errorBarOffset: 0\n };\n var ErrorBarContext = /* @__PURE__ */ (0, import_react57.createContext)(initialContextState);\n function SetErrorBarContext(props) {\n var {\n children\n } = props, rest = _objectWithoutProperties22(props, _excluded30);\n return /* @__PURE__ */ React102.createElement(ErrorBarContext.Provider, {\n value: rest\n }, children);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/GraphicalItemClipPath.js\n var React103 = __toESM(require_react());\n function useNeedsClip(xAxisId, yAxisId) {\n var _xAxis$allowDataOverf, _yAxis$allowDataOverf;\n var xAxis = useAppSelector((state2) => selectXAxisSettings(state2, xAxisId));\n var yAxis = useAppSelector((state2) => selectYAxisSettings(state2, yAxisId));\n var needClipX = (_xAxis$allowDataOverf = xAxis === null || xAxis === void 0 ? void 0 : xAxis.allowDataOverflow) !== null && _xAxis$allowDataOverf !== void 0 ? _xAxis$allowDataOverf : implicitXAxis.allowDataOverflow;\n var needClipY = (_yAxis$allowDataOverf = yAxis === null || yAxis === void 0 ? void 0 : yAxis.allowDataOverflow) !== null && _yAxis$allowDataOverf !== void 0 ? _yAxis$allowDataOverf : implicitYAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n return {\n needClip,\n needClipX,\n needClipY\n };\n }\n function GraphicalItemClipPath(_ref2) {\n var {\n xAxisId,\n yAxisId,\n clipPathId\n } = _ref2;\n var plotArea = usePlotArea();\n var {\n needClipX,\n needClipY,\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n if (!needClip || !plotArea) {\n return null;\n }\n var {\n x: x2,\n y: y2,\n width,\n height\n } = plotArea;\n return /* @__PURE__ */ React103.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /* @__PURE__ */ React103.createElement(\"rect\", {\n x: needClipX ? x2 : x2 - width / 2,\n y: needClipY ? y2 : y2 - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/lineSelectors.js\n var selectXAxisWithScale = (state2, xAxisId, _yAxisId, isPanorama) => selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n var selectXAxisTicks = (state2, xAxisId, _yAxisId, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n var selectYAxisWithScale = (state2, _xAxisId, yAxisId, isPanorama) => selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n var selectYAxisTicks = (state2, _xAxisId, yAxisId, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n var selectBandSize = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, \"xAxis\")) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n });\n var pickLineId = (_state, _xAxisId, _yAxisId, _isPanorama, id) => id;\n function isLineSettings(item) {\n return item.type === \"line\";\n }\n var selectSynchronisedLineSettings = createSelector([selectUnfilteredCartesianItems, pickLineId], (graphicalItems, id) => graphicalItems.filter(isLineSettings).find((x2) => x2.id === id));\n var selectLinePoints = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks, selectSynchronisedLineSettings, selectBandSize, selectChartDataWithIndexesIfNotInPanoramaPosition4], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, lineSettings, bandSize, _ref2) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (lineSettings == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null || layout !== \"horizontal\" && layout !== \"vertical\") {\n return void 0;\n }\n var {\n dataKey,\n data\n } = lineSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeLinePoints({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getRadiusAndStrokeWidthFromDot.js\n function getRadiusAndStrokeWidthFromDot(dot) {\n var props = svgPropertiesNoEventsFromUnknown(dot);\n var defaultR = 3;\n var defaultStrokeWidth = 2;\n if (props != null) {\n var {\n r: r2,\n strokeWidth\n } = props;\n var realR = Number(r2);\n var realStrokeWidth = Number(strokeWidth);\n if (Number.isNaN(realR) || realR < 0) {\n realR = defaultR;\n }\n if (Number.isNaN(realStrokeWidth) || realStrokeWidth < 0) {\n realStrokeWidth = defaultStrokeWidth;\n }\n return {\n r: realR,\n strokeWidth: realStrokeWidth\n };\n }\n return {\n r: defaultR,\n strokeWidth: defaultStrokeWidth\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Line.js\n var _excluded31 = [\"id\"];\n var _excluded211 = [\"type\", \"layout\", \"connectNulls\", \"needClip\", \"shape\"];\n var _excluded36 = [\"activeDot\", \"animateNewValues\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"hide\", \"isAnimationActive\", \"label\", \"legendType\", \"xAxisId\", \"yAxisId\", \"id\"];\n function _extends32() {\n return _extends32 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends32.apply(null, arguments);\n }\n function ownKeys51(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread51(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys51(Object(t2), true).forEach(function(r3) {\n _defineProperty53(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys51(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty53(e, r2, t2) {\n return (r2 = _toPropertyKey53(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey53(t2) {\n var i = _toPrimitive53(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive53(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties23(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose23(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose23(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var computeLegendPayloadFromAreaData = (props) => {\n var {\n dataKey,\n name,\n stroke,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: stroke,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetLineTooltipEntrySettings = /* @__PURE__ */ React104.memo((_ref2) => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: stroke,\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React104.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var generateSimpleStrokeDasharray = (totalLength, length) => {\n return \"\".concat(length, \"px \").concat(totalLength, \"px\");\n };\n function repeat(lines, count3) {\n var linesUnit = lines.length % 2 !== 0 ? [...lines, 0] : lines;\n var result = [];\n for (var i = 0; i < count3; ++i) {\n result.push(...linesUnit);\n }\n return result;\n }\n var getStrokeDasharray2 = (length, totalLength, lines) => {\n var lineLength = lines.reduce((pre, next2) => pre + next2, 0);\n if (!lineLength) {\n return generateSimpleStrokeDasharray(totalLength, length);\n }\n var count3 = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var remainLines = [];\n for (var i = 0, sum = 0; i < lines.length; sum += (_lines$i = lines[i]) !== null && _lines$i !== void 0 ? _lines$i : 0, ++i) {\n var _lines$i;\n var lineValue = lines[i];\n if (lineValue != null && sum + lineValue > remainLength) {\n remainLines = [...lines.slice(0, i), remainLength - sum];\n break;\n }\n }\n var emptyLines = remainLines.length % 2 === 0 ? [0, totalLength] : [totalLength];\n return [...repeat(lines, count3), ...remainLines, ...emptyLines].map((line) => \"\".concat(line, \"px\")).join(\", \");\n };\n function LineDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey,\n needClip\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties23(props, _excluded31);\n var lineProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React104.createElement(Dots, {\n points,\n dot,\n className: \"recharts-line-dots\",\n dotClassName: \"recharts-line-dot\",\n dataKey,\n baseProps: lineProps,\n needClip,\n clipPathId\n });\n }\n function LineLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = (0, import_react58.useMemo)(() => {\n return points === null || points === void 0 ? void 0 : points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread51(_objectSpread51({}, viewBox), {}, {\n value: point4.value,\n payload: point4.payload,\n viewBox,\n /*\n * Line is not passing parentViewBox to the LabelList so the labels can escape - looks like a bug, should we pass parentViewBox?\n * Or should this just be the root chart viewBox?\n */\n parentViewBox: void 0,\n fill: void 0\n });\n });\n }, [points]);\n return /* @__PURE__ */ React104.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticCurve(_ref4) {\n var {\n clipPathId,\n pathRef,\n points,\n strokeDasharray,\n props\n } = _ref4;\n var {\n type,\n layout,\n connectNulls,\n needClip,\n shape\n } = props, others = _objectWithoutProperties23(props, _excluded211);\n var curveProps = _objectSpread51(_objectSpread51({}, svgPropertiesAndEvents(others)), {}, {\n fill: \"none\",\n className: \"recharts-line-curve\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0,\n points,\n type,\n layout,\n connectNulls,\n strokeDasharray: strokeDasharray !== null && strokeDasharray !== void 0 ? strokeDasharray : props.strokeDasharray\n });\n return /* @__PURE__ */ React104.createElement(React104.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /* @__PURE__ */ React104.createElement(Shape, _extends32({\n shapeType: \"curve\",\n option: shape\n }, curveProps, {\n pathRef\n })), /* @__PURE__ */ React104.createElement(LineDotsWrapper, {\n points,\n clipPathId,\n props\n }));\n }\n function getTotalLength(mainCurve) {\n try {\n return mainCurve && mainCurve.getTotalLength && mainCurve.getTotalLength() || 0;\n } catch (_unused) {\n return 0;\n }\n }\n function CurveWithAnimation(_ref5) {\n var {\n clipPathId,\n props,\n pathRef,\n previousPointsRef,\n longestAnimatedLengthRef\n } = _ref5;\n var {\n points,\n strokeDasharray,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n animateNewValues,\n width,\n height,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(points, \"recharts-line-\");\n var animationIdRef = (0, import_react58.useRef)(animationId);\n var [isAnimating, setIsAnimating] = (0, import_react58.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react58.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react58.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n var totalLength = getTotalLength(pathRef.current);\n var startingPointRef = (0, import_react58.useRef)(0);\n if (animationIdRef.current !== animationId) {\n startingPointRef.current = longestAnimatedLengthRef.current;\n animationIdRef.current = animationId;\n }\n var startingPoint = startingPointRef.current;\n return /* @__PURE__ */ React104.createElement(LineLabelListProvider, {\n points,\n showLabels\n }, props.children, /* @__PURE__ */ React104.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var lengthInterpolated = interpolate(startingPoint, totalLength + startingPoint, t2);\n var curLength = Math.min(lengthInterpolated, totalLength);\n var currentStrokeDasharray;\n if (isAnimationActive) {\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map((num) => parseFloat(num));\n currentStrokeDasharray = getStrokeDasharray2(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = generateSimpleStrokeDasharray(totalLength, curLength);\n }\n } else {\n currentStrokeDasharray = strokeDasharray == null ? void 0 : String(strokeDasharray);\n }\n if (t2 > 0 && totalLength > 0) {\n previousPointsRef.current = points;\n longestAnimatedLengthRef.current = Math.max(longestAnimatedLengthRef.current, curLength);\n }\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = t2 === 1 ? points : points.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n if (animateNewValues) {\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: interpolate(width * 2, entry.x, t2),\n y: interpolate(height / 2, entry.y, t2)\n });\n }\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n previousPointsRef.current = stepData;\n return /* @__PURE__ */ React104.createElement(StaticCurve, {\n props,\n points: stepData,\n clipPathId,\n pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }\n return /* @__PURE__ */ React104.createElement(StaticCurve, {\n props,\n points,\n clipPathId,\n pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }), /* @__PURE__ */ React104.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function RenderCurve(_ref6) {\n var {\n clipPathId,\n props\n } = _ref6;\n var previousPointsRef = (0, import_react58.useRef)(null);\n var longestAnimatedLengthRef = (0, import_react58.useRef)(0);\n var pathRef = (0, import_react58.useRef)(null);\n return /* @__PURE__ */ React104.createElement(CurveWithAnimation, {\n props,\n clipPathId,\n previousPointsRef,\n longestAnimatedLengthRef,\n pathRef\n });\n }\n var errorBarDataPointFormatter = (dataPoint, dataKey) => {\n var _dataPoint$x, _dataPoint$y;\n return {\n x: (_dataPoint$x = dataPoint.x) !== null && _dataPoint$x !== void 0 ? _dataPoint$x : void 0,\n y: (_dataPoint$y = dataPoint.y) !== null && _dataPoint$y !== void 0 ? _dataPoint$y : void 0,\n value: dataPoint.value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n };\n var LineWithState = class extends import_react58.Component {\n render() {\n var {\n hide: hide4,\n dot,\n points,\n className,\n xAxisId,\n yAxisId,\n top,\n left,\n width,\n height,\n id,\n needClip,\n zIndex\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-line\", className);\n var clipPathId = id;\n var {\n r: r2,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r2 * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React104.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React104.createElement(Layer, {\n className: layerClass\n }, needClip && /* @__PURE__ */ React104.createElement(\"defs\", null, /* @__PURE__ */ React104.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n }), !clipDot && /* @__PURE__ */ React104.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /* @__PURE__ */ React104.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /* @__PURE__ */ React104.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter,\n errorBarOffset: 0\n }, /* @__PURE__ */ React104.createElement(RenderCurve, {\n props: this.props,\n clipPathId\n }))), /* @__PURE__ */ React104.createElement(ActivePoints, {\n activeDot: this.props.activeDot,\n points,\n mainColor: this.props.stroke,\n itemDataKey: this.props.dataKey,\n clipPath: activePointsClipPath\n }));\n }\n };\n var defaultLineProps = {\n activeDot: true,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n connectNulls: false,\n dot: true,\n fill: \"#fff\",\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"line\",\n stroke: \"#3182bd\",\n strokeWidth: 1,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.line,\n type: \"linear\"\n };\n function LineImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultLineProps), {\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n hide: hide4,\n isAnimationActive,\n label,\n legendType,\n xAxisId,\n yAxisId,\n id\n } = _resolveDefaultProps, everythingElse = _objectWithoutProperties23(_resolveDefaultProps, _excluded36);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var plotArea = usePlotArea();\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var points = useAppSelector((state2) => selectLinePoints(state2, xAxisId, yAxisId, isPanorama, id));\n if (layout !== \"horizontal\" && layout !== \"vertical\" || points == null || plotArea == null) {\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n return /* @__PURE__ */ React104.createElement(LineWithState, _extends32({}, everythingElse, {\n id,\n connectNulls,\n dot,\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive,\n hide: hide4,\n label,\n legendType,\n xAxisId,\n yAxisId,\n points,\n layout,\n height,\n width,\n left,\n top,\n needClip\n }));\n }\n function computeLinePoints(_ref7) {\n var {\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n } = _ref7;\n return displayedData.map((entry, index2) => {\n var value = getValueByDataKey(entry, dataKey);\n if (layout === \"horizontal\") {\n var _x = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index: index2\n });\n var _y = isNullish(value) ? null : yAxis.scale.map(value);\n return {\n x: _x,\n y: _y !== null && _y !== void 0 ? _y : null,\n value,\n payload: entry\n };\n }\n var x2 = isNullish(value) ? null : xAxis.scale.map(value);\n var y2 = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index: index2\n });\n if (x2 == null || y2 == null) {\n return null;\n }\n return {\n x: x2,\n y: y2,\n value,\n payload: entry\n };\n }).filter(Boolean);\n }\n function LineFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultLineProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React104.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"line\"\n }, (id) => /* @__PURE__ */ React104.createElement(React104.Fragment, null, /* @__PURE__ */ React104.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData(props)\n }), /* @__PURE__ */ React104.createElement(SetLineTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React104.createElement(SetCartesianGraphicalItem, {\n type: \"line\",\n id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n hide: props.hide,\n isPanorama\n }), /* @__PURE__ */ React104.createElement(LineImpl, _extends32({}, props, {\n id\n }))));\n }\n var Line = /* @__PURE__ */ React104.memo(LineFn, propsAreEqual);\n Line.displayName = \"Line\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Area.js\n var React105 = __toESM(require_react());\n var import_react59 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/graphicalItemSelectors.js\n function selectXAxisIdFromGraphicalItemId(state2, id) {\n var _state$graphicalItems, _state$graphicalItems2;\n return (_state$graphicalItems = (_state$graphicalItems2 = state2.graphicalItems.cartesianItems.find((item) => item.id === id)) === null || _state$graphicalItems2 === void 0 ? void 0 : _state$graphicalItems2.xAxisId) !== null && _state$graphicalItems !== void 0 ? _state$graphicalItems : defaultAxisId;\n }\n function selectYAxisIdFromGraphicalItemId(state2, id) {\n var _state$graphicalItems3, _state$graphicalItems4;\n return (_state$graphicalItems3 = (_state$graphicalItems4 = state2.graphicalItems.cartesianItems.find((item) => item.id === id)) === null || _state$graphicalItems4 === void 0 ? void 0 : _state$graphicalItems4.yAxisId) !== null && _state$graphicalItems3 !== void 0 ? _state$graphicalItems3 : defaultAxisId;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/areaSelectors.js\n var selectXAxisWithScale2 = (state2, graphicalItemId, isPanorama) => selectAxisWithScale(state2, \"xAxis\", selectXAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectXAxisTicks2 = (state2, graphicalItemId, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", selectXAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectYAxisWithScale2 = (state2, graphicalItemId, isPanorama) => selectAxisWithScale(state2, \"yAxis\", selectYAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectYAxisTicks2 = (state2, graphicalItemId, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", selectYAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectBandSize2 = createSelector([selectChartLayout, selectXAxisWithScale2, selectYAxisWithScale2, selectXAxisTicks2, selectYAxisTicks2], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, \"xAxis\")) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n });\n var pickAreaId = (_state, id) => id;\n var selectSynchronisedAreaSettings = createSelector([selectUnfilteredCartesianItems, pickAreaId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"area\").find((item) => item.id === id));\n var selectNumericalAxisType = (state2) => {\n var layout = selectChartLayout(state2);\n var isXAxisCategorical = isCategoricalAxis(layout, \"xAxis\");\n return isXAxisCategorical ? \"yAxis\" : \"xAxis\";\n };\n var selectNumericalAxisIdFromGraphicalItemId = (state2, graphicalItemId) => {\n var axisType = selectNumericalAxisType(state2);\n if (axisType === \"yAxis\") {\n return selectYAxisIdFromGraphicalItemId(state2, graphicalItemId);\n }\n return selectXAxisIdFromGraphicalItemId(state2, graphicalItemId);\n };\n var selectNumericalAxisStackGroups = (state2, graphicalItemId, isPanorama) => selectStackGroups(state2, selectNumericalAxisType(state2), selectNumericalAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectGraphicalItemStackedData = createSelector([selectSynchronisedAreaSettings, selectNumericalAxisStackGroups], (areaSettings, stackGroups) => {\n var _stackGroups$stackId;\n if (areaSettings == null || stackGroups == null) {\n return void 0;\n }\n var {\n stackId\n } = areaSettings;\n var stackSeriesIdentifier = getStackSeriesIdentifier(areaSettings);\n if (stackId == null || stackSeriesIdentifier == null) {\n return void 0;\n }\n var groups = (_stackGroups$stackId = stackGroups[stackId]) === null || _stackGroups$stackId === void 0 ? void 0 : _stackGroups$stackId.stackedData;\n var found = groups === null || groups === void 0 ? void 0 : groups.find((v) => v.key === stackSeriesIdentifier);\n if (found == null) {\n return void 0;\n }\n return found.map((item) => [item[0], item[1]]);\n });\n var selectArea = createSelector([selectChartLayout, selectXAxisWithScale2, selectYAxisWithScale2, selectXAxisTicks2, selectYAxisTicks2, selectGraphicalItemStackedData, selectChartDataWithIndexesIfNotInPanoramaPosition3, selectBandSize2, selectSynchronisedAreaSettings, selectChartBaseValue], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, stackedData, _ref2, bandSize, areaSettings, chartBaseValue) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (areaSettings == null || layout !== \"horizontal\" && layout !== \"vertical\" || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null) {\n return void 0;\n }\n var {\n data\n } = areaSettings;\n var displayedData;\n if (data && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeArea({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataStartIndex,\n areaSettings,\n stackedData,\n displayedData,\n chartBaseValue,\n bandSize\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Area.js\n var _excluded37 = [\"id\"];\n var _excluded212 = [\"activeDot\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"fill\", \"fillOpacity\", \"hide\", \"isAnimationActive\", \"legendType\", \"stroke\", \"xAxisId\", \"yAxisId\"];\n function _extends33() {\n return _extends33 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends33.apply(null, arguments);\n }\n function _objectWithoutProperties24(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose24(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose24(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys52(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread52(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys52(Object(t2), true).forEach(function(r3) {\n _defineProperty54(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys52(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty54(e, r2, t2) {\n return (r2 = _toPropertyKey54(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey54(t2) {\n var i = _toPrimitive54(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive54(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getLegendItemColor2(stroke, fill) {\n return stroke && stroke !== \"none\" ? stroke : fill;\n }\n var computeLegendPayloadFromAreaData2 = (props) => {\n var {\n dataKey,\n name,\n stroke,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: getLegendItemColor2(stroke, fill),\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetAreaTooltipEntrySettings = /* @__PURE__ */ React105.memo((_ref2) => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: getLegendItemColor2(stroke, fill),\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React105.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function AreaDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n needClip,\n dot,\n dataKey\n } = props;\n var areaProps = svgPropertiesNoEvents(props);\n return /* @__PURE__ */ React105.createElement(Dots, {\n points,\n dot,\n className: \"recharts-area-dots\",\n dotClassName: \"recharts-area-dot\",\n dataKey,\n baseProps: areaProps,\n needClip,\n clipPathId\n });\n }\n function AreaLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread52(_objectSpread52({}, viewBox), {}, {\n value: point4.value,\n payload: point4.payload,\n parentViewBox: void 0,\n viewBox,\n fill: void 0\n });\n });\n return /* @__PURE__ */ React105.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticArea(_ref4) {\n var {\n points,\n baseLine,\n needClip,\n clipPathId,\n props\n } = _ref4;\n var {\n layout,\n type,\n stroke,\n connectNulls,\n isRange\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties24(props, _excluded37);\n var allOtherProps = svgPropertiesNoEvents(propsWithoutId);\n var propsWithEvents = svgPropertiesAndEvents(propsWithoutId);\n return /* @__PURE__ */ React105.createElement(React105.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /* @__PURE__ */ React105.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0\n }, /* @__PURE__ */ React105.createElement(Curve, _extends33({}, propsWithEvents, {\n id,\n points,\n connectNulls,\n type,\n baseLine,\n layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== \"none\" && /* @__PURE__ */ React105.createElement(Curve, _extends33({}, allOtherProps, {\n className: \"recharts-area-curve\",\n layout,\n type,\n connectNulls,\n fill: \"none\",\n points\n })), stroke !== \"none\" && isRange && Array.isArray(baseLine) && /* @__PURE__ */ React105.createElement(Curve, _extends33({}, allOtherProps, {\n className: \"recharts-area-curve\",\n layout,\n type,\n connectNulls,\n fill: \"none\",\n points: baseLine\n }))), /* @__PURE__ */ React105.createElement(AreaDotsWrapper, {\n points,\n props: propsWithoutId,\n clipPathId\n }));\n }\n function VerticalRect(_ref5) {\n var _points$, _points;\n var {\n alpha: alpha2,\n baseLine,\n points,\n strokeWidth\n } = _ref5;\n var startY = (_points$ = points[0]) === null || _points$ === void 0 ? void 0 : _points$.y;\n var endY = (_points = points[points.length - 1]) === null || _points === void 0 ? void 0 : _points.y;\n if (!isWellBehavedNumber(startY) || !isWellBehavedNumber(endY)) {\n return null;\n }\n var height = alpha2 * Math.abs(startY - endY);\n var maxX = Math.max(...points.map((entry) => entry.x || 0));\n if (isNumber3(baseLine)) {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(...baseLine.map((entry) => entry.x || 0), maxX);\n }\n if (isNumber3(maxX)) {\n return /* @__PURE__ */ React105.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n function HorizontalRect(_ref6) {\n var _points$2, _points2;\n var {\n alpha: alpha2,\n baseLine,\n points,\n strokeWidth\n } = _ref6;\n var startX = (_points$2 = points[0]) === null || _points$2 === void 0 ? void 0 : _points$2.x;\n var endX = (_points2 = points[points.length - 1]) === null || _points2 === void 0 ? void 0 : _points2.x;\n if (!isWellBehavedNumber(startX) || !isWellBehavedNumber(endX)) {\n return null;\n }\n var width = alpha2 * Math.abs(startX - endX);\n var maxY = Math.max(...points.map((entry) => entry.y || 0));\n if (isNumber3(baseLine)) {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(...baseLine.map((entry) => entry.y || 0), maxY);\n }\n if (isNumber3(maxY)) {\n return /* @__PURE__ */ React105.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n function ClipRect(_ref7) {\n var {\n alpha: alpha2,\n layout,\n points,\n baseLine,\n strokeWidth\n } = _ref7;\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React105.createElement(VerticalRect, {\n alpha: alpha2,\n points,\n baseLine,\n strokeWidth\n });\n }\n return /* @__PURE__ */ React105.createElement(HorizontalRect, {\n alpha: alpha2,\n points,\n baseLine,\n strokeWidth\n });\n }\n function AreaWithAnimation(_ref8) {\n var {\n needClip,\n clipPathId,\n props,\n previousPointsRef,\n previousBaselineRef\n } = _ref8;\n var {\n points,\n baseLine,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationStart,\n onAnimationEnd\n } = props;\n var animationInput = (0, import_react59.useMemo)(() => ({\n points,\n baseLine\n }), [points, baseLine]);\n var animationId = useAnimationId(animationInput, \"recharts-area-\");\n var layout = useCartesianChartLayout();\n var [isAnimating, setIsAnimating] = (0, import_react59.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react59.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react59.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n if (layout == null) {\n return null;\n }\n var prevPoints = previousPointsRef.current;\n var prevBaseLine = previousBaselineRef.current;\n return /* @__PURE__ */ React105.createElement(AreaLabelListProvider, {\n showLabels,\n points\n }, props.children, /* @__PURE__ */ React105.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepPoints = (\n /*\n * Here it is important that at the very end of the animation, on the last frame,\n * we render the original points without any interpolation.\n * This is needed because the code above is checking for reference equality to decide if the animation should run\n * and if we create a new array instance (even if the numbers were the same)\n * then we would break animations.\n */\n t2 === 1 ? points : points.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread52(_objectSpread52({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return entry;\n })\n );\n var stepBaseLine;\n if (isNumber3(baseLine)) {\n stepBaseLine = interpolate(prevBaseLine, baseLine, t2);\n } else if (isNullish(baseLine) || isNan(baseLine)) {\n stepBaseLine = interpolate(prevBaseLine, 0, t2);\n } else {\n stepBaseLine = baseLine.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (Array.isArray(prevBaseLine) && prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n return _objectSpread52(_objectSpread52({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return entry;\n });\n }\n if (t2 > 0) {\n previousPointsRef.current = stepPoints;\n previousBaselineRef.current = stepBaseLine;\n }\n return /* @__PURE__ */ React105.createElement(StaticArea, {\n points: stepPoints,\n baseLine: stepBaseLine,\n needClip,\n clipPathId,\n props\n });\n }\n if (t2 > 0) {\n previousPointsRef.current = points;\n previousBaselineRef.current = baseLine;\n }\n return /* @__PURE__ */ React105.createElement(Layer, null, isAnimationActive && /* @__PURE__ */ React105.createElement(\"defs\", null, /* @__PURE__ */ React105.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, /* @__PURE__ */ React105.createElement(ClipRect, {\n alpha: t2,\n points,\n baseLine,\n layout,\n strokeWidth: props.strokeWidth\n }))), /* @__PURE__ */ React105.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, /* @__PURE__ */ React105.createElement(StaticArea, {\n points,\n baseLine,\n needClip,\n clipPathId,\n props\n })));\n }), /* @__PURE__ */ React105.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function RenderArea(_ref9) {\n var {\n needClip,\n clipPathId,\n props\n } = _ref9;\n var previousPointsRef = (0, import_react59.useRef)(null);\n var previousBaselineRef = (0, import_react59.useRef)();\n return /* @__PURE__ */ React105.createElement(AreaWithAnimation, {\n needClip,\n clipPathId,\n props,\n previousPointsRef,\n previousBaselineRef\n });\n }\n var AreaWithState = class extends import_react59.PureComponent {\n render() {\n var {\n hide: hide4,\n dot,\n points,\n className,\n top,\n left,\n needClip,\n xAxisId,\n yAxisId,\n width,\n height,\n id,\n baseLine,\n zIndex\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-area\", className);\n var clipPathId = id;\n var {\n r: r2,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r2 * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React105.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React105.createElement(Layer, {\n className: layerClass\n }, needClip && /* @__PURE__ */ React105.createElement(\"defs\", null, /* @__PURE__ */ React105.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n }), !clipDot && /* @__PURE__ */ React105.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /* @__PURE__ */ React105.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /* @__PURE__ */ React105.createElement(RenderArea, {\n needClip,\n clipPathId,\n props: this.props\n })), /* @__PURE__ */ React105.createElement(ActivePoints, {\n points,\n mainColor: getLegendItemColor2(this.props.stroke, this.props.fill),\n itemDataKey: this.props.dataKey,\n activeDot: this.props.activeDot,\n clipPath: activePointsClipPath\n }), this.props.isRange && Array.isArray(baseLine) && /* @__PURE__ */ React105.createElement(ActivePoints, {\n points: baseLine,\n mainColor: getLegendItemColor2(this.props.stroke, this.props.fill),\n itemDataKey: this.props.dataKey,\n activeDot: this.props.activeDot,\n clipPath: activePointsClipPath\n }));\n }\n };\n var defaultAreaProps = {\n activeDot: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n connectNulls: false,\n dot: false,\n fill: \"#3182bd\",\n fillOpacity: 0.6,\n hide: false,\n isAnimationActive: \"auto\",\n legendType: \"line\",\n stroke: \"#3182bd\",\n strokeWidth: 1,\n type: \"linear\",\n label: false,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.area\n };\n function AreaImpl(props) {\n var _useAppSelector;\n var {\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n fill,\n fillOpacity,\n hide: hide4,\n isAnimationActive,\n legendType,\n stroke,\n xAxisId,\n yAxisId\n } = props, everythingElse = _objectWithoutProperties24(props, _excluded212);\n var layout = useChartLayout();\n var chartName = useChartName();\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var isPanorama = useIsPanorama();\n var {\n points,\n isRange,\n baseLine\n } = (_useAppSelector = useAppSelector((state2) => selectArea(state2, props.id, isPanorama))) !== null && _useAppSelector !== void 0 ? _useAppSelector : {};\n var plotArea = usePlotArea();\n if (layout !== \"horizontal\" && layout !== \"vertical\" || plotArea == null) {\n return null;\n }\n if (chartName !== \"AreaChart\" && chartName !== \"ComposedChart\") {\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n if (!points || !points.length) {\n return null;\n }\n return /* @__PURE__ */ React105.createElement(AreaWithState, _extends33({}, everythingElse, {\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLine,\n connectNulls,\n dot,\n fill,\n fillOpacity,\n height,\n hide: hide4,\n layout,\n isAnimationActive,\n isRange,\n legendType,\n needClip,\n points,\n stroke,\n width,\n left,\n top,\n xAxisId,\n yAxisId\n }));\n }\n var getBaseValue = (layout, chartBaseValue, itemBaseValue, xAxis, yAxis) => {\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber3(baseValue)) {\n return baseValue;\n }\n var numericAxis = layout === \"horizontal\" ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === \"number\") {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === \"dataMin\") {\n return domainMin;\n }\n if (baseValue === \"dataMax\") {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === \"dataMin\") {\n return domain[0];\n }\n if (baseValue === \"dataMax\") {\n return domain[1];\n }\n return domain[0];\n };\n function computeArea(_ref0) {\n var {\n areaSettings: {\n connectNulls,\n baseValue: itemBaseValue,\n dataKey\n },\n stackedData,\n layout,\n chartBaseValue,\n xAxis,\n yAxis,\n displayedData,\n dataStartIndex,\n xAxisTicks,\n yAxisTicks,\n bandSize\n } = _ref0;\n var hasStack = stackedData && stackedData.length;\n var baseValue = getBaseValue(layout, chartBaseValue, itemBaseValue, xAxis, yAxis);\n var isHorizontalLayout = layout === \"horizontal\";\n var isRange = false;\n var points = displayedData.map((entry, index2) => {\n var _valueAsArray$, _valueAsArray, _xAxis$scale$map;\n var valueAsArray;\n if (hasStack) {\n valueAsArray = stackedData[dataStartIndex + index2];\n } else {\n var rawValue = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(rawValue)) {\n valueAsArray = [baseValue, rawValue];\n } else {\n valueAsArray = rawValue;\n isRange = true;\n }\n }\n var value1 = (_valueAsArray$ = (_valueAsArray = valueAsArray) === null || _valueAsArray === void 0 ? void 0 : _valueAsArray[1]) !== null && _valueAsArray$ !== void 0 ? _valueAsArray$ : null;\n var isBreakPoint = value1 == null || hasStack && !connectNulls && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n var _yAxis$scale$map;\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index: index2\n }),\n y: isBreakPoint ? null : (_yAxis$scale$map = yAxis.scale.map(value1)) !== null && _yAxis$scale$map !== void 0 ? _yAxis$scale$map : null,\n value: valueAsArray,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : (_xAxis$scale$map = xAxis.scale.map(value1)) !== null && _xAxis$scale$map !== void 0 ? _xAxis$scale$map : null,\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index: index2\n }),\n value: valueAsArray,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map((entry) => {\n var _xAxis$scale$map2;\n var x2 = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n var _yAxis$scale$map2;\n return {\n x: entry.x,\n y: x2 != null && entry.y != null ? (_yAxis$scale$map2 = yAxis.scale.map(x2)) !== null && _yAxis$scale$map2 !== void 0 ? _yAxis$scale$map2 : null : null,\n payload: entry.payload\n };\n }\n return {\n x: x2 != null ? (_xAxis$scale$map2 = xAxis.scale.map(x2)) !== null && _xAxis$scale$map2 !== void 0 ? _xAxis$scale$map2 : null : null,\n y: entry.y,\n payload: entry.payload\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale.map(baseValue) : xAxis.scale.map(baseValue);\n }\n return {\n points,\n baseLine: baseLine !== null && baseLine !== void 0 ? baseLine : 0,\n isRange\n };\n }\n function AreaFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultAreaProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React105.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"area\"\n }, (id) => /* @__PURE__ */ React105.createElement(React105.Fragment, null, /* @__PURE__ */ React105.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData2(props)\n }), /* @__PURE__ */ React105.createElement(SetAreaTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React105.createElement(SetCartesianGraphicalItem, {\n type: \"area\",\n id,\n data: props.data,\n dataKey: props.dataKey,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n stackId: getNormalizedStackId(props.stackId),\n hide: props.hide,\n barSize: void 0,\n baseValue: props.baseValue,\n isPanorama,\n connectNulls: props.connectNulls\n }), /* @__PURE__ */ React105.createElement(AreaImpl, _extends33({}, props, {\n id\n }))));\n }\n var Area = /* @__PURE__ */ React105.memo(AreaFn, propsAreEqual);\n Area.displayName = \"Area\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Bar.js\n var React108 = __toESM(require_react());\n var import_react61 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/BarUtils.js\n var React106 = __toESM(require_react());\n\n // ../../../node_modules/.bun/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js\n var isProduction = true;\n var prefix = \"Invariant failed\";\n function invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === \"function\" ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/BarUtils.js\n function _extends34() {\n return _extends34 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends34.apply(null, arguments);\n }\n function BarRectangle(props) {\n return /* @__PURE__ */ React106.createElement(Shape, _extends34({\n shapeType: \"rectangle\",\n activeClassName: \"recharts-active-bar\",\n inActiveClassName: \"recharts-inactive-bar\"\n }, props));\n }\n var minPointSizeCallback = function minPointSizeCallback2(minPointSize) {\n var defaultValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n return (value, index2) => {\n if (isNumber3(minPointSize)) return minPointSize;\n var isValueNumberOrNil = isNumber3(value) || isNullish(value);\n if (isValueNumberOrNil) {\n return minPointSize(value, index2);\n }\n !isValueNumberOrNil ? true ? invariant(false, \"minPointSize callback function received a value with type of \".concat(typeof value, \". Currently only numbers or null/undefined are supported.\")) : invariant(false) : void 0;\n return defaultValue;\n };\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/barSelectors.js\n var pickIsPanorama = (_state, _id, isPanorama) => isPanorama;\n var pickBarId = (_state, id) => id;\n var selectSynchronisedBarSettings = createSelector([selectUnfilteredCartesianItems, pickBarId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"bar\").find((item) => item.id === id));\n var selectMaxBarSize = createSelector([selectSynchronisedBarSettings], (barSettings) => barSettings === null || barSettings === void 0 ? void 0 : barSettings.maxBarSize);\n var pickCells3 = (_state, _id, _isPanorama, cells) => cells;\n var selectAllVisibleBars = createSelector([selectChartLayout, selectUnfilteredCartesianItems, selectXAxisIdFromGraphicalItemId, selectYAxisIdFromGraphicalItemId, pickIsPanorama], (layout, allItems, xAxisId, yAxisId, isPanorama) => allItems.filter((i) => {\n if (layout === \"horizontal\") {\n return i.xAxisId === xAxisId;\n }\n return i.yAxisId === yAxisId;\n }).filter((i) => i.isPanorama === isPanorama).filter((i) => i.hide === false).filter((i) => i.type === \"bar\"));\n var selectBarStackGroups = (state2, id, isPanorama) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n if (layout === \"horizontal\") {\n return selectStackGroups(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return selectStackGroups(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectBarCartesianAxisSize = (state2, id) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n if (layout === \"horizontal\") {\n return selectCartesianAxisSize(state2, \"xAxis\", xAxisId);\n }\n return selectCartesianAxisSize(state2, \"yAxis\", yAxisId);\n };\n var selectBarSizeList = createSelector([selectAllVisibleBars, selectRootBarSize, selectBarCartesianAxisSize], combineBarSizeList);\n var selectBarBandSize = (state2, id, isPanorama) => {\n var _ref2, _getBandSizeOfAxis;\n var barSettings = selectSynchronisedBarSettings(state2, id);\n if (barSettings == null) {\n return 0;\n }\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return 0;\n }\n var layout = selectChartLayout(state2);\n var globalMaxBarSize = selectRootMaxBarSize(state2);\n var {\n maxBarSize: childMaxBarSize\n } = barSettings;\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var axis, ticks2;\n if (layout === \"horizontal\") {\n axis = selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n } else {\n axis = selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return (_ref2 = (_getBandSizeOfAxis = getBandSizeOfAxis(axis, ticks2, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref2 !== void 0 ? _ref2 : 0;\n };\n var selectAxisBandSize = (state2, id, isPanorama) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n var axis, ticks2;\n if (layout === \"horizontal\") {\n axis = selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n } else {\n axis = selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return getBandSizeOfAxis(axis, ticks2);\n };\n var selectAllBarPositions = createSelector([selectBarSizeList, selectRootMaxBarSize, selectBarGap, selectBarCategoryGap, selectBarBandSize, selectAxisBandSize, selectMaxBarSize], combineAllBarPositions);\n var selectXAxisWithScale3 = (state2, id, isPanorama) => {\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null) {\n return void 0;\n }\n return selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectYAxisWithScale3 = (state2, id, isPanorama) => {\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (yAxisId == null) {\n return void 0;\n }\n return selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n };\n var selectXAxisTicks3 = (state2, id, isPanorama) => {\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null) {\n return void 0;\n }\n return selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectYAxisTicks3 = (state2, id, isPanorama) => {\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (yAxisId == null) {\n return void 0;\n }\n return selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n };\n var selectBarPosition = createSelector([selectAllBarPositions, selectSynchronisedBarSettings], combineBarPosition);\n var selectStackedDataOfItem = createSelector([selectBarStackGroups, selectSynchronisedBarSettings], combineStackedData);\n var selectBarRectangles = createSelector([selectChartOffsetInternal, selectAxisViewBox, selectXAxisWithScale3, selectYAxisWithScale3, selectXAxisTicks3, selectYAxisTicks3, selectBarPosition, selectChartLayout, selectChartDataWithIndexesIfNotInPanoramaPosition3, selectAxisBandSize, selectStackedDataOfItem, selectSynchronisedBarSettings, pickCells3], (offset4, axisViewBox, xAxis, yAxis, xAxisTicks, yAxisTicks, pos, layout, _ref2, bandSize, stackedData, barSettings, cells) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (barSettings == null || pos == null || axisViewBox == null || layout !== \"horizontal\" && layout !== \"vertical\" || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || bandSize == null) {\n return void 0;\n }\n var {\n data\n } = barSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeBarRectangles({\n layout,\n barSettings,\n pos,\n parentViewBox: axisViewBox,\n bandSize,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n stackedData,\n displayedData,\n offset: offset4,\n cells,\n dataStartIndex\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/BarStack.js\n var React107 = __toESM(require_react());\n var import_react60 = __toESM(require_react());\n var _excluded38 = [\"index\"];\n function _extends35() {\n return _extends35 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends35.apply(null, arguments);\n }\n function _objectWithoutProperties25(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose25(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose25(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var BarStackContext = /* @__PURE__ */ (0, import_react60.createContext)(void 0);\n var useStackId = (childStackId) => {\n var stackSettings = (0, import_react60.useContext)(BarStackContext);\n if (stackSettings != null) {\n return stackSettings.stackId;\n }\n if (childStackId == null) {\n return void 0;\n }\n return getNormalizedStackId(childStackId);\n };\n var getClipPathId = (stackId, index2) => {\n return \"recharts-bar-stack-clip-path-\".concat(stackId, \"-\").concat(index2);\n };\n var useBarStackClipPathUrl = (index2) => {\n var barStackContext = (0, import_react60.useContext)(BarStackContext);\n if (barStackContext == null) {\n return void 0;\n }\n var {\n stackId\n } = barStackContext;\n return \"url(#\".concat(getClipPathId(stackId, index2), \")\");\n };\n var BarStackClipLayer = (_ref2) => {\n var {\n index: index2\n } = _ref2, rest = _objectWithoutProperties25(_ref2, _excluded38);\n var clipPathUrl = useBarStackClipPathUrl(index2);\n return /* @__PURE__ */ React107.createElement(Layer, _extends35({\n className: \"recharts-bar-stack-layer\",\n clipPath: clipPathUrl\n }, rest));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Bar.js\n var _excluded39 = [\"onMouseEnter\", \"onMouseLeave\", \"onClick\"];\n var _excluded213 = [\"value\", \"background\", \"tooltipPosition\"];\n var _excluded310 = [\"id\"];\n var _excluded44 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n function _extends36() {\n return _extends36 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends36.apply(null, arguments);\n }\n function ownKeys53(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread53(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys53(Object(t2), true).forEach(function(r3) {\n _defineProperty55(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys53(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty55(e, r2, t2) {\n return (r2 = _toPropertyKey55(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey55(t2) {\n var i = _toPrimitive55(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive55(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties26(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose26(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose26(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var computeLegendPayloadFromBarData = (props) => {\n var {\n dataKey,\n name,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: fill,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetBarTooltipEntrySettings = /* @__PURE__ */ React108.memo((_ref2) => {\n var {\n dataKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: void 0,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React108.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function BarBackground(props) {\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n data,\n dataKey,\n background: backgroundFromProps,\n allOtherBarProps\n } = props;\n var {\n onMouseEnter: onMouseEnterFromProps,\n onMouseLeave: onMouseLeaveFromProps,\n onClick: onItemClickFromProps\n } = allOtherBarProps, restOfAllOtherProps = _objectWithoutProperties26(allOtherBarProps, _excluded39);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, allOtherBarProps.id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, allOtherBarProps.id);\n if (!backgroundFromProps || data == null) {\n return null;\n }\n var backgroundProps = svgPropertiesNoEventsFromUnknown(backgroundFromProps);\n return /* @__PURE__ */ React108.createElement(ZIndexLayer, {\n zIndex: getZIndexFromUnknown(backgroundFromProps, DefaultZIndexes.barBackground)\n }, data.map((entry, i) => {\n var {\n value,\n background: backgroundFromDataEntry,\n tooltipPosition\n } = entry, rest = _objectWithoutProperties26(entry, _excluded213);\n if (!backgroundFromDataEntry) {\n return null;\n }\n var onMouseEnter = onMouseEnterFromContext(entry, i);\n var onMouseLeave = onMouseLeaveFromContext(entry, i);\n var onClick = onClickFromContext(entry, i);\n var barRectangleProps = _objectSpread53(_objectSpread53(_objectSpread53(_objectSpread53(_objectSpread53({\n option: backgroundFromProps,\n isActive: String(i) === activeIndex\n }, rest), {}, {\n // @ts-expect-error backgroundProps is contributing unknown props\n fill: \"#eee\"\n }, backgroundFromDataEntry), backgroundProps), adaptEventsOfChild(restOfAllOtherProps, entry, i)), {}, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n dataKey,\n index: i,\n className: \"recharts-bar-background-rectangle\"\n });\n return /* @__PURE__ */ React108.createElement(BarRectangle, _extends36({\n key: \"background-bar-\".concat(i)\n }, barRectangleProps));\n }));\n }\n function BarLabelListProvider(_ref2) {\n var {\n showLabels,\n children,\n rects\n } = _ref2;\n var labelListEntries = rects === null || rects === void 0 ? void 0 : rects.map((entry) => {\n var viewBox = {\n x: entry.x,\n y: entry.y,\n width: entry.width,\n lowerWidth: entry.width,\n upperWidth: entry.width,\n height: entry.height\n };\n return _objectSpread53(_objectSpread53({}, viewBox), {}, {\n value: entry.value,\n payload: entry.payload,\n parentViewBox: entry.parentViewBox,\n viewBox,\n fill: entry.fill\n });\n });\n return /* @__PURE__ */ React108.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function BarRectangleWithActiveState(props) {\n var {\n shape,\n activeBar,\n baseProps,\n entry,\n index: index2,\n dataKey\n } = props;\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataKey = useAppSelector(selectActiveTooltipDataKey);\n var isActive = activeBar && String(entry.originalDataIndex) === activeIndex && (activeDataKey == null || dataKey === activeDataKey);\n var [stayInLayer, setStayInLayer] = (0, import_react61.useState)(false);\n var [hasMountedActive, setHasMountedActive] = (0, import_react61.useState)(false);\n (0, import_react61.useEffect)(() => {\n var rafId4;\n if (isActive) {\n setStayInLayer(true);\n rafId4 = requestAnimationFrame(() => {\n setHasMountedActive(true);\n });\n } else {\n setHasMountedActive(false);\n }\n return () => {\n cancelAnimationFrame(rafId4);\n };\n }, [isActive]);\n var handleTransitionEnd = (0, import_react61.useCallback)(() => {\n if (!isActive) {\n setStayInLayer(false);\n }\n }, [isActive]);\n var isVisuallyActive = isActive && hasMountedActive;\n var shouldRenderInLayer = isActive || stayInLayer;\n var option;\n if (isActive) {\n if (activeBar === true) {\n option = shape;\n } else {\n option = activeBar;\n }\n } else {\n option = shape;\n }\n var content = /* @__PURE__ */ React108.createElement(BarRectangle, _extends36({}, baseProps, {\n name: String(baseProps.name)\n }, entry, {\n isActive: isVisuallyActive,\n option,\n index: index2,\n dataKey,\n onTransitionEnd: handleTransitionEnd\n }));\n if (shouldRenderInLayer) {\n return /* @__PURE__ */ React108.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.activeBar\n }, /* @__PURE__ */ React108.createElement(BarStackClipLayer, {\n index: entry.originalDataIndex\n }, content));\n }\n return content;\n }\n function BarRectangleNeverActive(props) {\n var {\n shape,\n baseProps,\n entry,\n index: index2,\n dataKey\n } = props;\n return /* @__PURE__ */ React108.createElement(BarRectangle, _extends36({}, baseProps, {\n name: String(baseProps.name)\n }, entry, {\n isActive: false,\n option: shape,\n index: index2,\n dataKey\n }));\n }\n function BarRectangles(_ref3) {\n var _svgPropertiesNoEvent;\n var {\n data,\n props\n } = _ref3;\n var _ref4 = (_svgPropertiesNoEvent = svgPropertiesNoEvents(props)) !== null && _svgPropertiesNoEvent !== void 0 ? _svgPropertiesNoEvent : {}, {\n id\n } = _ref4, baseProps = _objectWithoutProperties26(_ref4, _excluded310);\n var {\n shape,\n dataKey,\n activeBar\n } = props;\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = props, restOfAllOtherProps = _objectWithoutProperties26(props, _excluded44);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, id);\n if (!data) {\n return null;\n }\n return /* @__PURE__ */ React108.createElement(React108.Fragment, null, data.map((entry, i) => {\n return /* @__PURE__ */ React108.createElement(BarStackClipLayer, _extends36({\n index: entry.originalDataIndex,\n key: \"rectangle-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value, \"-\").concat(i),\n className: \"recharts-bar-rectangle\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), activeBar ? /* @__PURE__ */ React108.createElement(BarRectangleWithActiveState, {\n shape,\n activeBar,\n baseProps,\n entry,\n index: i,\n dataKey\n }) : (\n /*\n * If the `activeBar` prop is falsy, then let's call the variant without hooks.\n * Using the `selectActiveTooltipIndex` selector is usually fast\n * but in charts with large-ish amount of data even the few nanoseconds add up to a noticeable jank.\n * If the activeBar is false then we don't need to know which index is active - because we won't use it anyway.\n * So let's just skip the hooks altogether. That way, React can skip rendering the component,\n * and can skip the tree reconciliation for its children too.\n * Because we can't call hooks conditionally, we need to have a separate component for that.\n */\n /* @__PURE__ */ React108.createElement(BarRectangleNeverActive, {\n shape,\n baseProps,\n entry,\n index: i,\n dataKey\n })\n ));\n }));\n }\n function RectanglesWithAnimation(_ref5) {\n var {\n props,\n previousRectanglesRef\n } = _ref5;\n var {\n data,\n layout,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevData = previousRectanglesRef.current;\n var animationId = useAnimationId(props, \"recharts-bar-\");\n var [isAnimating, setIsAnimating] = (0, import_react61.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react61.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react61.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React108.createElement(BarLabelListProvider, {\n showLabels,\n rects: data\n }, /* @__PURE__ */ React108.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? data : data === null || data === void 0 ? void 0 : data.map((entry, index2) => {\n var prev = prevData && prevData[index2];\n if (prev) {\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2),\n width: interpolate(prev.width, entry.width, t2),\n height: interpolate(prev.height, entry.height, t2)\n });\n }\n if (layout === \"horizontal\") {\n var height = interpolate(0, entry.height, t2);\n var y2 = interpolate(entry.stackedBarStart, entry.y, t2);\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n y: y2,\n height\n });\n }\n var w = interpolate(0, entry.width, t2);\n var x2 = interpolate(entry.stackedBarStart, entry.x, t2);\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n width: w,\n x: x2\n });\n });\n if (t2 > 0) {\n previousRectanglesRef.current = stepData !== null && stepData !== void 0 ? stepData : null;\n }\n if (stepData == null) {\n return null;\n }\n return /* @__PURE__ */ React108.createElement(Layer, null, /* @__PURE__ */ React108.createElement(BarRectangles, {\n props,\n data: stepData\n }));\n }), /* @__PURE__ */ React108.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderRectangles(props) {\n var previousRectanglesRef = (0, import_react61.useRef)(null);\n return /* @__PURE__ */ React108.createElement(RectanglesWithAnimation, {\n previousRectanglesRef,\n props\n });\n }\n var defaultMinPointSize = 0;\n var errorBarDataPointFormatter2 = (dataPoint, dataKey) => {\n var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n var BarWithState = class extends import_react61.PureComponent {\n render() {\n var {\n hide: hide4,\n data,\n dataKey,\n className,\n xAxisId,\n yAxisId,\n needClip,\n background,\n id\n } = this.props;\n if (hide4 || data == null) {\n return null;\n }\n var layerClass = clsx(\"recharts-bar\", className);\n var clipPathId = id;\n return /* @__PURE__ */ React108.createElement(Layer, {\n className: layerClass,\n id\n }, needClip && /* @__PURE__ */ React108.createElement(\"defs\", null, /* @__PURE__ */ React108.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n })), /* @__PURE__ */ React108.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0\n }, /* @__PURE__ */ React108.createElement(BarBackground, {\n data,\n dataKey,\n background,\n allOtherBarProps: this.props\n }), /* @__PURE__ */ React108.createElement(RenderRectangles, this.props)));\n }\n };\n var defaultBarProps = {\n activeBar: false,\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: \"ease\",\n background: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n minPointSize: defaultMinPointSize,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.bar\n };\n function BarImpl(props) {\n var {\n xAxisId,\n yAxisId,\n hide: hide4,\n legendType,\n minPointSize,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive\n } = props;\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var cells = findAllByType(props.children, Cell);\n var rects = useAppSelector((state2) => selectBarRectangles(state2, props.id, isPanorama, cells));\n if (layout !== \"vertical\" && layout !== \"horizontal\") {\n return null;\n }\n var errorBarOffset;\n var firstDataPoint = rects === null || rects === void 0 ? void 0 : rects[0];\n if (firstDataPoint == null || firstDataPoint.height == null || firstDataPoint.width == null) {\n errorBarOffset = 0;\n } else {\n errorBarOffset = layout === \"vertical\" ? firstDataPoint.height / 2 : firstDataPoint.width / 2;\n }\n return /* @__PURE__ */ React108.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: rects,\n dataPointFormatter: errorBarDataPointFormatter2,\n errorBarOffset\n }, /* @__PURE__ */ React108.createElement(BarWithState, _extends36({}, props, {\n layout,\n needClip,\n data: rects,\n xAxisId,\n yAxisId,\n hide: hide4,\n legendType,\n minPointSize,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive\n })));\n }\n function computeBarRectangles(_ref6) {\n var {\n layout,\n barSettings: {\n dataKey,\n minPointSize: minPointSizeProp,\n hasCustomShape\n },\n pos,\n bandSize,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n stackedData,\n displayedData,\n offset: offset4,\n cells,\n parentViewBox,\n dataStartIndex\n } = _ref6;\n var numericAxis = layout === \"horizontal\" ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n numericAxis\n });\n var stackedBarStart = numericAxis.scale.map(baseValue);\n return displayedData.map((entry, index2) => {\n var value, x2, y2, width, height, background;\n if (stackedData) {\n var untruncatedValue = stackedData[index2 + dataStartIndex];\n if (untruncatedValue == null) {\n return null;\n }\n value = truncateByDomain(untruncatedValue, stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n var minPointSize = minPointSizeCallback(minPointSizeProp, defaultMinPointSize)(value[1], index2);\n if (layout === \"horizontal\") {\n var _ref7;\n var baseValueScale = yAxis.scale.map(value[0]);\n var currentValueScale = yAxis.scale.map(value[1]);\n if (baseValueScale == null || currentValueScale == null) {\n return null;\n }\n x2 = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n y2 = (_ref7 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref7 !== void 0 ? _ref7 : void 0;\n width = pos.size;\n var computedHeight = baseValueScale - currentValueScale;\n height = isNan(computedHeight) ? 0 : computedHeight;\n background = {\n x: x2,\n y: offset4.top,\n width,\n height: offset4.height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y2 -= delta;\n height += delta;\n }\n } else {\n var _baseValueScale = xAxis.scale.map(value[0]);\n var _currentValueScale = xAxis.scale.map(value[1]);\n if (_baseValueScale == null || _currentValueScale == null) {\n return null;\n }\n x2 = _baseValueScale;\n y2 = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n width = _currentValueScale - _baseValueScale;\n height = pos.size;\n background = {\n x: offset4.left,\n y: y2,\n width: offset4.width,\n height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n width += _delta;\n }\n }\n if (x2 == null || y2 == null || width == null || height == null || !hasCustomShape && (width === 0 || height === 0)) {\n return null;\n }\n var barRectangleItem = _objectSpread53(_objectSpread53({}, entry), {}, {\n stackedBarStart,\n x: x2,\n y: y2,\n width,\n height,\n value: stackedData ? value : value[1],\n payload: entry,\n background,\n tooltipPosition: {\n x: x2 + width / 2,\n y: y2 + height / 2\n },\n parentViewBox,\n originalDataIndex: index2\n }, cells && cells[index2] && cells[index2].props);\n return barRectangleItem;\n }).filter(Boolean);\n }\n function BarFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultBarProps);\n var stackId = useStackId(props.stackId);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React108.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"bar\"\n }, (id) => /* @__PURE__ */ React108.createElement(React108.Fragment, null, /* @__PURE__ */ React108.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromBarData(props)\n }), /* @__PURE__ */ React108.createElement(SetBarTooltipEntrySettings, {\n dataKey: props.dataKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React108.createElement(SetCartesianGraphicalItem, {\n type: \"bar\",\n id,\n data: void 0,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n stackId,\n hide: props.hide,\n barSize: props.barSize,\n minPointSize: props.minPointSize,\n maxBarSize: props.maxBarSize,\n isPanorama,\n hasCustomShape: props.shape != null\n }), /* @__PURE__ */ React108.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React108.createElement(BarImpl, _extends36({}, props, {\n id\n })))));\n }\n var Bar = /* @__PURE__ */ React108.memo(BarFn, propsAreEqual);\n Bar.displayName = \"Bar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Scatter.js\n var React110 = __toESM(require_react());\n var import_react62 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ScatterUtils.js\n var React109 = __toESM(require_react());\n var _excluded40 = [\"option\", \"isActive\"];\n function _extends37() {\n return _extends37 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends37.apply(null, arguments);\n }\n function _objectWithoutProperties27(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose27(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose27(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ScatterSymbol(_ref2) {\n var {\n option,\n isActive\n } = _ref2, props = _objectWithoutProperties27(_ref2, _excluded40);\n if (typeof option === \"string\") {\n return /* @__PURE__ */ React109.createElement(Shape, _extends37({\n option: /* @__PURE__ */ React109.createElement(Symbols, _extends37({\n type: option\n }, props)),\n isActive,\n shapeType: \"symbols\"\n }, props));\n }\n return /* @__PURE__ */ React109.createElement(Shape, _extends37({\n option,\n isActive,\n shapeType: \"symbols\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/scatterSelectors.js\n var selectXAxisWithScale4 = (state2, xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n var selectXAxisTicks4 = (state2, xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n var selectYAxisWithScale4 = (state2, _xAxisId, yAxisId, _zAxisId, _id, _cells, isPanorama) => selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n var selectYAxisTicks4 = (state2, _xAxisId, yAxisId, _zAxisId, _id, _cells, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n var selectZAxis = (state2, _xAxisId, _yAxisId, zAxisId) => selectZAxisWithScale(state2, \"zAxis\", zAxisId, false);\n var pickScatterId = (_state, _xAxisId, _yAxisId, _zAxisId, id) => id;\n var pickCells4 = (_state, _xAxisId, _yAxisId, _zAxisId, _id, cells) => cells;\n var scatterChartDataSelector = (state2, _xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectChartDataWithIndexesIfNotInPanoramaPosition4(state2, void 0, void 0, isPanorama);\n var selectSynchronisedScatterSettings = createSelector([selectUnfilteredCartesianItems, pickScatterId], (graphicalItems, id) => {\n return graphicalItems.filter((item) => item.type === \"scatter\").find((item) => item.id === id);\n });\n var selectScatterPoints = createSelector([scatterChartDataSelector, selectXAxisWithScale4, selectXAxisTicks4, selectYAxisWithScale4, selectYAxisTicks4, selectZAxis, selectSynchronisedScatterSettings, pickCells4], (_ref2, xAxis, xAxisTicks, yAxis, yAxisTicks, zAxis, scatterSettings, cells) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (scatterSettings == null) {\n return void 0;\n }\n var displayedData;\n if ((scatterSettings === null || scatterSettings === void 0 ? void 0 : scatterSettings.data) != null && scatterSettings.data.length > 0) {\n displayedData = scatterSettings.data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || (xAxisTicks === null || xAxisTicks === void 0 ? void 0 : xAxisTicks.length) === 0 || (yAxisTicks === null || yAxisTicks === void 0 ? void 0 : yAxisTicks.length) === 0) {\n return void 0;\n }\n return computeScatterPoints({\n displayedData,\n xAxis,\n yAxis,\n zAxis,\n scatterSettings,\n xAxisTicks,\n yAxisTicks,\n cells\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Scatter.js\n var _excluded41 = [\"id\"];\n var _excluded214 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded311 = [\"animationBegin\", \"animationDuration\", \"animationEasing\", \"hide\", \"isAnimationActive\", \"legendType\", \"lineJointType\", \"lineType\", \"shape\", \"xAxisId\", \"yAxisId\", \"zAxisId\"];\n function _objectWithoutProperties28(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose28(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose28(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends38() {\n return _extends38 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends38.apply(null, arguments);\n }\n function ownKeys54(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread54(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys54(Object(t2), true).forEach(function(r3) {\n _defineProperty56(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys54(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty56(e, r2, t2) {\n return (r2 = _toPropertyKey56(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey56(t2) {\n var i = _toPrimitive56(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive56(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var computeLegendPayloadFromScatterProps = (props) => {\n var {\n dataKey,\n name,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: fill,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetScatterTooltipEntrySettings = /* @__PURE__ */ React110.memo((_ref2) => {\n var {\n dataKey,\n points,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: points === null || points === void 0 ? void 0 : points.map((p) => p.tooltipPayload),\n getPosition: (index2) => {\n var _points$Number;\n return points === null || points === void 0 || (_points$Number = points[Number(index2)]) === null || _points$Number === void 0 ? void 0 : _points$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // why doesn't Scatter support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React110.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function ScatterLine(_ref2) {\n var {\n points,\n props\n } = _ref2;\n var {\n line,\n lineType,\n lineJointType\n } = props;\n if (!line) {\n return null;\n }\n var scatterProps = svgPropertiesNoEvents(props);\n var customLineProps = svgPropertiesNoEventsFromUnknown(line);\n var linePoints, lineItem;\n if (lineType === \"joint\") {\n linePoints = points.map((entry) => {\n var _entry$cx, _entry$cy;\n return {\n x: (_entry$cx = entry.cx) !== null && _entry$cx !== void 0 ? _entry$cx : null,\n y: (_entry$cy = entry.cy) !== null && _entry$cy !== void 0 ? _entry$cy : null\n };\n });\n } else if (lineType === \"fitting\") {\n var {\n xmin,\n xmax,\n a: a2,\n b\n } = getLinearRegression(points);\n var linearExp = (x2) => a2 * x2 + b;\n linePoints = [{\n x: xmin,\n y: linearExp(xmin)\n }, {\n x: xmax,\n y: linearExp(xmax)\n }];\n }\n var lineProps = _objectSpread54(_objectSpread54(_objectSpread54({}, scatterProps), {}, {\n // @ts-expect-error customLineProps is contributing unknown props\n fill: \"none\",\n // @ts-expect-error customLineProps is contributing unknown props\n stroke: scatterProps && scatterProps.fill\n }, customLineProps), {}, {\n // @ts-expect-error linePoints is used before it is assigned (???)\n points: linePoints\n });\n if (/* @__PURE__ */ React110.isValidElement(line)) {\n lineItem = /* @__PURE__ */ React110.cloneElement(line, lineProps);\n } else if (typeof line === \"function\") {\n lineItem = line(lineProps);\n } else {\n lineItem = /* @__PURE__ */ React110.createElement(Curve, _extends38({}, lineProps, {\n type: lineJointType\n }));\n }\n return /* @__PURE__ */ React110.createElement(Layer, {\n className: \"recharts-scatter-line\",\n key: \"recharts-scatter-line\"\n }, lineItem);\n }\n function ScatterLabelListProvider(_ref3) {\n var {\n showLabels,\n points,\n children\n } = _ref3;\n var chartViewBox = useViewBox();\n var labelListEntries = (0, import_react62.useMemo)(() => {\n return points === null || points === void 0 ? void 0 : points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n /*\n * Scatter label uses x and y as the reference point for the label,\n * not cx and cy.\n */\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n /*\n * Scatter label uses x and y as the reference point for the label,\n * not cx and cy.\n */\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: point4.width,\n height: point4.height,\n lowerWidth: point4.width,\n upperWidth: point4.width\n };\n return _objectSpread54(_objectSpread54({}, viewBox), {}, {\n /*\n * Here we put undefined because Scatter shows two values usually, one for X and one for Y.\n * LabelList will see this undefined and will use its own `dataKey` prop to determine which value to show,\n * using the payload below.\n */\n value: void 0,\n payload: point4.payload,\n viewBox,\n parentViewBox: chartViewBox,\n fill: void 0\n });\n });\n }, [chartViewBox, points]);\n return /* @__PURE__ */ React110.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function ScatterSymbols(props) {\n var {\n points,\n allOtherScatterProps\n } = props;\n var {\n shape,\n activeShape,\n dataKey\n } = allOtherScatterProps;\n var {\n id\n } = allOtherScatterProps, allOtherPropsWithoutId = _objectWithoutProperties28(allOtherScatterProps, _excluded41);\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherScatterProps, restOfAllOtherProps = _objectWithoutProperties28(allOtherScatterProps, _excluded214);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, id);\n if (!isNonEmptyArray(points)) {\n return null;\n }\n var baseProps = svgPropertiesNoEvents(allOtherPropsWithoutId);\n return /* @__PURE__ */ React110.createElement(React110.Fragment, null, /* @__PURE__ */ React110.createElement(ScatterLine, {\n points,\n props: allOtherPropsWithoutId\n }), points.map((entry, i) => {\n var hasActiveShape = activeShape != null && activeShape !== false;\n var isActive = hasActiveShape && activeIndex === String(i);\n var option = hasActiveShape && isActive ? activeShape : shape;\n var symbolProps = _objectSpread54(_objectSpread54(_objectSpread54({}, baseProps), entry), {}, {\n index: i,\n [DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME]: String(id)\n });\n return /* @__PURE__ */ React110.createElement(ZIndexLayer, {\n key: \"symbol-\".concat(entry === null || entry === void 0 ? void 0 : entry.cx, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.cy, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.size, \"-\").concat(i),\n zIndex: isActive ? DefaultZIndexes.activeDot : void 0\n }, /* @__PURE__ */ React110.createElement(Layer, _extends38({\n className: \"recharts-scatter-symbol\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React110.createElement(ScatterSymbol, _extends38({\n option,\n isActive\n }, symbolProps))));\n }));\n }\n function SymbolsWithAnimation(_ref4) {\n var {\n previousPointsRef,\n props\n } = _ref4;\n var {\n points,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(props, \"recharts-scatter-\");\n var [isAnimating, setIsAnimating] = (0, import_react62.useState)(false);\n var handleAnimationEnd = (0, import_react62.useCallback)(() => {\n setIsAnimating(false);\n }, []);\n var handleAnimationStart = (0, import_react62.useCallback)(() => {\n setIsAnimating(true);\n }, []);\n var showLabels = !isAnimating;\n return /* @__PURE__ */ React110.createElement(ScatterLabelListProvider, {\n showLabels,\n points\n }, props.children, /* @__PURE__ */ React110.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? points : points === null || points === void 0 ? void 0 : points.map((entry, index2) => {\n var prev = prevPoints && prevPoints[index2];\n if (prev) {\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n cx: entry.cx == null ? void 0 : interpolate(prev.cx, entry.cx, t2),\n cy: entry.cy == null ? void 0 : interpolate(prev.cy, entry.cy, t2),\n size: interpolate(prev.size, entry.size, t2)\n });\n }\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n size: interpolate(0, entry.size, t2)\n });\n });\n if (t2 > 0) {\n previousPointsRef.current = stepData;\n }\n return /* @__PURE__ */ React110.createElement(Layer, null, /* @__PURE__ */ React110.createElement(ScatterSymbols, {\n points: stepData,\n allOtherScatterProps: props,\n showLabels\n }));\n }), /* @__PURE__ */ React110.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function computeScatterPoints(_ref5) {\n var {\n displayedData,\n xAxis,\n yAxis,\n zAxis,\n scatterSettings,\n xAxisTicks,\n yAxisTicks,\n cells\n } = _ref5;\n var xAxisDataKey = isNullish(xAxis.dataKey) ? scatterSettings.dataKey : xAxis.dataKey;\n var yAxisDataKey = isNullish(yAxis.dataKey) ? scatterSettings.dataKey : yAxis.dataKey;\n var zAxisDataKey = zAxis && zAxis.dataKey;\n var defaultRangeZ = zAxis ? zAxis.range : implicitZAxis.range;\n var defaultZ = defaultRangeZ && defaultRangeZ[0];\n var xBandSize = xAxis.scale.bandwidth ? xAxis.scale.bandwidth() : 0;\n var yBandSize = yAxis.scale.bandwidth ? yAxis.scale.bandwidth() : 0;\n return displayedData.map((entry, index2) => {\n var x2 = getValueByDataKey(entry, xAxisDataKey);\n var y2 = getValueByDataKey(entry, yAxisDataKey);\n var z = !isNullish(zAxisDataKey) && getValueByDataKey(entry, zAxisDataKey) || \"-\";\n var tooltipPayload = [{\n name: isNullish(xAxis.dataKey) ? scatterSettings.name : xAxis.name || String(xAxis.dataKey),\n unit: xAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: x2,\n payload: entry,\n dataKey: xAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n }, {\n name: isNullish(yAxis.dataKey) ? scatterSettings.name : yAxis.name || String(yAxis.dataKey),\n unit: yAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: y2,\n payload: entry,\n dataKey: yAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n }];\n if (z !== \"-\" && zAxis != null) {\n tooltipPayload.push({\n // @ts-expect-error name prop should not have dataKey in it\n name: zAxis.name || zAxis.dataKey,\n unit: zAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: z,\n payload: entry,\n dataKey: zAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n });\n }\n var cx2 = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: xBandSize,\n entry,\n index: index2,\n dataKey: xAxisDataKey\n });\n var cy = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: yBandSize,\n entry,\n index: index2,\n dataKey: yAxisDataKey\n });\n var size4 = z !== \"-\" && zAxis != null ? zAxis.scale.map(z) : defaultZ;\n var radius = size4 == null ? 0 : Math.sqrt(Math.max(size4, 0) / Math.PI);\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n cx: cx2,\n cy,\n x: cx2 == null ? void 0 : cx2 - radius,\n y: cy == null ? void 0 : cy - radius,\n width: 2 * radius,\n height: 2 * radius,\n size: size4,\n node: {\n x: x2,\n y: y2,\n z\n },\n tooltipPayload,\n tooltipPosition: {\n x: cx2,\n y: cy\n },\n payload: entry\n }, cells && cells[index2] && cells[index2].props);\n });\n }\n var errorBarDataPointFormatter3 = (dataPoint, dataKey, direction) => {\n return {\n x: dataPoint.cx,\n y: dataPoint.cy,\n value: direction === \"x\" ? Number(dataPoint.node.x) : Number(dataPoint.node.y),\n // @ts-expect-error getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n function ScatterWithId(props) {\n var {\n hide: hide4,\n points,\n className,\n needClip,\n xAxisId,\n yAxisId,\n id\n } = props;\n var previousPointsRef = (0, import_react62.useRef)(null);\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-scatter\", className);\n var clipPathId = id;\n return /* @__PURE__ */ React110.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React110.createElement(Layer, {\n className: layerClass,\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0,\n id\n }, needClip && /* @__PURE__ */ React110.createElement(\"defs\", null, /* @__PURE__ */ React110.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n })), /* @__PURE__ */ React110.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter3,\n errorBarOffset: 0\n }, /* @__PURE__ */ React110.createElement(Layer, {\n key: \"recharts-scatter-symbols\"\n }, /* @__PURE__ */ React110.createElement(SymbolsWithAnimation, {\n props,\n previousPointsRef\n })))));\n }\n var defaultScatterProps = {\n xAxisId: 0,\n yAxisId: 0,\n zAxisId: 0,\n label: false,\n line: false,\n legendType: \"circle\",\n lineType: \"joint\",\n lineJointType: \"linear\",\n shape: \"circle\",\n hide: false,\n isAnimationActive: \"auto\",\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: \"linear\",\n zIndex: DefaultZIndexes.scatter\n };\n function ScatterImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultScatterProps), {\n animationBegin,\n animationDuration,\n animationEasing,\n hide: hide4,\n isAnimationActive,\n legendType,\n lineJointType,\n lineType,\n shape,\n xAxisId,\n yAxisId,\n zAxisId\n } = _resolveDefaultProps, everythingElse = _objectWithoutProperties28(_resolveDefaultProps, _excluded311);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var cells = (0, import_react62.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var isPanorama = useIsPanorama();\n var points = useAppSelector((state2) => {\n return selectScatterPoints(state2, xAxisId, yAxisId, zAxisId, props.id, cells, isPanorama);\n });\n if (needClip == null) {\n return null;\n }\n if (points == null) {\n return null;\n }\n return /* @__PURE__ */ React110.createElement(React110.Fragment, null, /* @__PURE__ */ React110.createElement(SetScatterTooltipEntrySettings, {\n dataKey: props.dataKey,\n points,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id: props.id\n }), /* @__PURE__ */ React110.createElement(ScatterWithId, _extends38({}, everythingElse, {\n xAxisId,\n yAxisId,\n zAxisId,\n lineType,\n lineJointType,\n legendType,\n shape,\n hide: hide4,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n points,\n needClip\n })));\n }\n function ScatterFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultScatterProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React110.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"scatter\"\n }, (id) => /* @__PURE__ */ React110.createElement(React110.Fragment, null, /* @__PURE__ */ React110.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromScatterProps(props)\n }), /* @__PURE__ */ React110.createElement(SetCartesianGraphicalItem, {\n type: \"scatter\",\n id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: props.zAxisId,\n dataKey: props.dataKey,\n hide: props.hide,\n name: props.name,\n tooltipType: props.tooltipType,\n isPanorama\n }), /* @__PURE__ */ React110.createElement(ScatterImpl, _extends38({}, props, {\n id\n }))));\n }\n var Scatter = /* @__PURE__ */ React110.memo(ScatterFn, propsAreEqual);\n Scatter.displayName = \"Scatter\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/XAxis.js\n var React111 = __toESM(require_react());\n var import_react63 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/axisPropsAreEqual.js\n var _excluded45 = [\"domain\", \"range\"];\n var _excluded215 = [\"domain\", \"range\"];\n function _objectWithoutProperties29(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose29(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose29(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function shortArraysAreEqual(arr1, arr2) {\n if (arr1 === arr2) {\n return true;\n }\n if (Array.isArray(arr1) && arr1.length === 2 && Array.isArray(arr2) && arr2.length === 2) {\n return arr1[0] === arr2[0] && arr1[1] === arr2[1];\n }\n return false;\n }\n function axisPropsAreEqual(prevProps, nextProps) {\n if (prevProps === nextProps) {\n return true;\n }\n var {\n domain: prevDomain,\n range: prevRange\n } = prevProps, prevRest = _objectWithoutProperties29(prevProps, _excluded45);\n var {\n domain: nextDomain,\n range: nextRange\n } = nextProps, nextRest = _objectWithoutProperties29(nextProps, _excluded215);\n if (!shortArraysAreEqual(prevDomain, nextDomain)) {\n return false;\n }\n if (!shortArraysAreEqual(prevRange, nextRange)) {\n return false;\n }\n return propsAreEqual(prevRest, nextRest);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/XAxis.js\n var _excluded46 = [\"type\"];\n var _excluded216 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"];\n var _excluded312 = [\"id\", \"scale\"];\n function _extends39() {\n return _extends39 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends39.apply(null, arguments);\n }\n function ownKeys55(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread55(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys55(Object(t2), true).forEach(function(r3) {\n _defineProperty57(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys55(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty57(e, r2, t2) {\n return (r2 = _toPropertyKey57(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey57(t2) {\n var i = _toPrimitive57(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive57(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties30(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose30(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose30(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function SetXAxisSettings(props) {\n var dispatch = useAppDispatch();\n var prevSettingsRef = (0, import_react63.useRef)(null);\n var layout = useCartesianChartLayout();\n var {\n type: typeFromProps\n } = props, restProps = _objectWithoutProperties30(props, _excluded46);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"xAxis\", typeFromProps);\n var settings = (0, import_react63.useMemo)(() => {\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread55(_objectSpread55({}, restProps), {}, {\n type: evaluatedType\n });\n }, [restProps, evaluatedType]);\n (0, import_react63.useLayoutEffect)(() => {\n if (settings == null) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addXAxis(settings));\n } else if (prevSettingsRef.current !== settings) {\n dispatch(replaceXAxis({\n prev: prevSettingsRef.current,\n next: settings\n }));\n }\n prevSettingsRef.current = settings;\n }, [settings, dispatch]);\n (0, import_react63.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeXAxis(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n var XAxisImpl = (props) => {\n var {\n xAxisId,\n className\n } = props;\n var viewBox = useAppSelector(selectAxisViewBox);\n var isPanorama = useIsPanorama();\n var axisType = \"xAxis\";\n var cartesianTickItems = useAppSelector((state2) => selectTicksOfAxis(state2, axisType, xAxisId, isPanorama));\n var axisSize = useAppSelector((state2) => selectXAxisSize(state2, xAxisId));\n var position2 = useAppSelector((state2) => selectXAxisPosition(state2, xAxisId));\n var synchronizedSettings = useAppSelector((state2) => selectXAxisSettingsNoDefaults(state2, xAxisId));\n if (axisSize == null || position2 == null || synchronizedSettings == null) {\n return null;\n }\n var {\n dangerouslySetInnerHTML,\n ticks: ticks2,\n scale: del\n } = props, allOtherProps = _objectWithoutProperties30(props, _excluded216);\n var {\n id,\n scale: del2\n } = synchronizedSettings, restSynchronizedSettings = _objectWithoutProperties30(synchronizedSettings, _excluded312);\n return /* @__PURE__ */ React111.createElement(CartesianAxis, _extends39({}, allOtherProps, restSynchronizedSettings, {\n x: position2.x,\n y: position2.y,\n width: axisSize.width,\n height: axisSize.height,\n className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n viewBox,\n ticks: cartesianTickItems,\n axisType,\n axisId: xAxisId\n }));\n };\n var xAxisDefaultProps = {\n allowDataOverflow: implicitXAxis.allowDataOverflow,\n allowDecimals: implicitXAxis.allowDecimals,\n allowDuplicatedCategory: implicitXAxis.allowDuplicatedCategory,\n angle: implicitXAxis.angle,\n axisLine: defaultCartesianAxisProps.axisLine,\n height: implicitXAxis.height,\n hide: false,\n includeHidden: implicitXAxis.includeHidden,\n interval: implicitXAxis.interval,\n label: false,\n minTickGap: implicitXAxis.minTickGap,\n mirror: implicitXAxis.mirror,\n orientation: implicitXAxis.orientation,\n padding: implicitXAxis.padding,\n reversed: implicitXAxis.reversed,\n scale: implicitXAxis.scale,\n tick: implicitXAxis.tick,\n tickCount: implicitXAxis.tickCount,\n tickLine: defaultCartesianAxisProps.tickLine,\n tickSize: defaultCartesianAxisProps.tickSize,\n type: implicitXAxis.type,\n niceTicks: implicitXAxis.niceTicks,\n xAxisId: 0\n };\n var XAxisSettingsDispatcher = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, xAxisDefaultProps);\n return /* @__PURE__ */ React111.createElement(React111.Fragment, null, /* @__PURE__ */ React111.createElement(SetXAxisSettings, {\n allowDataOverflow: props.allowDataOverflow,\n allowDecimals: props.allowDecimals,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n angle: props.angle,\n dataKey: props.dataKey,\n domain: props.domain,\n height: props.height,\n hide: props.hide,\n id: props.xAxisId,\n includeHidden: props.includeHidden,\n interval: props.interval,\n minTickGap: props.minTickGap,\n mirror: props.mirror,\n name: props.name,\n orientation: props.orientation,\n padding: props.padding,\n reversed: props.reversed,\n scale: props.scale,\n tick: props.tick,\n tickCount: props.tickCount,\n tickFormatter: props.tickFormatter,\n ticks: props.ticks,\n type: props.type,\n unit: props.unit,\n niceTicks: props.niceTicks\n }), /* @__PURE__ */ React111.createElement(XAxisImpl, props));\n };\n var XAxis = /* @__PURE__ */ React111.memo(XAxisSettingsDispatcher, axisPropsAreEqual);\n XAxis.displayName = \"XAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/YAxis.js\n var React112 = __toESM(require_react());\n var import_react64 = __toESM(require_react());\n var _excluded47 = [\"type\"];\n var _excluded217 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"];\n var _excluded313 = [\"id\", \"scale\"];\n function _extends40() {\n return _extends40 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends40.apply(null, arguments);\n }\n function ownKeys56(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread56(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys56(Object(t2), true).forEach(function(r3) {\n _defineProperty58(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys56(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty58(e, r2, t2) {\n return (r2 = _toPropertyKey58(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey58(t2) {\n var i = _toPrimitive58(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive58(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties31(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose31(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose31(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function SetYAxisSettings(props) {\n var dispatch = useAppDispatch();\n var prevSettingsRef = (0, import_react64.useRef)(null);\n var layout = useCartesianChartLayout();\n var {\n type: typeFromProps\n } = props, restProps = _objectWithoutProperties31(props, _excluded47);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"yAxis\", typeFromProps);\n var settings = (0, import_react64.useMemo)(() => {\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread56(_objectSpread56({}, restProps), {}, {\n type: evaluatedType\n });\n }, [evaluatedType, restProps]);\n (0, import_react64.useLayoutEffect)(() => {\n if (settings == null) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addYAxis(settings));\n } else if (prevSettingsRef.current !== settings) {\n dispatch(replaceYAxis({\n prev: prevSettingsRef.current,\n next: settings\n }));\n }\n prevSettingsRef.current = settings;\n }, [settings, dispatch]);\n (0, import_react64.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeYAxis(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n function YAxisImpl(props) {\n var {\n yAxisId,\n className,\n width,\n label\n } = props;\n var cartesianAxisRef = (0, import_react64.useRef)(null);\n var labelRef = (0, import_react64.useRef)(null);\n var viewBox = useAppSelector(selectAxisViewBox);\n var isPanorama = useIsPanorama();\n var dispatch = useAppDispatch();\n var axisType = \"yAxis\";\n var axisSize = useAppSelector((state2) => selectYAxisSize(state2, yAxisId));\n var position2 = useAppSelector((state2) => selectYAxisPosition(state2, yAxisId));\n var cartesianTickItems = useAppSelector((state2) => selectTicksOfAxis(state2, axisType, yAxisId, isPanorama));\n var synchronizedSettings = useAppSelector((state2) => selectYAxisSettingsNoDefaults(state2, yAxisId));\n (0, import_react64.useLayoutEffect)(() => {\n if (width !== \"auto\" || !axisSize || isLabelContentAFunction(label) || /* @__PURE__ */ (0, import_react64.isValidElement)(label) || synchronizedSettings == null) {\n return;\n }\n var axisComponent = cartesianAxisRef.current;\n if (!axisComponent) {\n return;\n }\n var updatedYAxisWidth = axisComponent.getCalculatedWidth();\n if (Math.round(axisSize.width) !== Math.round(updatedYAxisWidth)) {\n dispatch(updateYAxisWidth({\n id: yAxisId,\n width: updatedYAxisWidth\n }));\n }\n }, [\n // The dependency on cartesianAxisRef.current is not needed because useLayoutEffect will run after every render.\n // The ref will be populated by then.\n // To re-run this effect when ticks change, we can depend on the ticks array from the store.\n cartesianTickItems,\n axisSize,\n dispatch,\n label,\n yAxisId,\n width,\n synchronizedSettings\n ]);\n if (axisSize == null || position2 == null || synchronizedSettings == null) {\n return null;\n }\n var {\n dangerouslySetInnerHTML,\n ticks: ticks2,\n scale: del\n } = props, allOtherProps = _objectWithoutProperties31(props, _excluded217);\n var {\n id,\n scale: del2\n } = synchronizedSettings, restSynchronizedSettings = _objectWithoutProperties31(synchronizedSettings, _excluded313);\n return /* @__PURE__ */ React112.createElement(CartesianAxis, _extends40({}, allOtherProps, restSynchronizedSettings, {\n ref: cartesianAxisRef,\n labelRef,\n x: position2.x,\n y: position2.y,\n tickTextProps: width === \"auto\" ? {\n width: void 0\n } : {\n width\n },\n width: axisSize.width,\n height: axisSize.height,\n className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n viewBox,\n ticks: cartesianTickItems,\n axisType,\n axisId: yAxisId\n }));\n }\n var yAxisDefaultProps = {\n allowDataOverflow: implicitYAxis.allowDataOverflow,\n allowDecimals: implicitYAxis.allowDecimals,\n allowDuplicatedCategory: implicitYAxis.allowDuplicatedCategory,\n angle: implicitYAxis.angle,\n axisLine: defaultCartesianAxisProps.axisLine,\n hide: false,\n includeHidden: implicitYAxis.includeHidden,\n interval: implicitYAxis.interval,\n label: false,\n minTickGap: implicitYAxis.minTickGap,\n mirror: implicitYAxis.mirror,\n orientation: implicitYAxis.orientation,\n padding: implicitYAxis.padding,\n reversed: implicitYAxis.reversed,\n scale: implicitYAxis.scale,\n tick: implicitYAxis.tick,\n tickCount: implicitYAxis.tickCount,\n tickLine: defaultCartesianAxisProps.tickLine,\n tickSize: defaultCartesianAxisProps.tickSize,\n type: implicitYAxis.type,\n niceTicks: implicitYAxis.niceTicks,\n width: implicitYAxis.width,\n yAxisId: 0\n };\n var YAxisSettingsDispatcher = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, yAxisDefaultProps);\n return /* @__PURE__ */ React112.createElement(React112.Fragment, null, /* @__PURE__ */ React112.createElement(SetYAxisSettings, {\n interval: props.interval,\n id: props.yAxisId,\n scale: props.scale,\n type: props.type,\n domain: props.domain,\n allowDataOverflow: props.allowDataOverflow,\n dataKey: props.dataKey,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n allowDecimals: props.allowDecimals,\n tickCount: props.tickCount,\n padding: props.padding,\n includeHidden: props.includeHidden,\n reversed: props.reversed,\n ticks: props.ticks,\n width: props.width,\n orientation: props.orientation,\n mirror: props.mirror,\n hide: props.hide,\n unit: props.unit,\n name: props.name,\n angle: props.angle,\n minTickGap: props.minTickGap,\n tick: props.tick,\n tickFormatter: props.tickFormatter,\n niceTicks: props.niceTicks\n }), /* @__PURE__ */ React112.createElement(YAxisImpl, props));\n };\n var YAxis = /* @__PURE__ */ React112.memo(YAxisSettingsDispatcher, axisPropsAreEqual);\n YAxis.displayName = \"YAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/CSSTransitionAnimate.js\n var import_react65 = __toESM(require_react());\n var defaultProps = {\n begin: 0,\n duration: 1e3,\n easing: \"ease\",\n isActive: true,\n canBegin: true,\n onAnimationEnd: () => {\n },\n onAnimationStart: () => {\n }\n };\n function CSSTransitionAnimate(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultProps);\n var {\n animationId,\n from: from2,\n to: to2,\n attributeName,\n isActive: isActiveProp,\n canBegin,\n duration,\n easing,\n begin,\n onAnimationEnd,\n onAnimationStart: onAnimationStartFromProps,\n children\n } = props;\n var prefersReducedMotion = usePrefersReducedMotion();\n var isActive = isActiveProp === \"auto\" ? !Global.isSsr && !prefersReducedMotion : isActiveProp;\n var animationManager = useAnimationManager(animationId + attributeName, props.animationManager);\n var [style, setStyle] = (0, import_react65.useState)(() => {\n if (!isActive) {\n return to2;\n }\n return from2;\n });\n var initialized = (0, import_react65.useRef)(false);\n var onAnimationStart = (0, import_react65.useCallback)(() => {\n setStyle(from2);\n onAnimationStartFromProps();\n }, [from2, onAnimationStartFromProps]);\n (0, import_react65.useEffect)(() => {\n if (!isActive || !canBegin) {\n return noop4;\n }\n initialized.current = true;\n var unsubscribe = animationManager.subscribe(setStyle);\n animationManager.start([onAnimationStart, begin, to2, duration, onAnimationEnd]);\n return () => {\n animationManager.stop();\n if (unsubscribe) {\n unsubscribe();\n }\n onAnimationEnd();\n };\n }, [isActive, canBegin, duration, easing, begin, onAnimationStart, onAnimationEnd, animationManager, to2, from2]);\n if (!isActive) {\n return children({\n [attributeName]: to2\n });\n }\n if (!canBegin) {\n return children({\n [attributeName]: from2\n });\n }\n if (initialized.current) {\n var transition = getTransitionVal([attributeName], duration, easing);\n return children({\n transition,\n [attributeName]: style\n });\n }\n return children({\n [attributeName]: from2\n });\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/LineChart.js\n var React119 = __toESM(require_react());\n var import_react76 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CartesianChart.js\n var React118 = __toESM(require_react());\n var import_react75 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsStoreProvider.js\n var React113 = __toESM(require_react());\n var import_react66 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectActivePropsFromChartPointer.js\n var pickChartPointer = (_state, chartPointer) => chartPointer;\n var selectActivePropsFromChartPointer = createSelector([pickChartPointer, selectChartLayout, selectPolarViewBox, selectTooltipAxisType, selectTooltipAxisRangeWithReverse, selectTooltipAxisTicks, selectOrderedTooltipTicks, selectChartOffsetInternal], combineActiveProps);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getRelativeCoordinate.js\n function isSvgPointer(pointer) {\n return \"getBBox\" in pointer.currentTarget && typeof pointer.currentTarget.getBBox === \"function\";\n }\n function getRelativeCoordinate(event) {\n var rect = event.currentTarget.getBoundingClientRect();\n var scaleX, scaleY;\n if (isSvgPointer(event)) {\n var bbox = event.currentTarget.getBBox();\n scaleX = bbox.width > 0 ? rect.width / bbox.width : 1;\n scaleY = bbox.height > 0 ? rect.height / bbox.height : 1;\n } else {\n var element = event.currentTarget;\n scaleX = element.offsetWidth > 0 ? rect.width / element.offsetWidth : 1;\n scaleY = element.offsetHeight > 0 ? rect.height / element.offsetHeight : 1;\n }\n var getCoordinates = (clientX, clientY) => ({\n /*\n * Here it's important to use:\n * - event.clientX and event.clientY to get the mouse position relative to the viewport, including scroll.\n * - pageX and pageY are not used because they are relative to the whole document, and ignore scroll.\n * - rect.left and rect.top are used to get the position of the chart relative to the viewport.\n * - offsetX and offsetY are not used because they are relative to the offset parent\n * which may or may not be the same as the clientX and clientY, depending on the position of the chart in the DOM\n * and surrounding element styles. CSS position: relative, absolute, fixed, will change the offset parent.\n * - scaleX and scaleY are necessary for when the chart element is scaled using CSS `transform: scale(N)`.\n */\n relativeX: Math.round((clientX - rect.left) / scaleX),\n relativeY: Math.round((clientY - rect.top) / scaleY)\n });\n if (\"touches\" in event) {\n return Array.from(event.touches).map((touch) => getCoordinates(touch.clientX, touch.clientY));\n }\n return getCoordinates(event.clientX, event.clientY);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/mouseEventsMiddleware.js\n var mouseClickAction = createAction(\"mouseClick\");\n var mouseClickMiddleware = createListenerMiddleware();\n mouseClickMiddleware.startListening({\n actionCreator: mouseClickAction,\n effect: (action, listenerApi) => {\n var mousePointer = action.payload;\n var activeProps = selectActivePropsFromChartPointer(listenerApi.getState(), getRelativeCoordinate(mousePointer));\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseClickAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n }\n }\n });\n var mouseMoveAction = createAction(\"mouseMove\");\n var mouseMoveMiddleware = createListenerMiddleware();\n var rafId = null;\n var timeoutId = null;\n var latestChartPointer = null;\n mouseMoveMiddleware.startListening({\n actionCreator: mouseMoveAction,\n effect: (action, listenerApi) => {\n var mousePointer = action.payload;\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || (throttledEvents === null || throttledEvents === void 0 ? void 0 : throttledEvents.includes(\"mousemove\"));\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n rafId = null;\n }\n if (timeoutId !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n latestChartPointer = getRelativeCoordinate(mousePointer);\n var callback = () => {\n var currentState = listenerApi.getState();\n var tooltipEventType = selectTooltipEventType(currentState, currentState.tooltip.settings.shared);\n if (!latestChartPointer) {\n rafId = null;\n timeoutId = null;\n return;\n }\n if (tooltipEventType === \"axis\") {\n var activeProps = selectActivePropsFromChartPointer(currentState, latestChartPointer);\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseOverAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n } else {\n listenerApi.dispatch(mouseLeaveChart());\n }\n }\n rafId = null;\n timeoutId = null;\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId === null) {\n timeoutId = setTimeout(callback, throttleDelay);\n }\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/reduxDevtoolsJsonStringifyReplacer.js\n function reduxDevtoolsJsonStringifyReplacer(key, value) {\n if (value instanceof HTMLElement) {\n return \"HTMLElement <\".concat(value.tagName, ' class=\"').concat(value.className, '\">');\n }\n if (value === window) {\n return \"global.window\";\n }\n if (key === \"children\" && typeof value === \"object\" && value !== null) {\n return \"<<CHILDREN>>\";\n }\n return value;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/rootPropsSlice.js\n var initialState13 = {\n accessibilityLayer: true,\n barCategoryGap: \"10%\",\n barGap: 4,\n barSize: void 0,\n className: void 0,\n maxBarSize: void 0,\n stackOffset: \"none\",\n syncId: void 0,\n syncMethod: \"index\",\n baseValue: void 0,\n reverseStackOrder: false\n };\n var rootPropsSlice = createSlice({\n name: \"rootProps\",\n initialState: initialState13,\n reducers: {\n updateOptions: (state2, action) => {\n var _action$payload$barGa;\n state2.accessibilityLayer = action.payload.accessibilityLayer;\n state2.barCategoryGap = action.payload.barCategoryGap;\n state2.barGap = (_action$payload$barGa = action.payload.barGap) !== null && _action$payload$barGa !== void 0 ? _action$payload$barGa : initialState13.barGap;\n state2.barSize = action.payload.barSize;\n state2.maxBarSize = action.payload.maxBarSize;\n state2.stackOffset = action.payload.stackOffset;\n state2.syncId = action.payload.syncId;\n state2.syncMethod = action.payload.syncMethod;\n state2.className = action.payload.className;\n state2.baseValue = action.payload.baseValue;\n state2.reverseStackOrder = action.payload.reverseStackOrder;\n }\n }\n });\n var rootPropsReducer = rootPropsSlice.reducer;\n var {\n updateOptions\n } = rootPropsSlice.actions;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/polarOptionsSlice.js\n var initialState14 = null;\n var reducers = {\n updatePolarOptions: (state2, action) => {\n if (state2 === null) {\n return action.payload;\n }\n state2.startAngle = action.payload.startAngle;\n state2.endAngle = action.payload.endAngle;\n state2.cx = action.payload.cx;\n state2.cy = action.payload.cy;\n state2.innerRadius = action.payload.innerRadius;\n state2.outerRadius = action.payload.outerRadius;\n return state2;\n }\n };\n var polarOptionsSlice = createSlice({\n name: \"polarOptions\",\n initialState: initialState14,\n reducers\n });\n var {\n updatePolarOptions\n } = polarOptionsSlice.actions;\n var polarOptionsReducer = polarOptionsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/keyboardEventsMiddleware.js\n var keyDownAction = createAction(\"keyDown\");\n var focusAction = createAction(\"focus\");\n var blurAction = createAction(\"blur\");\n var keyboardEventsMiddleware = createListenerMiddleware();\n var rafId2 = null;\n var timeoutId2 = null;\n var latestKeyboardActionPayload = null;\n keyboardEventsMiddleware.startListening({\n actionCreator: keyDownAction,\n effect: (action, listenerApi) => {\n latestKeyboardActionPayload = action.payload;\n if (rafId2 !== null) {\n cancelAnimationFrame(rafId2);\n rafId2 = null;\n }\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || throttledEvents.includes(\"keydown\");\n if (timeoutId2 !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId2);\n timeoutId2 = null;\n }\n var callback = () => {\n try {\n var currentState = listenerApi.getState();\n var accessibilityLayerIsActive = currentState.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = currentState.tooltip;\n var key = latestKeyboardActionPayload;\n if (key !== \"ArrowRight\" && key !== \"ArrowLeft\" && key !== \"Enter\") {\n return;\n }\n var resolvedIndex = combineActiveTooltipIndex(keyboardInteraction, selectTooltipDisplayedData(currentState), selectTooltipAxisDataKey(currentState), selectTooltipAxisDomain(currentState));\n var currentIndex = resolvedIndex == null ? -1 : Number(resolvedIndex);\n if (!Number.isFinite(currentIndex) || currentIndex < 0) {\n return;\n }\n var tooltipTicks = selectTooltipAxisTicks(currentState);\n if (key === \"Enter\") {\n var _coordinate = selectCoordinateForDefaultIndex(currentState, \"axis\", \"hover\", String(keyboardInteraction.index));\n listenerApi.dispatch(setKeyboardInteraction({\n active: !keyboardInteraction.active,\n activeIndex: keyboardInteraction.index,\n activeCoordinate: _coordinate\n }));\n return;\n }\n var direction = selectChartDirection(currentState);\n var directionMultiplier = direction === \"left-to-right\" ? 1 : -1;\n var movement = key === \"ArrowRight\" ? 1 : -1;\n var nextIndex = currentIndex + movement * directionMultiplier;\n if (tooltipTicks == null || nextIndex >= tooltipTicks.length || nextIndex < 0) {\n return;\n }\n var coordinate = selectCoordinateForDefaultIndex(currentState, \"axis\", \"hover\", String(nextIndex));\n listenerApi.dispatch(setKeyboardInteraction({\n active: true,\n activeIndex: nextIndex.toString(),\n activeCoordinate: coordinate\n }));\n } finally {\n rafId2 = null;\n timeoutId2 = null;\n }\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId2 = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId2 === null) {\n callback();\n latestKeyboardActionPayload = null;\n timeoutId2 = setTimeout(() => {\n if (latestKeyboardActionPayload) {\n callback();\n } else {\n timeoutId2 = null;\n rafId2 = null;\n }\n }, throttleDelay);\n }\n }\n }\n });\n keyboardEventsMiddleware.startListening({\n actionCreator: focusAction,\n effect: (_action, listenerApi) => {\n var state2 = listenerApi.getState();\n var accessibilityLayerIsActive = state2.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = state2.tooltip;\n if (keyboardInteraction.active) {\n return;\n }\n if (keyboardInteraction.index == null) {\n var nextIndex = \"0\";\n var coordinate = selectCoordinateForDefaultIndex(state2, \"axis\", \"hover\", String(nextIndex));\n listenerApi.dispatch(setKeyboardInteraction({\n active: true,\n activeIndex: nextIndex,\n activeCoordinate: coordinate\n }));\n }\n }\n });\n keyboardEventsMiddleware.startListening({\n actionCreator: blurAction,\n effect: (_action, listenerApi) => {\n var state2 = listenerApi.getState();\n var accessibilityLayerIsActive = state2.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = state2.tooltip;\n if (keyboardInteraction.active) {\n listenerApi.dispatch(setKeyboardInteraction({\n active: false,\n activeIndex: keyboardInteraction.index,\n activeCoordinate: keyboardInteraction.coordinate\n }));\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/createEventProxy.js\n function createEventProxy(reactEvent) {\n reactEvent.persist();\n var {\n currentTarget\n } = reactEvent;\n return new Proxy(reactEvent, {\n get: (target, prop) => {\n if (prop === \"currentTarget\") {\n return currentTarget;\n }\n var value = Reflect.get(target, prop);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n });\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/externalEventsMiddleware.js\n var externalEventAction = createAction(\"externalEvent\");\n var externalEventsMiddleware = createListenerMiddleware();\n var rafIdMap = /* @__PURE__ */ new Map();\n var timeoutIdMap = /* @__PURE__ */ new Map();\n var latestEventMap = /* @__PURE__ */ new Map();\n externalEventsMiddleware.startListening({\n actionCreator: externalEventAction,\n effect: (action, listenerApi) => {\n var {\n handler,\n reactEvent\n } = action.payload;\n if (handler == null) {\n return;\n }\n var eventType = reactEvent.type;\n var eventProxy = createEventProxy(reactEvent);\n latestEventMap.set(eventType, {\n handler,\n reactEvent: eventProxy\n });\n var existingRafId = rafIdMap.get(eventType);\n if (existingRafId !== void 0) {\n cancelAnimationFrame(existingRafId);\n rafIdMap.delete(eventType);\n }\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var eventListAsString = throttledEvents;\n var isThrottled = eventListAsString === \"all\" || (eventListAsString === null || eventListAsString === void 0 ? void 0 : eventListAsString.includes(eventType));\n var existingTimeoutId = timeoutIdMap.get(eventType);\n if (existingTimeoutId !== void 0 && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(existingTimeoutId);\n timeoutIdMap.delete(eventType);\n }\n var callback = () => {\n var latestAction = latestEventMap.get(eventType);\n try {\n if (!latestAction) {\n return;\n }\n var {\n handler: latestHandler,\n reactEvent: latestEvent\n } = latestAction;\n var currentState = listenerApi.getState();\n var nextState = {\n activeCoordinate: selectActiveTooltipCoordinate(currentState),\n activeDataKey: selectActiveTooltipDataKey(currentState),\n activeIndex: selectActiveTooltipIndex(currentState),\n activeLabel: selectActiveLabel(currentState),\n activeTooltipIndex: selectActiveTooltipIndex(currentState),\n isTooltipActive: selectIsTooltipActive(currentState)\n };\n if (latestHandler) {\n latestHandler(nextState, latestEvent);\n }\n } finally {\n rafIdMap.delete(eventType);\n timeoutIdMap.delete(eventType);\n latestEventMap.delete(eventType);\n }\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n var rafId4 = requestAnimationFrame(callback);\n rafIdMap.set(eventType, rafId4);\n } else if (typeof throttleDelay === \"number\") {\n if (!timeoutIdMap.has(eventType)) {\n callback();\n var timeoutId4 = setTimeout(callback, throttleDelay);\n timeoutIdMap.set(eventType, timeoutId4);\n }\n } else {\n callback();\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/touchSelectors.js\n var selectAllTooltipPayloadConfiguration = createSelector([selectTooltipState], (tooltipState) => tooltipState.tooltipItemPayloads);\n var selectTooltipCoordinate = createSelector([selectAllTooltipPayloadConfiguration, (_state, tooltipIndex) => tooltipIndex, (_state, _tooltipIndex, graphicalItemId) => graphicalItemId], (allTooltipConfigurations, tooltipIndex, graphicalItemId) => {\n if (tooltipIndex == null) {\n return void 0;\n }\n var mostRelevantTooltipConfiguration = allTooltipConfigurations.find((tooltipConfiguration) => {\n return tooltipConfiguration.settings.graphicalItemId === graphicalItemId;\n });\n if (mostRelevantTooltipConfiguration == null) {\n return void 0;\n }\n var {\n getPosition\n } = mostRelevantTooltipConfiguration;\n if (getPosition == null) {\n return void 0;\n }\n return getPosition(tooltipIndex);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/touchEventsMiddleware.js\n var touchEventAction = createAction(\"touchMove\");\n var touchEventMiddleware = createListenerMiddleware();\n var rafId3 = null;\n var timeoutId3 = null;\n var latestChartPointers = null;\n var latestTouchEvent = null;\n touchEventMiddleware.startListening({\n actionCreator: touchEventAction,\n effect: (action, listenerApi) => {\n var touchEvent = action.payload;\n if (touchEvent.touches == null || touchEvent.touches.length === 0) {\n return;\n }\n latestTouchEvent = createEventProxy(touchEvent);\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || throttledEvents.includes(\"touchmove\");\n if (rafId3 !== null) {\n cancelAnimationFrame(rafId3);\n rafId3 = null;\n }\n if (timeoutId3 !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId3);\n timeoutId3 = null;\n }\n latestChartPointers = Array.from(touchEvent.touches).map((touch) => getRelativeCoordinate({\n clientX: touch.clientX,\n clientY: touch.clientY,\n currentTarget: touchEvent.currentTarget\n }));\n var callback = () => {\n if (latestTouchEvent == null) {\n return;\n }\n var currentState = listenerApi.getState();\n var tooltipEventType = selectTooltipEventType(currentState, currentState.tooltip.settings.shared);\n if (tooltipEventType === \"axis\") {\n var _latestChartPointers;\n var latestTouchPointer = (_latestChartPointers = latestChartPointers) === null || _latestChartPointers === void 0 ? void 0 : _latestChartPointers[0];\n if (latestTouchPointer == null) {\n rafId3 = null;\n timeoutId3 = null;\n return;\n }\n var activeProps = selectActivePropsFromChartPointer(currentState, latestTouchPointer);\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseOverAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n }\n } else if (tooltipEventType === \"item\") {\n var _target$getAttribute;\n var touch = latestTouchEvent.touches[0];\n if (document.elementFromPoint == null || touch == null) {\n return;\n }\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n if (!target || !target.getAttribute) {\n return;\n }\n var itemIndex = target.getAttribute(DATA_ITEM_INDEX_ATTRIBUTE_NAME);\n var graphicalItemId = (_target$getAttribute = target.getAttribute(DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME)) !== null && _target$getAttribute !== void 0 ? _target$getAttribute : void 0;\n var settings = selectAllGraphicalItemsSettings(currentState).find((item) => item.id === graphicalItemId);\n if (itemIndex == null || settings == null || graphicalItemId == null) {\n return;\n }\n var {\n dataKey\n } = settings;\n var coordinate = selectTooltipCoordinate(currentState, itemIndex, graphicalItemId);\n listenerApi.dispatch(setActiveMouseOverItemIndex({\n activeDataKey: dataKey,\n activeIndex: itemIndex,\n activeCoordinate: coordinate,\n activeGraphicalItemId: graphicalItemId\n }));\n }\n rafId3 = null;\n timeoutId3 = null;\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId3 = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId3 === null) {\n callback();\n latestTouchEvent = null;\n timeoutId3 = setTimeout(() => {\n if (latestTouchEvent) {\n callback();\n } else {\n timeoutId3 = null;\n rafId3 = null;\n }\n }, throttleDelay);\n }\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/eventSettingsSlice.js\n var initialEventSettingsState = {\n throttleDelay: \"raf\",\n throttledEvents: [\"mousemove\", \"touchmove\", \"pointermove\", \"scroll\", \"wheel\"]\n };\n var eventSettingsSlice = createSlice({\n name: \"eventSettings\",\n initialState: initialEventSettingsState,\n reducers: {\n setEventSettings: (state2, action) => {\n if (action.payload.throttleDelay != null) {\n state2.throttleDelay = action.payload.throttleDelay;\n }\n if (action.payload.throttledEvents != null) {\n state2.throttledEvents = castDraft(action.payload.throttledEvents);\n }\n }\n }\n });\n var {\n setEventSettings\n } = eventSettingsSlice.actions;\n var eventSettingsReducer = eventSettingsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/store.js\n var rootReducer = combineReducers({\n brush: brushReducer,\n cartesianAxis: cartesianAxisReducer,\n chartData: chartDataReducer,\n errorBars: errorBarReducer,\n eventSettings: eventSettingsReducer,\n graphicalItems: graphicalItemsReducer,\n layout: chartLayoutReducer,\n legend: legendReducer,\n options: optionsReducer,\n polarAxis: polarAxisReducer,\n polarOptions: polarOptionsReducer,\n referenceElements: referenceElementsReducer,\n renderedTicks: renderedTicksReducer,\n rootProps: rootPropsReducer,\n tooltip: tooltipReducer,\n zIndex: zIndexReducer\n });\n var createRechartsStore = function createRechartsStore2(preloadedState) {\n var chartName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"Chart\";\n return configureStore({\n reducer: rootReducer,\n // redux-toolkit v1 types are unhappy with the preloadedState type. Remove the `as any` when bumping to v2\n preloadedState,\n // @ts-expect-error redux-toolkit v1 types are unhappy with the middleware array. Remove this comment when bumping to v2\n middleware: (getDefaultMiddleware) => {\n var _process$env$NODE_ENV;\n return getDefaultMiddleware({\n serializableCheck: false,\n immutableCheck: ![\"commonjs\", \"es6\", \"production\"].includes((_process$env$NODE_ENV = \"es6\") !== null && _process$env$NODE_ENV !== void 0 ? _process$env$NODE_ENV : \"\")\n }).concat([mouseClickMiddleware.middleware, mouseMoveMiddleware.middleware, keyboardEventsMiddleware.middleware, externalEventsMiddleware.middleware, touchEventMiddleware.middleware]);\n },\n /*\n * I can't find out how to satisfy typescript here.\n * We return `EnhancerArray<[StoreEnhancer<{}, {}>, StoreEnhancer]>` from this function,\n * but the types say we should return `EnhancerArray<StoreEnhancer<{}, {}>`.\n * Looks like it's badly inferred generics, but it won't allow me to provide the correct type manually either.\n * So let's just ignore the error for now.\n */\n // @ts-expect-error mismatched generics\n enhancers: (getDefaultEnhancers) => {\n var enhancers = getDefaultEnhancers;\n if (typeof getDefaultEnhancers === \"function\") {\n enhancers = getDefaultEnhancers();\n }\n return enhancers.concat(autoBatchEnhancer({\n type: \"raf\"\n }));\n },\n devTools: Global.devToolsEnabled && {\n serialize: {\n replacer: reduxDevtoolsJsonStringifyReplacer\n },\n name: \"recharts-\".concat(chartName)\n }\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsStoreProvider.js\n function RechartsStoreProvider(_ref2) {\n var {\n preloadedState,\n children,\n reduxStoreName\n } = _ref2;\n var isPanorama = useIsPanorama();\n var storeRef = (0, import_react66.useRef)(null);\n if (isPanorama) {\n return children;\n }\n if (storeRef.current == null) {\n storeRef.current = createRechartsStore(preloadedState, reduxStoreName);\n }\n var nonNullContext = RechartsReduxContext;\n return /* @__PURE__ */ React113.createElement(Provider_default, {\n context: nonNullContext,\n store: storeRef.current\n }, children);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportMainChartProps.js\n var import_react67 = __toESM(require_react());\n function ReportMainChartPropsImpl(_ref2) {\n var {\n layout,\n margin\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n (0, import_react67.useEffect)(() => {\n if (!isPanorama) {\n dispatch(setLayout(layout));\n dispatch(setMargin(margin));\n }\n }, [dispatch, isPanorama, layout, margin]);\n return null;\n }\n var ReportMainChartProps = /* @__PURE__ */ (0, import_react67.memo)(ReportMainChartPropsImpl, propsAreEqual);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportChartProps.js\n var import_react68 = __toESM(require_react());\n function ReportChartProps(props) {\n var dispatch = useAppDispatch();\n (0, import_react68.useEffect)(() => {\n dispatch(updateOptions(props));\n }, [dispatch, props]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportEventSettings.js\n var import_react69 = __toESM(require_react());\n var ReportEventSettingsImpl = (props) => {\n var dispatch = useAppDispatch();\n (0, import_react69.useEffect)(() => {\n dispatch(setEventSettings(props));\n }, [dispatch, props]);\n return null;\n };\n var ReportEventSettings = /* @__PURE__ */ (0, import_react69.memo)(ReportEventSettingsImpl, propsAreEqual);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CategoricalChart.js\n var React117 = __toESM(require_react());\n var import_react74 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/RootSurface.js\n var React115 = __toESM(require_react());\n var import_react71 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexPortal.js\n var React114 = __toESM(require_react());\n var import_react70 = __toESM(require_react());\n function ZIndexSvgPortal(_ref2) {\n var {\n zIndex,\n isPanorama\n } = _ref2;\n var ref = (0, import_react70.useRef)(null);\n var dispatch = useAppDispatch();\n (0, import_react70.useLayoutEffect)(() => {\n if (ref.current) {\n dispatch(registerZIndexPortalElement({\n zIndex,\n element: ref.current,\n isPanorama\n }));\n }\n return () => {\n dispatch(unregisterZIndexPortalElement({\n zIndex,\n isPanorama\n }));\n };\n }, [dispatch, zIndex, isPanorama]);\n return /* @__PURE__ */ React114.createElement(\"g\", {\n tabIndex: -1,\n ref,\n className: \"recharts-zIndex-layer_\".concat(zIndex)\n });\n }\n function AllZIndexPortals(_ref2) {\n var {\n children,\n isPanorama\n } = _ref2;\n var allRegisteredZIndexes = useAppSelector(selectAllRegisteredZIndexes);\n if (!allRegisteredZIndexes || allRegisteredZIndexes.length === 0) {\n return children;\n }\n var allNegativeZIndexes = allRegisteredZIndexes.filter((zIndex) => zIndex < 0);\n var allPositiveZIndexes = allRegisteredZIndexes.filter((zIndex) => zIndex > 0);\n return /* @__PURE__ */ React114.createElement(React114.Fragment, null, allNegativeZIndexes.map((zIndex) => /* @__PURE__ */ React114.createElement(ZIndexSvgPortal, {\n key: zIndex,\n zIndex,\n isPanorama\n })), children, allPositiveZIndexes.map((zIndex) => /* @__PURE__ */ React114.createElement(ZIndexSvgPortal, {\n key: zIndex,\n zIndex,\n isPanorama\n })));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/RootSurface.js\n var _excluded48 = [\"children\"];\n function _objectWithoutProperties32(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose32(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose32(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends41() {\n return _extends41 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends41.apply(null, arguments);\n }\n var FULL_WIDTH_AND_HEIGHT = {\n width: \"100%\",\n height: \"100%\",\n /*\n * display: block is necessary here because the default for an SVG is display: inline,\n * which in some browsers (Chrome) adds a little bit of extra space above and below the SVG\n * to make space for the descender of letters like \"g\" and \"y\". This throws off the height calculation\n * and causes the container to grow indefinitely on each render with responsive=true.\n * Display: block removes that extra space.\n *\n * Interestingly, Firefox does not have this problem, but it doesn't hurt to add the style anyway.\n */\n display: \"block\"\n };\n var MainChartSurface = /* @__PURE__ */ (0, import_react71.forwardRef)((props, ref) => {\n var width = useChartWidth();\n var height = useChartHeight();\n var hasAccessibilityLayer = useAccessibilityLayer();\n if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n return null;\n }\n var {\n children,\n otherAttributes,\n title,\n desc\n } = props;\n var tabIndex, role;\n if (otherAttributes != null) {\n if (typeof otherAttributes.tabIndex === \"number\") {\n tabIndex = otherAttributes.tabIndex;\n } else {\n tabIndex = hasAccessibilityLayer ? 0 : void 0;\n }\n if (typeof otherAttributes.role === \"string\") {\n role = otherAttributes.role;\n } else {\n role = hasAccessibilityLayer ? \"application\" : void 0;\n }\n }\n return /* @__PURE__ */ React115.createElement(Surface, _extends41({}, otherAttributes, {\n title,\n desc,\n role,\n tabIndex,\n width,\n height,\n style: FULL_WIDTH_AND_HEIGHT,\n ref\n }), children);\n });\n var BrushPanoramaSurface = (_ref2) => {\n var {\n children\n } = _ref2;\n var brushDimensions = useAppSelector(selectBrushDimensions);\n if (!brushDimensions) {\n return null;\n }\n var {\n width,\n height,\n y: y2,\n x: x2\n } = brushDimensions;\n return /* @__PURE__ */ React115.createElement(Surface, {\n width,\n height,\n x: x2,\n y: y2\n }, children);\n };\n var RootSurface = /* @__PURE__ */ (0, import_react71.forwardRef)((_ref2, ref) => {\n var {\n children\n } = _ref2, rest = _objectWithoutProperties32(_ref2, _excluded48);\n var isPanorama = useIsPanorama();\n if (isPanorama) {\n return /* @__PURE__ */ React115.createElement(BrushPanoramaSurface, null, /* @__PURE__ */ React115.createElement(AllZIndexPortals, {\n isPanorama: true\n }, children));\n }\n return /* @__PURE__ */ React115.createElement(MainChartSurface, _extends41({\n ref\n }, rest), /* @__PURE__ */ React115.createElement(AllZIndexPortals, {\n isPanorama: false\n }, children));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RechartsWrapper.js\n var React116 = __toESM(require_react());\n var import_react73 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useReportScale.js\n var import_react72 = __toESM(require_react());\n function useReportScale() {\n var dispatch = useAppDispatch();\n var [ref, setRef2] = (0, import_react72.useState)(null);\n var scale = useAppSelector(selectContainerScale);\n (0, import_react72.useEffect)(() => {\n if (ref == null) {\n return;\n }\n var rect = ref.getBoundingClientRect();\n var newScale = rect.width / ref.offsetWidth;\n if (isWellBehavedNumber(newScale) && newScale !== scale) {\n dispatch(setScale(newScale));\n }\n }, [ref, dispatch, scale]);\n return setRef2;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RechartsWrapper.js\n function ownKeys57(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread57(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys57(Object(t2), true).forEach(function(r3) {\n _defineProperty59(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys57(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty59(e, r2, t2) {\n return (r2 = _toPropertyKey59(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey59(t2) {\n var i = _toPrimitive59(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive59(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends42() {\n return _extends42 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends42.apply(null, arguments);\n }\n var EventSynchronizer = () => {\n useSynchronisedEventsFromOtherCharts();\n return null;\n };\n function getNumberOrZero(value) {\n if (typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"string\") {\n var parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return 0;\n }\n var ResponsiveDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var _props$style, _props$style2;\n var observerRef = (0, import_react73.useRef)(null);\n var [sizes, setSizes] = (0, import_react73.useState)({\n containerWidth: getNumberOrZero((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width),\n containerHeight: getNumberOrZero((_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.height)\n });\n var setContainerSize = (0, import_react73.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n var innerRef = (0, import_react73.useCallback)((node) => {\n if (typeof ref === \"function\") {\n ref(node);\n }\n if (node != null && typeof ResizeObserver !== \"undefined\") {\n var {\n width: containerWidth,\n height: containerHeight\n } = node.getBoundingClientRect();\n setContainerSize(containerWidth, containerHeight);\n var callback = (entries) => {\n var entry = entries[0];\n if (entry == null) {\n return;\n }\n var {\n width,\n height\n } = entry.contentRect;\n setContainerSize(width, height);\n };\n var observer = new ResizeObserver(callback);\n observer.observe(node);\n observerRef.current = observer;\n }\n }, [ref, setContainerSize]);\n (0, import_react73.useEffect)(() => {\n return () => {\n var observer = observerRef.current;\n if (observer != null) {\n observer.disconnect();\n }\n };\n }, [setContainerSize]);\n return /* @__PURE__ */ React116.createElement(React116.Fragment, null, /* @__PURE__ */ React116.createElement(ReportChartSize, {\n width: sizes.containerWidth,\n height: sizes.containerHeight\n }), /* @__PURE__ */ React116.createElement(\"div\", _extends42({\n ref: innerRef\n }, props)));\n });\n var ReadSizeOnceDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n var [sizes, setSizes] = (0, import_react73.useState)({\n containerWidth: getNumberOrZero(width),\n containerHeight: getNumberOrZero(height)\n });\n var setContainerSize = (0, import_react73.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n var innerRef = (0, import_react73.useCallback)((node) => {\n if (typeof ref === \"function\") {\n ref(node);\n }\n if (node != null) {\n var {\n width: containerWidth,\n height: containerHeight\n } = node.getBoundingClientRect();\n setContainerSize(containerWidth, containerHeight);\n }\n }, [ref, setContainerSize]);\n return /* @__PURE__ */ React116.createElement(React116.Fragment, null, /* @__PURE__ */ React116.createElement(ReportChartSize, {\n width: sizes.containerWidth,\n height: sizes.containerHeight\n }), /* @__PURE__ */ React116.createElement(\"div\", _extends42({\n ref: innerRef\n }, props)));\n });\n var StaticDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n return /* @__PURE__ */ React116.createElement(React116.Fragment, null, /* @__PURE__ */ React116.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React116.createElement(\"div\", _extends42({\n ref\n }, props)));\n });\n var NonResponsiveDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n if (typeof width === \"string\" || typeof height === \"string\") {\n return /* @__PURE__ */ React116.createElement(ReadSizeOnceDiv, _extends42({}, props, {\n ref\n }));\n }\n if (typeof width === \"number\" && typeof height === \"number\") {\n return /* @__PURE__ */ React116.createElement(StaticDiv, _extends42({}, props, {\n width,\n height,\n ref\n }));\n }\n return /* @__PURE__ */ React116.createElement(React116.Fragment, null, /* @__PURE__ */ React116.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React116.createElement(\"div\", _extends42({\n ref\n }, props)));\n });\n function getWrapperDivComponent(responsive) {\n return responsive ? ResponsiveDiv : NonResponsiveDiv;\n }\n var RechartsWrapper = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n children,\n className,\n height: heightFromProps,\n onClick,\n onContextMenu,\n onDoubleClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n style,\n width: widthFromProps,\n responsive,\n dispatchTouchEvents = true\n } = props;\n var containerRef = (0, import_react73.useRef)(null);\n var dispatch = useAppDispatch();\n var [tooltipPortal, setTooltipPortal] = (0, import_react73.useState)(null);\n var [legendPortal, setLegendPortal] = (0, import_react73.useState)(null);\n var setScaleRef = useReportScale();\n var responsiveContainerCalculations = useResponsiveContainerContext();\n var width = (responsiveContainerCalculations === null || responsiveContainerCalculations === void 0 ? void 0 : responsiveContainerCalculations.width) > 0 ? responsiveContainerCalculations.width : widthFromProps;\n var height = (responsiveContainerCalculations === null || responsiveContainerCalculations === void 0 ? void 0 : responsiveContainerCalculations.height) > 0 ? responsiveContainerCalculations.height : heightFromProps;\n var innerRef = (0, import_react73.useCallback)((node) => {\n setScaleRef(node);\n if (typeof ref === \"function\") {\n ref(node);\n }\n setTooltipPortal(node);\n setLegendPortal(node);\n if (node != null) {\n containerRef.current = node;\n }\n }, [setScaleRef, ref, setTooltipPortal, setLegendPortal]);\n var myOnClick = (0, import_react73.useCallback)((e) => {\n dispatch(mouseClickAction(e));\n dispatch(externalEventAction({\n handler: onClick,\n reactEvent: e\n }));\n }, [dispatch, onClick]);\n var myOnMouseEnter = (0, import_react73.useCallback)((e) => {\n dispatch(mouseMoveAction(e));\n dispatch(externalEventAction({\n handler: onMouseEnter,\n reactEvent: e\n }));\n }, [dispatch, onMouseEnter]);\n var myOnMouseLeave = (0, import_react73.useCallback)((e) => {\n dispatch(mouseLeaveChart());\n dispatch(externalEventAction({\n handler: onMouseLeave,\n reactEvent: e\n }));\n }, [dispatch, onMouseLeave]);\n var myOnMouseMove = (0, import_react73.useCallback)((e) => {\n dispatch(mouseMoveAction(e));\n dispatch(externalEventAction({\n handler: onMouseMove,\n reactEvent: e\n }));\n }, [dispatch, onMouseMove]);\n var onFocus = (0, import_react73.useCallback)(() => {\n dispatch(focusAction());\n }, [dispatch]);\n var onBlur = (0, import_react73.useCallback)(() => {\n dispatch(blurAction());\n }, [dispatch]);\n var onKeyDown = (0, import_react73.useCallback)((e) => {\n dispatch(keyDownAction(e.key));\n }, [dispatch]);\n var myOnContextMenu = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onContextMenu,\n reactEvent: e\n }));\n }, [dispatch, onContextMenu]);\n var myOnDoubleClick = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onDoubleClick,\n reactEvent: e\n }));\n }, [dispatch, onDoubleClick]);\n var myOnMouseDown = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onMouseDown,\n reactEvent: e\n }));\n }, [dispatch, onMouseDown]);\n var myOnMouseUp = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onMouseUp,\n reactEvent: e\n }));\n }, [dispatch, onMouseUp]);\n var myOnTouchStart = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onTouchStart,\n reactEvent: e\n }));\n }, [dispatch, onTouchStart]);\n var myOnTouchMove = (0, import_react73.useCallback)((e) => {\n if (dispatchTouchEvents) {\n dispatch(touchEventAction(e));\n }\n dispatch(externalEventAction({\n handler: onTouchMove,\n reactEvent: e\n }));\n }, [dispatch, dispatchTouchEvents, onTouchMove]);\n var myOnTouchEnd = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onTouchEnd,\n reactEvent: e\n }));\n }, [dispatch, onTouchEnd]);\n var WrapperDiv = getWrapperDivComponent(responsive);\n return /* @__PURE__ */ React116.createElement(TooltipPortalContext.Provider, {\n value: tooltipPortal\n }, /* @__PURE__ */ React116.createElement(LegendPortalContext.Provider, {\n value: legendPortal\n }, /* @__PURE__ */ React116.createElement(WrapperDiv, {\n width: width !== null && width !== void 0 ? width : style === null || style === void 0 ? void 0 : style.width,\n height: height !== null && height !== void 0 ? height : style === null || style === void 0 ? void 0 : style.height,\n className: clsx(\"recharts-wrapper\", className),\n style: _objectSpread57({\n position: \"relative\",\n cursor: \"default\",\n width,\n height\n }, style),\n onClick: myOnClick,\n onContextMenu: myOnContextMenu,\n onDoubleClick: myOnDoubleClick,\n onFocus,\n onBlur,\n onKeyDown,\n onMouseDown: myOnMouseDown,\n onMouseEnter: myOnMouseEnter,\n onMouseLeave: myOnMouseLeave,\n onMouseMove: myOnMouseMove,\n onMouseUp: myOnMouseUp,\n onTouchEnd: myOnTouchEnd,\n onTouchMove: myOnTouchMove,\n onTouchStart: myOnTouchStart,\n ref: innerRef\n }, /* @__PURE__ */ React116.createElement(EventSynchronizer, null), children)));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CategoricalChart.js\n var _excluded49 = [\"width\", \"height\", \"responsive\", \"children\", \"className\", \"style\", \"compact\", \"title\", \"desc\"];\n function _objectWithoutProperties33(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose33(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose33(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var CategoricalChart = /* @__PURE__ */ (0, import_react74.forwardRef)((props, ref) => {\n var {\n width,\n height,\n responsive,\n children,\n className,\n style,\n compact,\n title,\n desc\n } = props, others = _objectWithoutProperties33(props, _excluded49);\n var attrs = svgPropertiesNoEvents(others);\n if (compact) {\n return /* @__PURE__ */ React117.createElement(React117.Fragment, null, /* @__PURE__ */ React117.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React117.createElement(RootSurface, {\n otherAttributes: attrs,\n title,\n desc\n }, children));\n }\n return /* @__PURE__ */ React117.createElement(RechartsWrapper, {\n className,\n style,\n width,\n height,\n responsive: responsive !== null && responsive !== void 0 ? responsive : false,\n onClick: props.onClick,\n onMouseLeave: props.onMouseLeave,\n onMouseEnter: props.onMouseEnter,\n onMouseMove: props.onMouseMove,\n onMouseDown: props.onMouseDown,\n onMouseUp: props.onMouseUp,\n onContextMenu: props.onContextMenu,\n onDoubleClick: props.onDoubleClick,\n onTouchStart: props.onTouchStart,\n onTouchMove: props.onTouchMove,\n onTouchEnd: props.onTouchEnd\n }, /* @__PURE__ */ React117.createElement(RootSurface, {\n otherAttributes: attrs,\n title,\n desc,\n ref\n }, /* @__PURE__ */ React117.createElement(ClipPathProvider, null, children)));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CartesianChart.js\n function _extends43() {\n return _extends43 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends43.apply(null, arguments);\n }\n function ownKeys58(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread58(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys58(Object(t2), true).forEach(function(r3) {\n _defineProperty60(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys58(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty60(e, r2, t2) {\n return (r2 = _toPropertyKey60(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey60(t2) {\n var i = _toPrimitive60(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive60(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultMargin = {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n };\n var defaultCartesianChartProps = _objectSpread58({\n accessibilityLayer: true,\n barCategoryGap: \"10%\",\n barGap: 4,\n layout: \"horizontal\",\n margin: defaultMargin,\n responsive: false,\n reverseStackOrder: false,\n stackOffset: \"none\",\n syncMethod: \"index\"\n }, initialEventSettingsState);\n var CartesianChart = /* @__PURE__ */ (0, import_react75.forwardRef)(function CartesianChart2(props, ref) {\n var _categoricalChartProp;\n var rootChartProps = resolveDefaultProps(props.categoricalChartProps, defaultCartesianChartProps);\n var {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n categoricalChartProps\n } = props;\n var options2 = {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n eventEmitter: void 0\n };\n return /* @__PURE__ */ React118.createElement(RechartsStoreProvider, {\n preloadedState: {\n options: options2\n },\n reduxStoreName: (_categoricalChartProp = categoricalChartProps.id) !== null && _categoricalChartProp !== void 0 ? _categoricalChartProp : chartName\n }, /* @__PURE__ */ React118.createElement(ChartDataContextProvider, {\n chartData: categoricalChartProps.data\n }), /* @__PURE__ */ React118.createElement(ReportMainChartProps, {\n layout: rootChartProps.layout,\n margin: rootChartProps.margin\n }), /* @__PURE__ */ React118.createElement(ReportEventSettings, {\n throttleDelay: rootChartProps.throttleDelay,\n throttledEvents: rootChartProps.throttledEvents\n }), /* @__PURE__ */ React118.createElement(ReportChartProps, {\n baseValue: rootChartProps.baseValue,\n accessibilityLayer: rootChartProps.accessibilityLayer,\n barCategoryGap: rootChartProps.barCategoryGap,\n maxBarSize: rootChartProps.maxBarSize,\n stackOffset: rootChartProps.stackOffset,\n barGap: rootChartProps.barGap,\n barSize: rootChartProps.barSize,\n syncId: rootChartProps.syncId,\n syncMethod: rootChartProps.syncMethod,\n className: rootChartProps.className,\n reverseStackOrder: rootChartProps.reverseStackOrder\n }), /* @__PURE__ */ React118.createElement(CategoricalChart, _extends43({}, rootChartProps, {\n ref\n })));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/LineChart.js\n var allowedTooltipTypes = [\"axis\"];\n var LineChart = /* @__PURE__ */ (0, import_react76.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React119.createElement(CartesianChart, {\n chartName: \"LineChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/BarChart.js\n var React120 = __toESM(require_react());\n var import_react77 = __toESM(require_react());\n var allowedTooltipTypes2 = [\"axis\", \"item\"];\n var BarChart = /* @__PURE__ */ (0, import_react77.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React120.createElement(CartesianChart, {\n chartName: \"BarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes2,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PieChart.js\n var React122 = __toESM(require_react());\n var import_react80 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PolarChart.js\n var import_react79 = __toESM(require_react());\n var React121 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportPolarOptions.js\n var import_react78 = __toESM(require_react());\n function ReportPolarOptions(props) {\n var dispatch = useAppDispatch();\n (0, import_react78.useEffect)(() => {\n dispatch(updatePolarOptions(props));\n }, [dispatch, props]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PolarChart.js\n var _excluded50 = [\"layout\"];\n function _extends44() {\n return _extends44 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends44.apply(null, arguments);\n }\n function _objectWithoutProperties34(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose34(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose34(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys59(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread59(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys59(Object(t2), true).forEach(function(r3) {\n _defineProperty61(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys59(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty61(e, r2, t2) {\n return (r2 = _toPropertyKey61(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey61(t2) {\n var i = _toPrimitive61(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive61(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultMargin2 = {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n };\n var defaultPolarChartProps = _objectSpread59({\n accessibilityLayer: true,\n stackOffset: \"none\",\n barCategoryGap: \"10%\",\n barGap: 4,\n margin: defaultMargin2,\n reverseStackOrder: false,\n syncMethod: \"index\",\n layout: \"radial\",\n responsive: false,\n cx: \"50%\",\n cy: \"50%\",\n innerRadius: 0,\n outerRadius: \"80%\"\n }, initialEventSettingsState);\n var PolarChart = /* @__PURE__ */ (0, import_react79.forwardRef)(function PolarChart2(props, ref) {\n var _polarChartProps$id;\n var polarChartProps = resolveDefaultProps(props.categoricalChartProps, defaultPolarChartProps);\n var {\n layout\n } = polarChartProps, otherCategoricalProps = _objectWithoutProperties34(polarChartProps, _excluded50);\n var {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher\n } = props;\n var options2 = {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n eventEmitter: void 0\n };\n return /* @__PURE__ */ React121.createElement(RechartsStoreProvider, {\n preloadedState: {\n options: options2\n },\n reduxStoreName: (_polarChartProps$id = polarChartProps.id) !== null && _polarChartProps$id !== void 0 ? _polarChartProps$id : chartName\n }, /* @__PURE__ */ React121.createElement(ChartDataContextProvider, {\n chartData: polarChartProps.data\n }), /* @__PURE__ */ React121.createElement(ReportMainChartProps, {\n layout,\n margin: polarChartProps.margin\n }), /* @__PURE__ */ React121.createElement(ReportEventSettings, {\n throttleDelay: polarChartProps.throttleDelay,\n throttledEvents: polarChartProps.throttledEvents\n }), /* @__PURE__ */ React121.createElement(ReportChartProps, {\n baseValue: void 0,\n accessibilityLayer: polarChartProps.accessibilityLayer,\n barCategoryGap: polarChartProps.barCategoryGap,\n maxBarSize: polarChartProps.maxBarSize,\n stackOffset: polarChartProps.stackOffset,\n barGap: polarChartProps.barGap,\n barSize: polarChartProps.barSize,\n syncId: polarChartProps.syncId,\n syncMethod: polarChartProps.syncMethod,\n className: polarChartProps.className,\n reverseStackOrder: polarChartProps.reverseStackOrder\n }), /* @__PURE__ */ React121.createElement(ReportPolarOptions, {\n cx: polarChartProps.cx,\n cy: polarChartProps.cy,\n startAngle: polarChartProps.startAngle,\n endAngle: polarChartProps.endAngle,\n innerRadius: polarChartProps.innerRadius,\n outerRadius: polarChartProps.outerRadius\n }), /* @__PURE__ */ React121.createElement(CategoricalChart, _extends44({}, otherCategoricalProps, {\n ref\n })));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PieChart.js\n function ownKeys60(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread60(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys60(Object(t2), true).forEach(function(r3) {\n _defineProperty62(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys60(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty62(e, r2, t2) {\n return (r2 = _toPropertyKey62(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey62(t2) {\n var i = _toPrimitive62(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive62(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes3 = [\"item\"];\n var defaultPieChartProps = _objectSpread60(_objectSpread60({}, defaultPolarChartProps), {}, {\n layout: \"centric\",\n startAngle: 0,\n endAngle: 360\n });\n var PieChart = /* @__PURE__ */ (0, import_react80.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultPieChartProps);\n return /* @__PURE__ */ React122.createElement(PolarChart, {\n chartName: \"PieChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes3,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/Treemap.js\n var React123 = __toESM(require_react());\n var import_react81 = __toESM(require_react());\n var import_omit = __toESM(require_omit2());\n var import_get6 = __toESM(require_get2());\n var _excluded51 = [\"width\", \"height\", \"className\", \"style\", \"children\", \"type\"];\n function _objectWithoutProperties35(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose35(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose35(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends45() {\n return _extends45 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends45.apply(null, arguments);\n }\n function ownKeys61(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread61(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys61(Object(t2), true).forEach(function(r3) {\n _defineProperty63(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys61(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty63(e, r2, t2) {\n return (r2 = _toPropertyKey63(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey63(t2) {\n var i = _toPrimitive63(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive63(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var NODE_VALUE_KEY = \"value\";\n function isTreemapNode(value) {\n return value != null && typeof value === \"object\" && \"x\" in value && \"y\" in value && \"width\" in value && \"height\" in value && typeof value.x === \"number\" && typeof value.y === \"number\" && typeof value.width === \"number\" && typeof value.height === \"number\";\n }\n var treemapPayloadSearcher = (data, activeIndex) => {\n if (!data || !activeIndex) {\n return void 0;\n }\n return (0, import_get6.default)(data, activeIndex);\n };\n var addToTreemapNodeIndex = function addToTreemapNodeIndex2(indexInChildrenArr) {\n var activeTooltipIndexSoFar = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n return \"\".concat(activeTooltipIndexSoFar, \"children[\").concat(indexInChildrenArr, \"]\");\n };\n var options = {\n chartName: \"Treemap\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: [\"item\"],\n tooltipPayloadSearcher: treemapPayloadSearcher,\n eventEmitter: void 0\n };\n var computeNode = (_ref2) => {\n var {\n depth,\n node,\n index: index2,\n dataKey,\n nameKey,\n nestedActiveTooltipIndex\n } = _ref2;\n var currentTooltipIndex = depth === 0 ? \"\" : addToTreemapNodeIndex(index2, nestedActiveTooltipIndex);\n var {\n children\n } = node;\n var childDepth = depth + 1;\n var computedChildren = children && children.length ? children.map((child, i) => computeNode({\n depth: childDepth,\n node: child,\n index: i,\n dataKey,\n nameKey,\n nestedActiveTooltipIndex: currentTooltipIndex\n })) : null;\n var nodeValue;\n if (computedChildren && computedChildren.length) {\n nodeValue = computedChildren.reduce((result, child) => result + child.value, 0);\n } else {\n var rawNodeValue = node[dataKey];\n var numericValue = typeof rawNodeValue === \"number\" ? rawNodeValue : 0;\n nodeValue = isNan(numericValue) || numericValue <= 0 ? 0 : numericValue;\n }\n return _objectSpread61(_objectSpread61({}, node), {}, {\n children: computedChildren,\n // @ts-expect-error getValueByDataKey does not validate the output type\n name: getValueByDataKey(node, nameKey, \"\"),\n [NODE_VALUE_KEY]: nodeValue,\n depth,\n index: index2,\n tooltipIndex: currentTooltipIndex\n });\n };\n var filterRect = (node) => ({\n x: node.x,\n y: node.y,\n width: node.width,\n height: node.height\n });\n var getAreaOfChildren = (children, areaValueRatio) => {\n var ratio = areaValueRatio < 0 ? 0 : areaValueRatio;\n return children.map((child) => {\n var area = child[NODE_VALUE_KEY] * ratio;\n return _objectSpread61(_objectSpread61({}, child), {}, {\n area: isNan(area) || area <= 0 ? 0 : area\n });\n });\n };\n var getWorstScore = (row, parentSize, aspectRatio) => {\n var parentArea = parentSize * parentSize;\n var rowArea = row.area * row.area;\n var {\n min: min3,\n max: max3\n } = row.reduce((result, child) => ({\n min: Math.min(result.min, child.area),\n max: Math.max(result.max, child.area)\n }), {\n min: Infinity,\n max: 0\n });\n return rowArea ? Math.max(parentArea * max3 * aspectRatio / rowArea, rowArea / (parentArea * min3 * aspectRatio)) : Infinity;\n };\n var horizontalPosition = (row, parentSize, parentRect, isFlush) => {\n var rowHeight = parentSize ? Math.round(row.area / parentSize) : 0;\n if (isFlush || rowHeight > parentRect.height) {\n rowHeight = parentRect.height;\n }\n var curX = parentRect.x;\n var child;\n for (var i = 0, len = row.length; i < len; i++) {\n child = row[i];\n if (child == null) {\n continue;\n }\n child.x = curX;\n child.y = parentRect.y;\n child.height = rowHeight;\n child.width = Math.min(rowHeight ? Math.round(child.area / rowHeight) : 0, parentRect.x + parentRect.width - curX);\n curX += child.width;\n }\n if (child != null) {\n child.width += parentRect.x + parentRect.width - curX;\n }\n return _objectSpread61(_objectSpread61({}, parentRect), {}, {\n y: parentRect.y + rowHeight,\n height: parentRect.height - rowHeight\n });\n };\n var verticalPosition = (row, parentSize, parentRect, isFlush) => {\n var rowWidth = parentSize ? Math.round(row.area / parentSize) : 0;\n if (isFlush || rowWidth > parentRect.width) {\n rowWidth = parentRect.width;\n }\n var curY = parentRect.y;\n var child;\n for (var i = 0, len = row.length; i < len; i++) {\n child = row[i];\n if (child == null) {\n continue;\n }\n child.x = parentRect.x;\n child.y = curY;\n child.width = rowWidth;\n child.height = Math.min(rowWidth ? Math.round(child.area / rowWidth) : 0, parentRect.y + parentRect.height - curY);\n curY += child.height;\n }\n if (child) {\n child.height += parentRect.y + parentRect.height - curY;\n }\n return _objectSpread61(_objectSpread61({}, parentRect), {}, {\n x: parentRect.x + rowWidth,\n width: parentRect.width - rowWidth\n });\n };\n var position = (row, parentSize, parentRect, isFlush) => {\n if (parentSize === parentRect.width) {\n return horizontalPosition(row, parentSize, parentRect, isFlush);\n }\n return verticalPosition(row, parentSize, parentRect, isFlush);\n };\n var squarify = (node, aspectRatio) => {\n var {\n children\n } = node;\n if (children && children.length) {\n var rect = filterRect(node);\n var row = [];\n var best = Infinity;\n var child, score;\n var size4 = Math.min(rect.width, rect.height);\n var scaleChildren = getAreaOfChildren(children, rect.width * rect.height / node[NODE_VALUE_KEY]);\n var tempChildren = scaleChildren.slice();\n row.area = 0;\n while (tempChildren.length > 0) {\n [child] = tempChildren;\n if (child == null) {\n continue;\n }\n row.push(child);\n row.area += child.area;\n score = getWorstScore(row, size4, aspectRatio);\n if (score <= best) {\n tempChildren.shift();\n best = score;\n } else {\n var _row$pop$area, _row$pop;\n row.area -= (_row$pop$area = (_row$pop = row.pop()) === null || _row$pop === void 0 ? void 0 : _row$pop.area) !== null && _row$pop$area !== void 0 ? _row$pop$area : 0;\n rect = position(row, size4, rect, false);\n size4 = Math.min(rect.width, rect.height);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n rect = position(row, size4, rect, true);\n row.length = row.area = 0;\n }\n return _objectSpread61(_objectSpread61({}, node), {}, {\n children: scaleChildren.map((c2) => squarify(c2, aspectRatio))\n });\n }\n return node;\n };\n var defaultTreeMapProps = _objectSpread61({\n aspectRatio: 0.5 * (1 + Math.sqrt(5)),\n dataKey: \"value\",\n nameKey: \"name\",\n type: \"flat\",\n isAnimationActive: \"auto\",\n isUpdateAnimationActive: \"auto\",\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"linear\"\n }, initialEventSettingsState);\n var defaultState = {\n isAnimationFinished: false,\n formatRoot: null,\n currentRoot: void 0,\n nestIndex: [],\n prevAspectRatio: defaultTreeMapProps.aspectRatio,\n prevDataKey: defaultTreeMapProps.dataKey\n };\n function ContentItem(_ref2) {\n var {\n content,\n nodeProps,\n type,\n colorPanel,\n onMouseEnter,\n onMouseLeave,\n onClick\n } = _ref2;\n if (/* @__PURE__ */ React123.isValidElement(content)) {\n return /* @__PURE__ */ React123.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }, /* @__PURE__ */ React123.cloneElement(content, nodeProps));\n }\n if (typeof content === \"function\") {\n return /* @__PURE__ */ React123.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }, content(nodeProps));\n }\n var {\n x: x2,\n y: y2,\n width,\n height,\n index: index2\n } = nodeProps;\n var arrow4 = null;\n if (width > 10 && height > 10 && nodeProps.children && type === \"nest\") {\n arrow4 = /* @__PURE__ */ React123.createElement(Polygon, {\n points: [{\n x: x2 + 2,\n y: y2 + height / 2\n }, {\n x: x2 + 6,\n y: y2 + height / 2 + 3\n }, {\n x: x2 + 2,\n y: y2 + height / 2 + 6\n }]\n });\n }\n var text = null;\n var nameSize = getStringSize(nodeProps.name);\n if (width > 20 && height > 20 && nameSize.width < width && nameSize.height < height) {\n text = /* @__PURE__ */ React123.createElement(\"text\", {\n x: x2 + 8,\n y: y2 + height / 2 + 7,\n fontSize: 14\n }, nodeProps.name);\n }\n var colors = colorPanel || COLOR_PANEL;\n return /* @__PURE__ */ React123.createElement(\"g\", null, /* @__PURE__ */ React123.createElement(Rectangle, _extends45({\n fill: nodeProps.depth < 2 ? colors[index2 % colors.length] : \"rgba(255,255,255,0)\",\n stroke: \"#fff\"\n }, (0, import_omit.default)(nodeProps, [\"children\"]), {\n onMouseEnter,\n onMouseLeave,\n onClick,\n \"data-recharts-item-index\": nodeProps.tooltipIndex\n })), arrow4, text);\n }\n function ContentItemWithEvents(props) {\n var dispatch = useAppDispatch();\n var activeCoordinate = {\n x: props.nodeProps.x + props.nodeProps.width / 2,\n y: props.nodeProps.y + props.nodeProps.height / 2\n };\n var onMouseEnter = () => {\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: props.nodeProps.tooltipIndex,\n activeDataKey: props.dataKey,\n activeCoordinate,\n activeGraphicalItemId: props.id\n }));\n };\n var onMouseLeave = () => {\n };\n var onClick = () => {\n dispatch(setActiveClickItemIndex({\n activeIndex: props.nodeProps.tooltipIndex,\n activeDataKey: props.dataKey,\n activeCoordinate,\n activeGraphicalItemId: props.id\n }));\n };\n return /* @__PURE__ */ React123.createElement(ContentItem, _extends45({}, props, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }));\n }\n var SetTreemapTooltipEntrySettings = /* @__PURE__ */ React123.memo((_ref3) => {\n var {\n dataKey,\n nameKey,\n stroke,\n fill,\n currentRoot,\n id\n } = _ref3;\n var tooltipEntrySettings = {\n dataDefinedOnItem: currentRoot,\n getPosition: noop4,\n // TODO I think Treemap has the capability of computing positions and supporting defaultIndex? Except it doesn't yet\n settings: {\n stroke,\n strokeWidth: void 0,\n fill,\n dataKey,\n nameKey,\n name: void 0,\n // Each TreemapNode has its own name\n hide: false,\n type: void 0,\n color: fill,\n unit: \"\",\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React123.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var defaultTreemapMargin = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n function TreemapItem(_ref4) {\n var {\n content,\n nodeProps,\n isLeaf,\n treemapProps,\n onNestClick\n } = _ref4;\n var {\n id,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n isUpdateAnimationActive,\n type,\n colorPanel,\n dataKey,\n onAnimationStart,\n onAnimationEnd,\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = treemapProps;\n var {\n width,\n height,\n x: x2,\n y: y2\n } = nodeProps;\n var translateX = -x2 - width;\n var translateY = 0;\n var onMouseEnter = (e) => {\n if ((isLeaf || type === \"nest\") && typeof onMouseEnterFromProps === \"function\") {\n onMouseEnterFromProps(nodeProps, e);\n }\n };\n var onMouseLeave = (e) => {\n if ((isLeaf || type === \"nest\") && typeof onMouseLeaveFromProps === \"function\") {\n onMouseLeaveFromProps(nodeProps, e);\n }\n };\n var onClick = () => {\n if (type === \"nest\") {\n onNestClick(nodeProps);\n }\n if ((isLeaf || type === \"nest\") && typeof onItemClickFromProps === \"function\") {\n onItemClickFromProps(nodeProps);\n }\n };\n var handleAnimationEnd = (0, import_react81.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react81.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n }, [onAnimationStart]);\n return /* @__PURE__ */ React123.createElement(CSSTransitionAnimate, {\n animationId: \"treemap-\".concat(nodeProps.tooltipIndex),\n from: \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\"),\n to: \"translate(0, 0)\",\n attributeName: \"transform\",\n begin: animationBegin,\n easing: animationEasing,\n isActive: isAnimationActive,\n duration: animationDuration,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd\n }, (style) => /* @__PURE__ */ React123.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n style: _objectSpread61(_objectSpread61({}, style), {}, {\n transformOrigin: \"\".concat(x2, \" \").concat(y2)\n })\n }, /* @__PURE__ */ React123.createElement(ContentItemWithEvents, {\n id,\n content,\n dataKey,\n nodeProps: _objectSpread61(_objectSpread61({}, nodeProps), {}, {\n isAnimationActive,\n isUpdateAnimationActive: !isUpdateAnimationActive,\n width,\n height,\n x: x2,\n y: y2\n }),\n type,\n colorPanel\n })));\n }\n var TreemapWithState = class extends import_react81.PureComponent {\n constructor() {\n super(...arguments);\n _defineProperty63(this, \"state\", _objectSpread61({}, defaultState));\n _defineProperty63(this, \"handleClick\", (node) => {\n var {\n onClick,\n type\n } = this.props;\n if (type === \"nest\" && node.children) {\n var {\n width,\n height,\n dataKey,\n nameKey,\n aspectRatio\n } = this.props;\n var root = computeNode({\n depth: 0,\n node: _objectSpread61(_objectSpread61({}, node), {}, {\n x: 0,\n y: 0,\n width,\n height\n }),\n index: 0,\n dataKey,\n nameKey,\n // with Treemap nesting, should this continue nesting the index or start from empty string?\n nestedActiveTooltipIndex: node.tooltipIndex\n });\n var formatRoot = squarify(root, aspectRatio);\n var {\n nestIndex\n } = this.state;\n nestIndex.push(node);\n this.setState({\n formatRoot,\n currentRoot: root,\n nestIndex\n });\n }\n if (onClick) {\n onClick(node);\n }\n });\n _defineProperty63(this, \"handleTouchMove\", (e) => {\n var touchEvent = e.touches[0];\n if (touchEvent == null) {\n return;\n }\n var target = document.elementFromPoint(touchEvent.clientX, touchEvent.clientY);\n if (!target || !target.getAttribute || this.state.formatRoot == null) {\n return;\n }\n var itemIndex = target.getAttribute(\"data-recharts-item-index\");\n var activeNode = treemapPayloadSearcher(this.state.formatRoot, itemIndex);\n if (!isTreemapNode(activeNode)) {\n return;\n }\n var {\n dataKey,\n dispatch\n } = this.props;\n var activeCoordinate = {\n x: activeNode.x + activeNode.width / 2,\n y: activeNode.y + activeNode.height / 2\n };\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: itemIndex,\n activeDataKey: dataKey,\n activeCoordinate,\n activeGraphicalItemId: this.props.id\n }));\n });\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.data !== prevState.prevData || nextProps.type !== prevState.prevType || nextProps.width !== prevState.prevWidth || nextProps.height !== prevState.prevHeight || nextProps.dataKey !== prevState.prevDataKey || nextProps.aspectRatio !== prevState.prevAspectRatio) {\n var root = computeNode({\n depth: 0,\n // @ts-expect-error missing properties\n node: {\n children: nextProps.data,\n x: 0,\n y: 0,\n width: nextProps.width,\n height: nextProps.height\n },\n index: 0,\n dataKey: nextProps.dataKey,\n nameKey: nextProps.nameKey\n });\n var formatRoot = squarify(root, nextProps.aspectRatio);\n return _objectSpread61(_objectSpread61({}, prevState), {}, {\n formatRoot,\n currentRoot: root,\n nestIndex: [root],\n prevAspectRatio: nextProps.aspectRatio,\n prevData: nextProps.data,\n prevWidth: nextProps.width,\n prevHeight: nextProps.height,\n prevDataKey: nextProps.dataKey,\n prevType: nextProps.type\n });\n }\n return null;\n }\n handleNestIndex(node, i) {\n var {\n nestIndex\n } = this.state;\n var {\n width,\n height,\n dataKey,\n nameKey,\n aspectRatio\n } = this.props;\n var root = computeNode({\n depth: 0,\n node: _objectSpread61(_objectSpread61({}, node), {}, {\n x: 0,\n y: 0,\n width,\n height\n }),\n index: 0,\n dataKey,\n nameKey,\n // with Treemap nesting, should this continue nesting the index or start from empty string?\n nestedActiveTooltipIndex: node.tooltipIndex\n });\n var formatRoot = squarify(root, aspectRatio);\n nestIndex = nestIndex.slice(0, i + 1);\n this.setState({\n formatRoot,\n currentRoot: node,\n nestIndex\n });\n }\n renderNode(root, node) {\n var {\n content,\n type\n } = this.props;\n var nodeProps = _objectSpread61(_objectSpread61(_objectSpread61({}, svgPropertiesNoEvents(this.props)), node), {}, {\n root\n });\n var isLeaf = !node.children || !node.children.length;\n var {\n currentRoot\n } = this.state;\n var isCurrentRootChild = ((currentRoot === null || currentRoot === void 0 ? void 0 : currentRoot.children) || []).filter((item) => item.depth === node.depth && item.name === node.name);\n if (!isCurrentRootChild.length && root.depth && type === \"nest\") {\n return null;\n }\n return /* @__PURE__ */ React123.createElement(Layer, {\n key: \"recharts-treemap-node-\".concat(nodeProps.x, \"-\").concat(nodeProps.y, \"-\").concat(nodeProps.name),\n className: \"recharts-treemap-depth-\".concat(node.depth)\n }, /* @__PURE__ */ React123.createElement(TreemapItem, {\n isLeaf,\n content,\n nodeProps,\n treemapProps: this.props,\n onNestClick: this.handleClick\n }), node.children && node.children.length ? node.children.map((child) => this.renderNode(node, child)) : null);\n }\n renderAllNodes() {\n var {\n formatRoot\n } = this.state;\n if (!formatRoot) {\n return null;\n }\n return this.renderNode(formatRoot, formatRoot);\n }\n // render nest treemap\n renderNestIndex() {\n var {\n nameKey,\n nestIndexContent\n } = this.props;\n var {\n nestIndex\n } = this.state;\n return /* @__PURE__ */ React123.createElement(\"div\", {\n className: \"recharts-treemap-nest-index-wrapper\",\n style: {\n marginTop: \"8px\",\n textAlign: \"center\"\n }\n }, nestIndex.map((item, i) => {\n var rawName = (0, import_get6.default)(item, nameKey, \"root\");\n var name = typeof rawName === \"string\" ? rawName : \"root\";\n var content;\n if (/* @__PURE__ */ React123.isValidElement(nestIndexContent)) {\n content = /* @__PURE__ */ React123.cloneElement(nestIndexContent, item, i);\n }\n if (typeof nestIndexContent === \"function\") {\n content = nestIndexContent(item, i);\n } else {\n content = name;\n }\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n /* @__PURE__ */ React123.createElement(\"div\", {\n onClick: this.handleNestIndex.bind(this, item, i),\n key: \"nest-index-\".concat(uniqueId()),\n className: \"recharts-treemap-nest-index-box\",\n style: {\n cursor: \"pointer\",\n display: \"inline-block\",\n padding: \"0 7px\",\n background: \"#000\",\n color: \"#fff\",\n marginRight: \"3px\"\n }\n }, content)\n );\n }));\n }\n render() {\n var _this$props = this.props, {\n width,\n height,\n className,\n style,\n children,\n type\n } = _this$props, others = _objectWithoutProperties35(_this$props, _excluded51);\n var attrs = svgPropertiesNoEvents(others);\n return /* @__PURE__ */ React123.createElement(React123.Fragment, null, /* @__PURE__ */ React123.createElement(SetTreemapTooltipEntrySettings, {\n dataKey: this.props.dataKey,\n nameKey: this.props.nameKey,\n stroke: this.props.stroke,\n fill: this.props.fill,\n currentRoot: this.state.currentRoot,\n id: this.props.id\n }), /* @__PURE__ */ React123.createElement(Surface, _extends45({}, attrs, {\n width,\n height: type === \"nest\" ? height - 30 : height,\n onTouchMove: this.handleTouchMove\n }), this.renderAllNodes(), children), type === \"nest\" && this.renderNestIndex());\n }\n };\n _defineProperty63(TreemapWithState, \"displayName\", \"Treemap\");\n function TreemapDispatchInject(props) {\n var dispatch = useAppDispatch();\n var width = useChartWidth();\n var height = useChartHeight();\n if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n return null;\n }\n var {\n id: externalId\n } = props;\n return /* @__PURE__ */ React123.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"treemap\"\n }, (id) => /* @__PURE__ */ React123.createElement(TreemapWithState, _extends45({}, props, {\n id,\n width,\n height,\n dispatch\n })));\n }\n function Treemap(outsideProps) {\n var _props$className;\n var props = resolveDefaultProps(outsideProps, defaultTreeMapProps);\n var {\n className,\n style,\n width,\n height,\n throttleDelay,\n throttledEvents\n } = props;\n var [tooltipPortal, setTooltipPortal] = (0, import_react81.useState)(null);\n return /* @__PURE__ */ React123.createElement(RechartsStoreProvider, {\n preloadedState: {\n options\n },\n reduxStoreName: (_props$className = props.className) !== null && _props$className !== void 0 ? _props$className : \"Treemap\"\n }, /* @__PURE__ */ React123.createElement(ReportChartMargin, {\n margin: defaultTreemapMargin\n }), /* @__PURE__ */ React123.createElement(ReportEventSettings, {\n throttleDelay,\n throttledEvents\n }), /* @__PURE__ */ React123.createElement(RechartsWrapper, {\n dispatchTouchEvents: false,\n className,\n style,\n width,\n height,\n responsive: false,\n ref: (node) => {\n if (tooltipPortal == null && node != null) {\n setTooltipPortal(node);\n }\n },\n onMouseEnter: void 0,\n onMouseLeave: void 0,\n onClick: void 0,\n onMouseMove: void 0,\n onMouseDown: void 0,\n onMouseUp: void 0,\n onContextMenu: void 0,\n onDoubleClick: void 0,\n onTouchStart: void 0,\n onTouchMove: void 0,\n onTouchEnd: void 0\n }, /* @__PURE__ */ React123.createElement(TooltipPortalContext.Provider, {\n value: tooltipPortal\n }, /* @__PURE__ */ React123.createElement(TreemapDispatchInject, props))));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RadarChart.js\n var React124 = __toESM(require_react());\n var import_react82 = __toESM(require_react());\n function ownKeys62(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread62(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys62(Object(t2), true).forEach(function(r3) {\n _defineProperty64(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys62(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty64(e, r2, t2) {\n return (r2 = _toPropertyKey64(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey64(t2) {\n var i = _toPrimitive64(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive64(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes4 = [\"axis\"];\n var defaultRadarChartProps = _objectSpread62(_objectSpread62({}, defaultPolarChartProps), {}, {\n layout: \"centric\",\n startAngle: 90,\n endAngle: -270\n });\n var RadarChart = /* @__PURE__ */ (0, import_react82.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultRadarChartProps);\n return /* @__PURE__ */ React124.createElement(PolarChart, {\n chartName: \"RadarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes4,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/ScatterChart.js\n var React125 = __toESM(require_react());\n var import_react83 = __toESM(require_react());\n var allowedTooltipTypes5 = [\"item\"];\n var ScatterChart = /* @__PURE__ */ (0, import_react83.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React125.createElement(CartesianChart, {\n chartName: \"ScatterChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes5,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/AreaChart.js\n var React126 = __toESM(require_react());\n var import_react84 = __toESM(require_react());\n var allowedTooltipTypes6 = [\"axis\"];\n var AreaChart = /* @__PURE__ */ (0, import_react84.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React126.createElement(CartesianChart, {\n chartName: \"AreaChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes6,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RadialBarChart.js\n var React127 = __toESM(require_react());\n var import_react85 = __toESM(require_react());\n function ownKeys63(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread63(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys63(Object(t2), true).forEach(function(r3) {\n _defineProperty65(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys63(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty65(e, r2, t2) {\n return (r2 = _toPropertyKey65(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey65(t2) {\n var i = _toPrimitive65(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive65(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes7 = [\"axis\", \"item\"];\n var defaultRadialBarChartProps = _objectSpread63(_objectSpread63({}, defaultPolarChartProps), {}, {\n layout: \"radial\",\n startAngle: 0,\n endAngle: 360\n });\n var RadialBarChart = /* @__PURE__ */ (0, import_react85.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultRadialBarChartProps);\n return /* @__PURE__ */ React127.createElement(PolarChart, {\n chartName: \"RadialBarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes7,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/ComposedChart.js\n var React128 = __toESM(require_react());\n var import_react86 = __toESM(require_react());\n var allowedTooltipTypes8 = [\"axis\"];\n var ComposedChart = /* @__PURE__ */ (0, import_react86.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React128.createElement(CartesianChart, {\n chartName: \"ComposedChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes8,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Funnel.js\n var React130 = __toESM(require_react());\n var import_react87 = __toESM(require_react());\n var import_omit2 = __toESM(require_omit2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/FunnelUtils.js\n var React129 = __toESM(require_react());\n function _extends46() {\n return _extends46 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends46.apply(null, arguments);\n }\n function FunnelTrapezoid(props) {\n return /* @__PURE__ */ React129.createElement(Shape, _extends46({\n shapeType: \"trapezoid\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/funnelSelectors.js\n function ownKeys64(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread64(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys64(Object(t2), true).forEach(function(r3) {\n _defineProperty66(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys64(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty66(e, r2, t2) {\n return (r2 = _toPropertyKey66(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey66(t2) {\n var i = _toPrimitive66(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive66(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var pickFunnelSettings = (_state, funnelSettings) => funnelSettings;\n var selectFunnelTrapezoids = createSelector([selectChartOffsetInternal, pickFunnelSettings, selectChartDataAndAlwaysIgnoreIndexes], (offset4, _ref2, _ref22) => {\n var {\n data,\n dataKey,\n nameKey,\n tooltipType,\n lastShapeType,\n reversed,\n customWidth,\n cells,\n presentationProps,\n id: graphicalItemId\n } = _ref2;\n var {\n chartData\n } = _ref22;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else if (chartData != null && chartData.length > 0) {\n displayedData = chartData;\n }\n if (displayedData && displayedData.length) {\n displayedData = displayedData.map((entry, index2) => _objectSpread64(_objectSpread64(_objectSpread64({\n payload: entry\n }, presentationProps), entry), cells && cells[index2] && cells[index2].props));\n } else if (cells && cells.length) {\n displayedData = cells.map((cell) => _objectSpread64(_objectSpread64({}, presentationProps), cell.props));\n } else {\n return [];\n }\n return computeFunnelTrapezoids({\n dataKey,\n nameKey,\n displayedData,\n tooltipType,\n lastShapeType,\n reversed,\n offset: offset4,\n customWidth,\n graphicalItemId\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Funnel.js\n var _excluded52 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\", \"shape\", \"activeShape\"];\n var _excluded218 = [\"id\"];\n var _excluded314 = [\"stroke\", \"fill\", \"legendType\", \"hide\", \"isAnimationActive\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"nameKey\", \"lastShapeType\", \"id\"];\n var _excluded410 = [\"id\"];\n function _extends47() {\n return _extends47 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends47.apply(null, arguments);\n }\n function _objectWithoutProperties36(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose36(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose36(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys65(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread65(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys65(Object(t2), true).forEach(function(r3) {\n _defineProperty67(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys65(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty67(e, r2, t2) {\n return (r2 = _toPropertyKey67(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey67(t2) {\n var i = _toPrimitive67(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive67(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var SetFunnelTooltipEntrySettings = /* @__PURE__ */ React130.memo((_ref2) => {\n var {\n dataKey,\n nameKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n data,\n trapezoids,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: (index2) => {\n var _trapezoids$Number;\n return (_trapezoids$Number = trapezoids[Number(index2)]) === null || _trapezoids$Number === void 0 ? void 0 : _trapezoids$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n name,\n nameKey,\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // Funnel does not have unit, why?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React130.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function FunnelLabelListProvider(_ref2) {\n var {\n showLabels,\n trapezoids,\n children\n } = _ref2;\n var labelListEntries = (0, import_react87.useMemo)(() => {\n if (!showLabels) {\n return void 0;\n }\n return trapezoids === null || trapezoids === void 0 ? void 0 : trapezoids.map((entry) => {\n var viewBox = entry.labelViewBox;\n return _objectSpread65(_objectSpread65({}, viewBox), {}, {\n value: entry.name,\n payload: entry.payload,\n parentViewBox: entry.parentViewBox,\n viewBox,\n fill: entry.fill\n });\n });\n }, [showLabels, trapezoids]);\n return /* @__PURE__ */ React130.createElement(CartesianLabelListContextProvider, {\n value: labelListEntries\n }, children);\n }\n function FunnelTrapezoids(props) {\n var {\n trapezoids,\n allOtherFunnelProps\n } = props;\n var activeItemIndex = useAppSelector((state2) => selectActiveIndex(state2, \"item\", state2.tooltip.settings.trigger, void 0));\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps,\n shape,\n activeShape\n } = allOtherFunnelProps, restOfAllOtherProps = _objectWithoutProperties36(allOtherFunnelProps, _excluded52);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherFunnelProps.dataKey, allOtherFunnelProps.id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherFunnelProps.dataKey, allOtherFunnelProps.id);\n return /* @__PURE__ */ React130.createElement(React130.Fragment, null, trapezoids.map((entry, i) => {\n var isActiveIndex = Boolean(activeShape) && activeItemIndex === String(i);\n var trapezoidOptions = isActiveIndex ? activeShape : shape;\n var _entry$option$isActiv = _objectSpread65(_objectSpread65({}, entry), {}, {\n option: trapezoidOptions,\n isActive: isActiveIndex,\n stroke: entry.stroke\n }), {\n id\n } = _entry$option$isActiv, trapezoidProps = _objectWithoutProperties36(_entry$option$isActiv, _excluded218);\n return /* @__PURE__ */ React130.createElement(Layer, _extends47({\n key: \"trapezoid-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.name, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value),\n className: \"recharts-funnel-trapezoid\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React130.createElement(FunnelTrapezoid, trapezoidProps));\n }));\n }\n function TrapezoidsWithAnimation(_ref3) {\n var {\n previousTrapezoidsRef,\n props\n } = _ref3;\n var {\n trapezoids,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevTrapezoids = previousTrapezoidsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react87.useState)(false);\n var showLabels = !isAnimating;\n var animationId = useAnimationId(trapezoids, \"recharts-funnel-\");\n var handleAnimationEnd = (0, import_react87.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react87.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React130.createElement(FunnelLabelListProvider, {\n showLabels,\n trapezoids\n }, /* @__PURE__ */ React130.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n key: animationId,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd\n }, (t2) => {\n var stepData = t2 === 1 ? trapezoids : trapezoids.map((entry, index2) => {\n var prev = prevTrapezoids && prevTrapezoids[index2];\n if (prev) {\n return _objectSpread65(_objectSpread65({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2),\n upperWidth: interpolate(prev.upperWidth, entry.upperWidth, t2),\n lowerWidth: interpolate(prev.lowerWidth, entry.lowerWidth, t2),\n height: interpolate(prev.height, entry.height, t2)\n });\n }\n return _objectSpread65(_objectSpread65({}, entry), {}, {\n x: interpolate(entry.x + entry.upperWidth / 2, entry.x, t2),\n y: interpolate(entry.y + entry.height / 2, entry.y, t2),\n upperWidth: interpolate(0, entry.upperWidth, t2),\n lowerWidth: interpolate(0, entry.lowerWidth, t2),\n height: interpolate(0, entry.height, t2)\n });\n });\n if (t2 > 0) {\n previousTrapezoidsRef.current = stepData;\n }\n return /* @__PURE__ */ React130.createElement(Layer, null, /* @__PURE__ */ React130.createElement(FunnelTrapezoids, {\n trapezoids: stepData,\n allOtherFunnelProps: props\n }));\n }), /* @__PURE__ */ React130.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderTrapezoids(props) {\n var previousTrapezoidsRef = (0, import_react87.useRef)(void 0);\n return /* @__PURE__ */ React130.createElement(TrapezoidsWithAnimation, {\n props,\n previousTrapezoidsRef\n });\n }\n var getRealWidthHeight = (customWidth, offset4) => {\n var {\n width,\n height,\n left,\n top\n } = offset4;\n var realWidth = getPercentValue(customWidth, width, width);\n return {\n realWidth,\n realHeight: height,\n offsetX: left,\n offsetY: top\n };\n };\n var defaultFunnelProps = {\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: \"ease\",\n fill: \"#808080\",\n hide: false,\n isAnimationActive: \"auto\",\n lastShapeType: \"triangle\",\n legendType: \"rect\",\n nameKey: \"name\",\n reversed: false,\n stroke: \"#fff\"\n };\n function FunnelImpl(props) {\n var plotArea = usePlotArea();\n var {\n stroke,\n fill,\n legendType,\n hide: hide4,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n nameKey,\n lastShapeType,\n id\n } = props, everythingElse = _objectWithoutProperties36(props, _excluded314);\n var presentationProps = svgPropertiesNoEvents(props);\n var cells = findAllByType(props.children, Cell);\n var funnelSettings = (0, import_react87.useMemo)(() => ({\n dataKey: props.dataKey,\n nameKey,\n data: props.data,\n tooltipType: props.tooltipType,\n lastShapeType,\n reversed: props.reversed,\n customWidth: props.width,\n cells,\n presentationProps,\n id\n }), [props.dataKey, nameKey, props.data, props.tooltipType, lastShapeType, props.reversed, props.width, cells, presentationProps, id]);\n var trapezoids = useAppSelector((state2) => selectFunnelTrapezoids(state2, funnelSettings));\n if (hide4 || !trapezoids || !trapezoids.length || !plotArea) {\n return null;\n }\n var {\n height,\n width\n } = plotArea;\n var layerClass = clsx(\"recharts-trapezoids\", props.className);\n return /* @__PURE__ */ React130.createElement(React130.Fragment, null, /* @__PURE__ */ React130.createElement(SetFunnelTooltipEntrySettings, {\n dataKey: props.dataKey,\n nameKey: props.nameKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n data: props.data,\n trapezoids,\n id\n }), /* @__PURE__ */ React130.createElement(Layer, {\n className: layerClass\n }, /* @__PURE__ */ React130.createElement(RenderTrapezoids, _extends47({}, everythingElse, {\n id,\n stroke,\n fill,\n nameKey,\n lastShapeType,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive,\n hide: hide4,\n legendType,\n height,\n width,\n trapezoids\n }))));\n }\n function computeFunnelTrapezoids(_ref4) {\n var {\n dataKey,\n nameKey,\n displayedData,\n tooltipType,\n lastShapeType,\n reversed,\n offset: offset4,\n customWidth,\n graphicalItemId\n } = _ref4;\n var {\n realHeight,\n realWidth,\n offsetX,\n offsetY\n } = getRealWidthHeight(customWidth, offset4);\n var values = displayedData.map((entry) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n return typeof val === \"number\" ? val : 0;\n });\n var maxValue = Math.max.apply(null, values);\n var len = displayedData.length;\n var rowHeight = realHeight / len;\n var parentViewBox = {\n x: offset4.left,\n y: offset4.top,\n width: offset4.width,\n height: offset4.height\n };\n var trapezoids = displayedData.map((entry, i) => {\n var rawVal = getValueByDataKey(entry, dataKey, 0);\n var name = String(getValueByDataKey(entry, nameKey, i));\n var val = rawVal;\n var nextVal;\n if (i !== len - 1) {\n var nextDataValue = getValueByDataKey(displayedData[i + 1], dataKey, 0);\n if (typeof nextDataValue === \"number\") {\n nextVal = nextDataValue;\n } else if (Array.isArray(nextDataValue)) {\n var [first, second2] = nextDataValue;\n if (typeof first === \"number\") {\n val = first;\n }\n if (typeof second2 === \"number\") {\n nextVal = second2;\n }\n }\n } else if (rawVal instanceof Array && rawVal.length === 2) {\n var [_first, _second] = rawVal;\n if (typeof _first === \"number\") {\n val = _first;\n }\n if (typeof _second === \"number\") {\n nextVal = _second;\n }\n } else if (lastShapeType === \"rectangle\") {\n nextVal = val;\n } else {\n nextVal = 0;\n }\n var x2 = (maxValue - val) * realWidth / (2 * maxValue) + offsetX;\n var y2 = rowHeight * i + offsetY;\n var upperWidth = val / maxValue * realWidth;\n var lowerWidth = nextVal / maxValue * realWidth;\n var tooltipPayload = [{\n name,\n value: val,\n payload: entry,\n dataKey,\n type: tooltipType,\n graphicalItemId\n }];\n var tooltipPosition = {\n x: x2 + upperWidth / 2,\n y: y2 + rowHeight / 2\n };\n var trapezoidViewBox = {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width: Math.max(upperWidth, lowerWidth),\n height: rowHeight\n };\n return _objectSpread65(_objectSpread65(_objectSpread65({}, trapezoidViewBox), {}, {\n name,\n val,\n tooltipPayload,\n tooltipPosition\n }, entry != null && typeof entry === \"object\" ? (0, import_omit2.default)(entry, [\"width\"]) : {}), {}, {\n payload: entry,\n parentViewBox,\n labelViewBox: trapezoidViewBox\n });\n });\n if (reversed) {\n trapezoids = trapezoids.map((entry, index2) => {\n var reversedViewBox = {\n x: entry.x - (entry.lowerWidth - entry.upperWidth) / 2,\n y: entry.y - index2 * rowHeight + (len - 1 - index2) * rowHeight,\n upperWidth: entry.lowerWidth,\n lowerWidth: entry.upperWidth,\n width: Math.max(entry.lowerWidth, entry.upperWidth),\n height: rowHeight\n };\n return _objectSpread65(_objectSpread65(_objectSpread65({}, entry), reversedViewBox), {}, {\n tooltipPosition: _objectSpread65(_objectSpread65({}, entry.tooltipPosition), {}, {\n y: entry.y - index2 * rowHeight + (len - 1 - index2) * rowHeight + rowHeight / 2\n }),\n labelViewBox: reversedViewBox\n });\n });\n }\n return trapezoids;\n }\n function FunnelFn(outsideProps) {\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, defaultFunnelProps), {\n id: externalId\n } = _resolveDefaultProps, props = _objectWithoutProperties36(_resolveDefaultProps, _excluded410);\n return /* @__PURE__ */ React130.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"funnel\"\n }, (id) => /* @__PURE__ */ React130.createElement(FunnelImpl, _extends47({}, props, {\n id\n })));\n }\n var Funnel2 = FunnelFn;\n Funnel2.displayName = \"Funnel\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/FunnelChart.js\n var React131 = __toESM(require_react());\n var import_react88 = __toESM(require_react());\n var allowedTooltipTypes9 = [\"item\"];\n var FunnelChart = /* @__PURE__ */ (0, import_react88.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React131.createElement(CartesianChart, {\n chartName: \"FunnelChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes9,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../react/src/components/chart.tsx\n var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);\n var THEMES = { light: \"\", dark: \".dark\" };\n var INITIAL_DIMENSION = { width: 320, height: 200 };\n var cssIdentifierPattern = /^[A-Za-z_][A-Za-z0-9_-]*$/;\n var cssColorPattern = /^(?:#[0-9A-Fa-f]{3,8}|(?:rgb|hsl)a?\\(\\s*[-+0-9.%]+\\s*(?:,\\s*[-+0-9.%]+\\s*){2}(?:,\\s*[-+0-9.]+\\s*)?\\)|(?:rgb|hsl)a?\\(\\s*[-+0-9.%]+\\s+[-+0-9.%]+\\s+[-+0-9.%]+(?:\\s*\\/\\s*[-+0-9.%]+)?\\s*\\)|[A-Za-z]+|var\\(--[A-Za-z0-9_-]+\\))$/;\n var chartCssVariableName = (key) => cssIdentifierPattern.test(key) ? `--color-${key}` : null;\n var chartCssColorValue = (color2) => {\n const trimmed = color2.trim();\n return cssColorPattern.test(trimmed) ? trimmed : null;\n };\n var ChartContext = React132.createContext(null);\n function useChart() {\n const context = React132.useContext(ChartContext);\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n return context;\n }\n function ChartContainer({\n id,\n className,\n children,\n config,\n initialDimension = INITIAL_DIMENSION,\n ...props\n }) {\n const uniqueId2 = React132.useId();\n const chartId = `chart-${id ?? uniqueId2.replace(/:/g, \"\")}`;\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n \"data-slot\": \"chart\",\n \"data-chart\": chartId,\n className: cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ChartStyle, { id: chartId, config }),\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ResponsiveContainer, { initialDimension, children })\n ]\n }\n ) });\n }\n var ChartStyle = ({ id, config }) => {\n const colorConfig = Object.entries(config).filter(([, config2]) => config2.theme ?? config2.color);\n if (!colorConfig.length) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: Object.entries(THEMES).map(\n ([theme, prefix2]) => `\n${prefix2} [data-chart=${id}] {\n${colorConfig.map(([key, itemConfig]) => {\n const color2 = itemConfig.theme?.[theme] ?? itemConfig.color;\n const variableName = chartCssVariableName(key);\n const colorValue = color2 ? chartCssColorValue(color2) : null;\n return variableName && colorValue ? ` ${variableName}: ${colorValue};` : null;\n }).filter((line) => line !== null).join(\"\\n\")}\n}\n`\n ).join(\"\\n\")\n }\n }\n );\n };\n var ChartTooltip = Tooltip3;\n function ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color: color2,\n nameKey,\n labelKey\n }) {\n const { config } = useChart();\n const tooltipLabel = React132.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n const [item] = payload;\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === \"string\" ? config[label]?.label ?? label : itemConfig?.label;\n if (labelFormatter) {\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: cn(\"font-medium\", labelClassName), children: labelFormatter(value, payload) });\n }\n if (!value) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: cn(\"font-medium\", labelClassName), children: value });\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n if (!active || !payload?.length) {\n return null;\n }\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n ),\n children: [\n !nestLabel ? tooltipLabel : null,\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: \"grid gap-1.5\", children: payload.filter((item) => item.type !== \"none\").map((item, index2) => {\n const key = `${nameKey ?? item.name ?? item.dataKey ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color2 ?? item.payload?.fill ?? item.color;\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n ),\n children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index2, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [\n itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\"\n }\n ),\n style: {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\"div\", { className: \"grid gap-1.5\", children: [\n nestLabel ? tooltipLabel : null,\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"span\", { className: \"text-muted-foreground\", children: itemConfig?.label ?? item.name })\n ] }),\n item.value != null && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"span\", { className: \"font-mono font-medium text-foreground tabular-nums\", children: typeof item.value === \"number\" ? item.value.toLocaleString() : String(item.value) })\n ]\n }\n )\n ] })\n },\n index2\n );\n }) })\n ]\n }\n );\n }\n var ChartLegend = Legend;\n function ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey\n }) {\n const { config } = useChart();\n if (!payload?.length) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n ),\n children: payload.filter((item) => item.type !== \"none\").map((item, index2) => {\n const key = `${nameKey ?? item.dataKey ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n ),\n children: [\n itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: \"h-2 w-2 shrink-0 rounded-[2px]\",\n style: {\n backgroundColor: item.color\n }\n }\n ),\n itemConfig?.label\n ]\n },\n index2\n );\n })\n }\n );\n }\n var isRecord = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value);\n function getPayloadConfigFromPayload(config, payload, key) {\n if (!isRecord(payload)) {\n return void 0;\n }\n const payloadPayload = isRecord(payload.payload) ? payload.payload : void 0;\n let configLabelKey = key;\n if (typeof payload[key] === \"string\") {\n configLabelKey = payload[key];\n } else if (payloadPayload && typeof payloadPayload[key] === \"string\") {\n configLabelKey = payloadPayload[key];\n }\n return configLabelKey in config ? config[configLabelKey] : config[key];\n }\n\n // src/shell/component-runtime.ts\n var createGeneratedCodeRequire = () => (specifier) => {\n if (specifier === \"react\") return import_react89.default;\n if (specifier === \"@tanstack/react-query\") return hooks_exports;\n if (specifier === \"recharts\" || specifier === \"lucide-react\" || specifier === \"./components\") {\n return components_exports;\n }\n throw new Error(\n `Generated UI cannot import \"${specifier}\". Everything needed is already in scope; remove the import.`\n );\n };\n var blockedNetworkPrimitive = (name) => function blockedNetworkPrimitive2() {\n throw new Error(`${name} is disabled in generated UI. Use tools.* via useQuery/useMutation.`);\n };\n function compileJsx(code) {\n const result = transform(code, {\n transforms: [\"jsx\", \"typescript\", \"imports\"],\n jsxRuntime: \"classic\",\n production: true\n });\n return result.code;\n }\n function evaluateComponent(compiled, tools) {\n const module = { exports: {} };\n const exports = module.exports;\n const scope = buildGeneratedCodeScope({ module, exports, tools });\n const scopeKeys = Object.keys(scope);\n const scopeValues = scopeKeys.map((k2) => scope[k2]);\n const wrappedCode = `\n \"use strict\";\n ${compiled}\n var __moduleExports = module && module.exports;\n var __defaultExport =\n __moduleExports && typeof __moduleExports === \"object\" && \"default\" in __moduleExports\n ? __moduleExports.default\n : exports && exports.default;\n var __comp = null;\n if (typeof App === \"function\") __comp = App;\n else if (typeof Component === \"function\") __comp = Component;\n else if (typeof Main === \"function\") __comp = Main;\n else if (typeof __defaultExport === \"function\") __comp = __defaultExport;\n else if (typeof __moduleExports === \"function\") __comp = __moduleExports;\n else if (exports && typeof exports.App === \"function\") __comp = exports.App;\n else if (exports && typeof exports.Component === \"function\") __comp = exports.Component;\n else if (exports && typeof exports.Main === \"function\") __comp = exports.Main;\n var __cfg = typeof config === \"object\" && config !== null ? config : {};\n return { component: __comp, config: __cfg };\n `;\n try {\n const factory = new Function(...scopeKeys, wrappedCode);\n const result = factory(...scopeValues);\n if (!result.component) {\n return { error: \"No component found. Export a function named App.\" };\n }\n return { component: result.component, config: result.config };\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n console.error(\"[executor-shell] Failed to evaluate component:\", err);\n return { error: `Evaluation error: ${msg}` };\n }\n }\n function buildGeneratedCodeScope(bindings) {\n const { module, exports, tools } = bindings;\n return {\n // React core\n React: import_react89.default,\n useState: import_react89.useState,\n useEffect: import_react89.useEffect,\n useRef: import_react89.useRef,\n useCallback: import_react89.useCallback,\n useMemo: import_react89.useMemo,\n useContext: import_react89.useContext,\n Fragment: import_react89.Fragment,\n createContext: import_react89.createContext,\n // Common module globals for resilient generated code evaluation.\n module,\n exports,\n require: createGeneratedCodeRequire(),\n // Defense in depth for direct network attempts. The inner iframe CSP is\n // the browser boundary; these shadows produce clearer runtime errors.\n fetch: blockedNetworkPrimitive(\"fetch\"),\n XMLHttpRequest: blockedNetworkPrimitive(\"XMLHttpRequest\"),\n WebSocket: blockedNetworkPrimitive(\"WebSocket\"),\n EventSource: blockedNetworkPrimitive(\"EventSource\"),\n Worker: blockedNetworkPrimitive(\"Worker\"),\n SharedWorker: blockedNetworkPrimitive(\"SharedWorker\"),\n // Data fetching\n useQuery: useQuery2,\n useInfiniteQuery: useInfiniteQuery2,\n useMutation: useMutation2,\n useQueryClient: useQueryClient2,\n queryOptions,\n infiniteQueryOptions,\n mutationOptions,\n skipToken,\n // The tools proxy is the ONLY way generated code reaches an integration.\n // There is deliberately no `run(code)` escape hatch: arbitrary code is\n // opaque to the invalidation helpers (a hand-rolled `queryKey` defeats\n // `queryFilter`) and to artifact analysis, which reads `tools.<path>`\n // references out of the source. Pagination, the one thing `run` was\n // reached for, is declarative through `.infiniteQueryOptions(...)`.\n tools,\n // All UI components, icons, chart primitives\n ...components_exports\n };\n }\n var PROVIDED_SCOPE_NAMES = Object.keys(\n buildGeneratedCodeScope({\n module: { exports: {} },\n exports: {},\n tools: {}\n })\n );\n\n // src/shell/tools-proxy.ts\n var toolScope = (path2, role) => role === void 0 ? [\"executor-tool\", path2] : [\"executor-tool\", path2, { role }];\n var toolQueryKey = (path2, role, input2) => [...toolScope(path2, role), { input: input2, type: \"query\" }];\n var toolInfiniteQueryKey = (path2, role, input2) => [...toolScope(path2, role), { input: input2, type: \"infinite\" }];\n var toolPathKey = (path2, role) => toolScope(path2, role);\n var toolMutationKey = (path2, role) => [\n ...toolScope(path2, role),\n { type: \"mutation\" }\n ];\n var queryFilter = (path2, role, input2, filters) => ({\n ...filters,\n queryKey: toolQueryKey(path2, role, input2)\n });\n var pathFilter = (path2, role, filters) => ({\n ...filters,\n queryKey: toolPathKey(path2, role)\n });\n var DEFAULT_CURSOR_KEY = \"cursor\";\n var withCursor = (input2, cursorKey, pageParam) => {\n const base = input2 === void 0 ? {} : input2;\n if (pageParam === null || pageParam === void 0) return base;\n const assign2 = (target, [segment, ...rest]) => {\n if (segment === void 0) return pageParam;\n const record = typeof target === \"object\" && target !== null && !Array.isArray(target) ? { ...target } : {};\n record[segment] = rest.length === 0 ? pageParam : assign2(record[segment], rest);\n return record;\n };\n return assign2(base, cursorKey.split(\".\"));\n };\n var createToolsProxy = (request) => {\n const nest = (path2, role) => new Proxy(function() {\n }, {\n get(_target, key) {\n if (key === \"then\" || key === \"toJSON\" || key === Symbol.toPrimitive) return void 0;\n if (typeof key !== \"string\") return void 0;\n if (key === \"queryOptions\") {\n return (input2, options2) => queryOptions({\n ...options2,\n queryKey: toolQueryKey(path2, role, input2 === skipToken ? void 0 : input2),\n queryFn: input2 === skipToken ? skipToken : () => request({\n path: path2,\n args: [input2 ?? {}],\n ...role === void 0 ? {} : { role }\n })\n });\n }\n if (key === \"infiniteQueryOptions\") {\n return (input2, options2) => {\n const {\n cursorKey = DEFAULT_CURSOR_KEY,\n initialPageParam = null,\n ...rest\n } = options2 ?? {};\n return infiniteQueryOptions({\n ...rest,\n initialPageParam,\n queryKey: toolInfiniteQueryKey(path2, role, input2 === skipToken ? void 0 : input2),\n queryFn: input2 === skipToken ? skipToken : ({ pageParam }) => request({\n path: path2,\n args: [withCursor(input2, cursorKey, pageParam)],\n ...role === void 0 ? {} : { role }\n })\n // oxlint-disable-next-line executor/no-double-cast -- boundary: TanStack's option types are generic over the page-param type the model supplies at runtime\n });\n };\n }\n if (key === \"infiniteQueryKey\") {\n return (input2) => toolInfiniteQueryKey(path2, role, input2);\n }\n if (key === \"infiniteQueryFilter\") {\n return (input2, filters) => ({\n ...filters,\n queryKey: toolInfiniteQueryKey(path2, role, input2)\n });\n }\n if (key === \"queryKey\") {\n return (input2) => toolQueryKey(path2, role, input2);\n }\n if (key === \"queryFilter\") {\n return (input2, filters) => queryFilter(path2, role, input2, filters);\n }\n if (key === \"pathKey\") {\n return () => toolPathKey(path2, role);\n }\n if (key === \"pathFilter\") {\n return (filters) => pathFilter(path2, role, filters);\n }\n if (key === \"mutationOptions\") {\n return (options2) => mutationOptions({\n ...options2,\n mutationKey: toolMutationKey(path2, role),\n mutationFn: (input2) => request({\n path: path2,\n args: [input2 ?? {}],\n ...role === void 0 ? {} : { role }\n })\n });\n }\n if (key === \"mutationKey\") {\n return () => toolMutationKey(path2, role);\n }\n return nest([...path2, key], role);\n },\n apply(_target, _thisArg, args) {\n const [only] = args;\n if (path2.length === 1 && role === void 0 && args.length === 1 && typeof only === \"string\") {\n return nest(path2, only);\n }\n return request({\n path: path2,\n args,\n ...role === void 0 ? {} : { role }\n });\n }\n });\n return nest([], void 0);\n };\n\n // src/shell/smoke-harness.tsx\n var sandboxGlobal2 = globalThis;\n var makeQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: { retry: false, refetchOnWindowFocus: false },\n mutations: { retry: false }\n }\n });\n var neverSettles = () => new Promise(() => {\n });\n var MARKUP_LIMIT_BYTES = 128 * 1024;\n var messageOf2 = (error) => error instanceof Error ? error.message : String(error);\n var render = async (code) => {\n try {\n const compiled = compileJsx(code);\n const evaluated = evaluateComponent(compiled, createToolsProxy(neverSettles));\n if (\"error\" in evaluated) return { status: \"failed\", message: evaluated.error };\n let failure;\n const tree = (0, import_react90.createElement)(\n import_react90.StrictMode,\n null,\n (0, import_react90.createElement)(\n TooltipProvider2,\n null,\n (0, import_react90.createElement)(\n QueryClientProvider,\n { client: makeQueryClient() },\n (0, import_react90.createElement)(evaluated.component)\n )\n )\n );\n const decoder = new TextDecoder();\n let markup = \"\";\n let truncated = false;\n try {\n const stream = await (0, import_server2.renderToReadableStream)(tree, {\n onError: (error, info) => {\n failure ??= {\n message: messageOf2(error),\n ...info.componentStack === void 0 ? {} : { componentStack: info.componentStack }\n };\n }\n });\n const reader = stream.getReader();\n for (; ; ) {\n const { done, value } = await reader.read();\n if (done) break;\n if (truncated) continue;\n markup += typeof value === \"string\" ? value : decoder.decode(value);\n if (markup.length > MARKUP_LIMIT_BYTES) {\n truncated = true;\n markup = \"\";\n }\n }\n } catch {\n if (failure) return { status: \"failed\", ...failure };\n return { status: \"ok\" };\n }\n if (failure) return { status: \"failed\", ...failure };\n return markup === \"\" ? { status: \"ok\" } : { status: \"ok\", markup };\n } catch (error) {\n return { status: \"failed\", message: messageOf2(error) };\n }\n };\n sandboxGlobal2[\"__executorSmokeRender\"] = async (code) => JSON.stringify(await render(code));\n})();\n/*! Bundled license information:\n\nreact/cjs/react.production.js:\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\nreact-dom/cjs/react-dom.production.js:\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\nreact-dom/cjs/react-dom-server-legacy.browser.production.js:\n (**\n * @license React\n * react-dom-server-legacy.browser.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\nreact-dom/cjs/react-dom-server.browser.production.js:\n (**\n * @license React\n * react-dom-server.browser.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\nreact/cjs/react-jsx-runtime.production.js:\n (**\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\nuse-sync-external-store/cjs/use-sync-external-store-shim.production.js:\n (**\n * @license React\n * use-sync-external-store-shim.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\nuse-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-shim/with-selector.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\nuse-sync-external-store/cjs/use-sync-external-store-with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-with-selector.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\ndecimal.js-light/decimal.js:\n (*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE *)\n\nreact-is/cjs/react-is.production.min.js:\n (**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils/mergeClasses.js:\nlucide-react/dist/esm/shared/src/utils/toKebabCase.js:\nlucide-react/dist/esm/shared/src/utils/toCamelCase.js:\nlucide-react/dist/esm/shared/src/utils/toPascalCase.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/shared/src/utils/hasA11yProp.js:\nlucide-react/dist/esm/context.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/activity.js:\nlucide-react/dist/esm/icons/arrow-down-wide-narrow.js:\nlucide-react/dist/esm/icons/arrow-down.js:\nlucide-react/dist/esm/icons/arrow-left.js:\nlucide-react/dist/esm/icons/arrow-right.js:\nlucide-react/dist/esm/icons/arrow-up-narrow-wide.js:\nlucide-react/dist/esm/icons/arrow-up-right.js:\nlucide-react/dist/esm/icons/arrow-up.js:\nlucide-react/dist/esm/icons/at-sign.js:\nlucide-react/dist/esm/icons/battery.js:\nlucide-react/dist/esm/icons/bookmark.js:\nlucide-react/dist/esm/icons/box.js:\nlucide-react/dist/esm/icons/calendar.js:\nlucide-react/dist/esm/icons/chart-column.js:\nlucide-react/dist/esm/icons/chart-pie.js:\nlucide-react/dist/esm/icons/check.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-left.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/chevron-up.js:\nlucide-react/dist/esm/icons/chevrons-up-down.js:\nlucide-react/dist/esm/icons/circle-alert.js:\nlucide-react/dist/esm/icons/circle.js:\nlucide-react/dist/esm/icons/clock.js:\nlucide-react/dist/esm/icons/cloud-rain.js:\nlucide-react/dist/esm/icons/code.js:\nlucide-react/dist/esm/icons/copy.js:\nlucide-react/dist/esm/icons/cpu.js:\nlucide-react/dist/esm/icons/database.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/ellipsis-vertical.js:\nlucide-react/dist/esm/icons/ellipsis.js:\nlucide-react/dist/esm/icons/external-link.js:\nlucide-react/dist/esm/icons/eye-off.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/file.js:\nlucide-react/dist/esm/icons/folder-open.js:\nlucide-react/dist/esm/icons/folder.js:\nlucide-react/dist/esm/icons/funnel.js:\nlucide-react/dist/esm/icons/git-commit-horizontal.js:\nlucide-react/dist/esm/icons/git-branch.js:\nlucide-react/dist/esm/icons/git-pull-request.js:\nlucide-react/dist/esm/icons/globe.js:\nlucide-react/dist/esm/icons/grip.js:\nlucide-react/dist/esm/icons/grip-vertical.js:\nlucide-react/dist/esm/icons/hash.js:\nlucide-react/dist/esm/icons/heart.js:\nlucide-react/dist/esm/icons/hexagon.js:\nlucide-react/dist/esm/icons/house.js:\nlucide-react/dist/esm/icons/image.js:\nlucide-react/dist/esm/icons/info.js:\nlucide-react/dist/esm/icons/key.js:\nlucide-react/dist/esm/icons/link.js:\nlucide-react/dist/esm/icons/loader-circle.js:\nlucide-react/dist/esm/icons/lock-open.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/mail.js:\nlucide-react/dist/esm/icons/map-pin.js:\nlucide-react/dist/esm/icons/menu.js:\nlucide-react/dist/esm/icons/message-square.js:\nlucide-react/dist/esm/icons/mic.js:\nlucide-react/dist/esm/icons/minus.js:\nlucide-react/dist/esm/icons/moon.js:\nlucide-react/dist/esm/icons/package.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/pause.js:\nlucide-react/dist/esm/icons/phone.js:\nlucide-react/dist/esm/icons/play.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/refresh-cw.js:\nlucide-react/dist/esm/icons/rotate-ccw.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/send.js:\nlucide-react/dist/esm/icons/server.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield.js:\nlucide-react/dist/esm/icons/square-pen.js:\nlucide-react/dist/esm/icons/square.js:\nlucide-react/dist/esm/icons/star.js:\nlucide-react/dist/esm/icons/sun.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/terminal.js:\nlucide-react/dist/esm/icons/thermometer.js:\nlucide-react/dist/esm/icons/trash-2.js:\nlucide-react/dist/esm/icons/trending-down.js:\nlucide-react/dist/esm/icons/trending-up.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/triangle.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/users.js:\nlucide-react/dist/esm/icons/video.js:\nlucide-react/dist/esm/icons/volume-2.js:\nlucide-react/dist/esm/icons/volume-x.js:\nlucide-react/dist/esm/icons/wifi-off.js:\nlucide-react/dist/esm/icons/wifi.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/icons/zap.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n";15const bundle: string | null = "\"use strict\";\n(() => {\n var __create = Object.create;\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __getProtoOf = Object.getPrototypeOf;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n };\n var __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps = (to2, from2, except, desc) => {\n if (from2 && typeof from2 === \"object\" || typeof from2 === \"function\") {\n for (let key of __getOwnPropNames(from2))\n if (!__hasOwnProp.call(to2, key) && key !== except)\n __defProp(to2, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });\n }\n return to2;\n };\n var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n ));\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react.production.js\n var require_react_production = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react.production.js\"(exports) {\n \"use strict\";\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var ReactNoopUpdateQueue = {\n isMounted: function() {\n return false;\n },\n enqueueForceUpdate: function() {\n },\n enqueueReplaceState: function() {\n },\n enqueueSetState: function() {\n }\n };\n var assign2 = Object.assign;\n var emptyObject = {};\n function Component2(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n Component2.prototype.isReactComponent = {};\n Component2.prototype.setState = function(partialState, callback) {\n if (\"object\" !== typeof partialState && \"function\" !== typeof partialState && null != partialState)\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 };\n Component2.prototype.forceUpdate = function(callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n function ComponentDummy() {\n }\n ComponentDummy.prototype = Component2.prototype;\n function PureComponent6(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n var pureComponentPrototype = PureComponent6.prototype = new ComponentDummy();\n pureComponentPrototype.constructor = PureComponent6;\n assign2(pureComponentPrototype, Component2.prototype);\n pureComponentPrototype.isPureReactComponent = true;\n var isArrayImpl = Array.isArray;\n function noop7() {\n }\n var ReactSharedInternals = { H: null, A: null, T: null, S: null };\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n function ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type,\n key,\n ref: void 0 !== refProp ? refProp : null,\n props\n };\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n }\n function isValidElement27(object) {\n return \"object\" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return \"$\" + key.replace(/[=:]/g, function(match2) {\n return escaperLookup[match2];\n });\n }\n var userProvidedKeyEscapeRegex = /\\/+/g;\n function getElementKey(element, index2) {\n return \"object\" === typeof element && null !== element && null != element.key ? escape(\"\" + element.key) : index2.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenable.status = \"pending\", thenable.then(\n function(fulfilledValue) {\n \"pending\" === thenable.status && (thenable.status = \"fulfilled\", thenable.value = fulfilledValue);\n },\n function(error) {\n \"pending\" === thenable.status && (thenable.status = \"rejected\", thenable.reason = error);\n }\n )), thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array2, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = false;\n if (null === children) invokeCallback = true;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = true;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n break;\n case REACT_LAZY_TYPE:\n return invokeCallback = children._init, mapIntoArray(\n invokeCallback(children._payload),\n array2,\n escapedPrefix,\n nameSoFar,\n callback\n );\n }\n }\n if (invokeCallback)\n return callback = callback(children), invokeCallback = \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar, isArrayImpl(callback) ? (escapedPrefix = \"\", null != invokeCallback && (escapedPrefix = invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"), mapIntoArray(callback, array2, escapedPrefix, \"\", function(c2) {\n return c2;\n })) : null != callback && (isValidElement27(callback) && (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix + (null == callback.key || children && children.key === callback.key ? \"\" : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") + invokeCallback\n )), array2.push(callback)), 1;\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], type = nextNamePrefix + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(\n nameSoFar,\n array2,\n escapedPrefix,\n type,\n callback\n );\n else if (i = getIteratorFn(children), \"function\" === typeof i)\n for (children = i.call(children), i = 0; !(nameSoFar = children.next()).done; )\n nameSoFar = nameSoFar.value, type = nextNamePrefix + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(\n nameSoFar,\n array2,\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 array2,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array2 = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" + (\"[object Object]\" === array2 ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\" : array2) + \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [], count3 = 0;\n mapIntoArray(children, result, \"\", \"\", function(child) {\n return func.call(context, child, count3++);\n });\n return result;\n }\n function 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 }\n var reportGlobalError = \"function\" === typeof reportError ? reportError : function(error) {\n if (\"object\" === typeof window && \"function\" === typeof window.ErrorEvent) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: true,\n cancelable: true,\n message: \"object\" === typeof error && null !== error && \"string\" === typeof error.message ? String(error.message) : String(error),\n error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\"object\" === typeof process && \"function\" === typeof process.emit) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\n var Children8 = {\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 mapChildren(children, function(child) {\n return child;\n }) || [];\n },\n only: function(children) {\n if (!isValidElement27(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = Children8;\n exports.Component = Component2;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent6;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;\n exports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function(size4) {\n return ReactSharedInternals.H.useMemoCache(size4);\n }\n };\n exports.cache = function(fn) {\n return function() {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function() {\n return null;\n };\n exports.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 = assign2({}, element.props), key = element.key;\n if (null != config)\n for (propName in void 0 !== config.key && (key = \"\" + config.key), config)\n !hasOwnProperty.call(config, propName) || \"key\" === propName || \"__self\" === propName || \"__source\" === propName || \"ref\" === propName && void 0 === config.ref || (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 };\n exports.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 };\n exports.createElement = function(type, config, children) {\n var propName, props = {}, key = null;\n if (null != config)\n for (propName in void 0 !== config.key && (key = \"\" + config.key), config)\n hasOwnProperty.call(config, propName) && \"key\" !== propName && \"__self\" !== propName && \"__source\" !== propName && (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] && (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n };\n exports.createRef = function() {\n return { current: null };\n };\n exports.forwardRef = function(render2) {\n return { $$typeof: REACT_FORWARD_REF_TYPE2, render: render2 };\n };\n exports.isValidElement = isValidElement27;\n exports.lazy = function(ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n };\n exports.memo = function(type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE2,\n type,\n compare: void 0 === compare ? null : compare\n };\n };\n exports.startTransition = function(scope) {\n var prevTransition = ReactSharedInternals.T, currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue && null !== returnValue && \"function\" === typeof returnValue.then && returnValue.then(noop7, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition && null !== currentTransition.types && (prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;\n }\n };\n exports.unstable_useCacheRefresh = function() {\n return ReactSharedInternals.H.useCacheRefresh();\n };\n exports.use = function(usable) {\n return ReactSharedInternals.H.use(usable);\n };\n exports.useActionState = function(action, initialState15, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState15, permalink);\n };\n exports.useCallback = function(callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n };\n exports.useContext = function(Context) {\n return ReactSharedInternals.H.useContext(Context);\n };\n exports.useDebugValue = function() {\n };\n exports.useDeferredValue = function(value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n };\n exports.useEffect = function(create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n };\n exports.useEffectEvent = function(callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n };\n exports.useId = function() {\n return ReactSharedInternals.H.useId();\n };\n exports.useImperativeHandle = function(ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function(create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function(create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n };\n exports.useMemo = function(create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n };\n exports.useOptimistic = function(passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function(reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n };\n exports.useRef = function(initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n };\n exports.useState = function(initialState15) {\n return ReactSharedInternals.H.useState(initialState15);\n };\n exports.useSyncExternalStore = function(subscribe2, getSnapshot, getServerSnapshot) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe2,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function() {\n return ReactSharedInternals.H.useTransition();\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/index.js\n var require_react = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom.production.js\n var require_react_dom_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n function noop7() {\n }\n var Internals = {\n d: {\n f: noop7,\n r: function() {\n throw Error(formatProdErrorMessage3(522));\n },\n D: noop7,\n C: noop7,\n L: noop7,\n m: noop7,\n X: noop7,\n S: noop7,\n M: noop7\n },\n p: 0,\n findDOMNode: null\n };\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n function createPortal$1(children, containerInfo, implementation) {\n var key = 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,\n containerInfo,\n implementation\n };\n }\n var ReactSharedInternals = React137.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n function getCrossOriginStringAs(as, input2) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input2)\n return \"use-credentials\" === input2 ? input2 : \"\";\n }\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;\n exports.createPortal = function(children, container) {\n var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)\n throw Error(formatProdErrorMessage3(299));\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function(fn) {\n var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;\n try {\n if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();\n } finally {\n ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f();\n }\n };\n exports.preconnect = function(href, options2) {\n \"string\" === typeof href && (options2 ? (options2 = options2.crossOrigin, options2 = \"string\" === typeof options2 ? \"use-credentials\" === options2 ? options2 : \"\" : void 0) : options2 = null, Internals.d.C(href, options2));\n };\n exports.prefetchDNS = function(href) {\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function(href, options2) {\n if (\"string\" === typeof href && options2 && \"string\" === typeof options2.as) {\n var as = options2.as, crossOrigin = getCrossOriginStringAs(as, options2.crossOrigin), integrity = \"string\" === typeof options2.integrity ? options2.integrity : void 0, fetchPriority = \"string\" === typeof options2.fetchPriority ? options2.fetchPriority : void 0;\n \"style\" === as ? Internals.d.S(\n href,\n \"string\" === typeof options2.precedence ? options2.precedence : void 0,\n {\n crossOrigin,\n integrity,\n fetchPriority\n }\n ) : \"script\" === as && Internals.d.X(href, {\n crossOrigin,\n integrity,\n fetchPriority,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0\n });\n }\n };\n exports.preinitModule = function(href, options2) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options2 && null !== options2) {\n if (null == options2.as || \"script\" === options2.as) {\n var crossOrigin = getCrossOriginStringAs(\n options2.as,\n options2.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0\n });\n }\n } else null == options2 && Internals.d.M(href);\n };\n exports.preload = function(href, options2) {\n if (\"string\" === typeof href && \"object\" === typeof options2 && null !== options2 && \"string\" === typeof options2.as) {\n var as = options2.as, crossOrigin = getCrossOriginStringAs(as, options2.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0,\n nonce: \"string\" === typeof options2.nonce ? options2.nonce : void 0,\n type: \"string\" === typeof options2.type ? options2.type : void 0,\n fetchPriority: \"string\" === typeof options2.fetchPriority ? options2.fetchPriority : void 0,\n referrerPolicy: \"string\" === typeof options2.referrerPolicy ? options2.referrerPolicy : void 0,\n imageSrcSet: \"string\" === typeof options2.imageSrcSet ? options2.imageSrcSet : void 0,\n imageSizes: \"string\" === typeof options2.imageSizes ? options2.imageSizes : void 0,\n media: \"string\" === typeof options2.media ? options2.media : void 0\n });\n }\n };\n exports.preloadModule = function(href, options2) {\n if (\"string\" === typeof href)\n if (options2) {\n var crossOrigin = getCrossOriginStringAs(options2.as, options2.crossOrigin);\n Internals.d.m(href, {\n as: \"string\" === typeof options2.as && \"script\" !== options2.as ? options2.as : void 0,\n crossOrigin,\n integrity: \"string\" === typeof options2.integrity ? options2.integrity : void 0\n });\n } else Internals.d.m(href);\n };\n exports.requestFormReset = function(form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function(fn, a2) {\n return fn(a2);\n };\n exports.useFormState = function(action, initialState15, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState15, permalink);\n };\n exports.useFormStatus = function() {\n return ReactSharedInternals.H.useHostTransitionStatus();\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/index.js\n var require_react_dom = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/index.js\"(exports, module) {\n \"use strict\";\n function checkDCE() {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === \"undefined\" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== \"function\") {\n return;\n }\n if (false) {\n throw new Error(\"^_^\");\n }\n try {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n console.error(err);\n }\n }\n if (true) {\n checkDCE();\n module.exports = require_react_dom_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js\n var require_react_dom_server_legacy_browser_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n var ReactDOM5 = require_react_dom();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for(\"react.scope\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for(\"react.legacy_hidden\");\n var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for(\"react.memo_cache_sentinel\");\n var REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for(\"react.view_transition\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var isArrayImpl = Array.isArray;\n function murmurhash3_32_gc(key, seed2) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed2;\n for (seed2 = 0; seed2 < bytes; ) {\n var k1 = key.charCodeAt(seed2) & 255 | (key.charCodeAt(++seed2) & 255) << 8 | (key.charCodeAt(++seed2) & 255) << 16 | (key.charCodeAt(++seed2) & 255) << 24;\n ++seed2;\n k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed2 + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed2 + 1) & 255) << 8;\n case 1:\n k1 ^= key.charCodeAt(seed2) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 13;\n h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n return (h1 ^ h1 >>> 16) >>> 0;\n }\n var assign2 = Object.assign;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var 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 var illegalAttributeNameCache = {};\n var validatedAttributeNameCache = {};\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return true;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return validatedAttributeNameCache[attributeName] = true;\n illegalAttributeNameCache[attributeName] = true;\n return false;\n }\n var 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 );\n var aliases = /* @__PURE__ */ 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 var matchHtmlRegExp = /[\"'&<>]/;\n function escapeTextForBrowser(text) {\n if (\"boolean\" === typeof text || \"number\" === typeof text || \"bigint\" === typeof text)\n return \"\" + text;\n text = \"\" + text;\n var match2 = matchHtmlRegExp.exec(text);\n if (match2) {\n var html = \"\", index2, lastIndex = 0;\n for (index2 = match2.index; index2 < text.length; index2++) {\n switch (text.charCodeAt(index2)) {\n case 34:\n match2 = \"&quot;\";\n break;\n case 38:\n match2 = \"&amp;\";\n break;\n case 39:\n match2 = \"&#x27;\";\n break;\n case 60:\n match2 = \"&lt;\";\n break;\n case 62:\n match2 = \"&gt;\";\n break;\n default:\n continue;\n }\n lastIndex !== index2 && (html += text.slice(lastIndex, index2));\n lastIndex = index2 + 1;\n html += match2;\n }\n text = lastIndex !== index2 ? html + text.slice(lastIndex, index2) : html;\n }\n return text;\n }\n var uppercasePattern = /([A-Z])/g;\n var msPattern = /^ms-/;\n var isJavaScriptProtocol = /^[\\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;\n function sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url) ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\" : url;\n }\n var ReactSharedInternals = React137.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var ReactDOMSharedInternals = ReactDOM5.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var sharedNotPendingObject = {\n pending: false,\n data: null,\n method: null,\n action: null\n };\n var previousDispatcher = ReactDOMSharedInternals.d;\n ReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n };\n var PRELOAD_NO_CREDS = [];\n var currentlyFlushingRenderState = null;\n var scriptRegex = /(<\\/|<)(s)(cript)/gi;\n function scriptReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\u0073\" : \"\\\\u0053\") + suffix3;\n }\n function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules,\n instructions: 0,\n hasBody: false,\n hasHtml: false,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n }\n function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {\n return {\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n };\n }\n function getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n ) : parentContext;\n }\n function getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition ? null : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n }\n function getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n }\n function getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState && \"none\" !== resumableState.share && (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n }\n var styleNameCache = /* @__PURE__ */ new Map();\n function pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage3(62));\n var isFirst = true, styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (null != styleValue && \"boolean\" !== typeof styleValue && \"\" !== styleValue) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = escapeTextForBrowser(styleName);\n styleValue = escapeTextForBrowser((\"\" + styleValue).trim());\n } else\n nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = escapeTextForBrowser(\n styleName.replace(uppercasePattern, \"-$1\").toLowerCase().replace(msPattern, \"-ms-\")\n ), styleNameCache.set(styleName, nameChunk)), styleValue = \"number\" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? \"\" + styleValue : styleValue + \"px\" : escapeTextForBrowser((\"\" + styleValue).trim());\n isFirst ? (isFirst = false, target.push(' style=\"', nameChunk, \":\", styleValue)) : target.push(\";\", nameChunk, \":\", styleValue);\n }\n }\n isFirst || target.push('\"');\n }\n function pushBooleanAttribute(target, name, value) {\n value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"\"');\n }\n function pushStringAttribute(target, name, value) {\n \"function\" !== typeof value && \"symbol\" !== typeof value && \"boolean\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n var actionJavaScriptURL = escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n );\n function pushAdditionalFormField(value, key) {\n this.push('<input type=\"hidden\"');\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(\"/>\");\n }\n function validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage3(480));\n }\n function getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then)\n throw x2;\n }\n }\n return null;\n }\n function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields ? (name = customFields.name, formAction = customFields.action || \"\", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(\" \", \"formAction\", '=\"', actionJavaScriptURL, '\"'), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n }\n function pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (null == value || \"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", \"xlink:href\", '=\"', escapeTextForBrowser(value), '\"');\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 \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\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 && target.push(\" \", name, '=\"\"');\n break;\n case \"capture\":\n case \"download\":\n true === value ? target.push(\" \", name, '=\"\"') : false !== value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value && \"symbol\" !== typeof value && !isNaN(value) && 1 <= value && target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value || \"symbol\" === typeof value || isNaN(value) || target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (!(2 < name.length) || \"o\" !== name[0] && \"O\" !== name[0] || \"n\" !== name[1] && \"N\" !== name[1]) {\n if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n }\n }\n }\n function pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage3(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(\"\" + innerHTML);\n }\n }\n function flattenOptionChildren(children) {\n var content = \"\";\n React137.Children.forEach(children, function(child) {\n null != child && (content += child);\n });\n return content;\n }\n function injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n \">\",\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`,\n \"<\\/script>\"\n )) : bootstrapChunks.unshift(\n renderState.startInlineScript,\n \">\",\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`,\n \"<\\/script>\"\n );\n }\n }\n function pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n }\n var styleRegex = /(<\\/|<)(s)(tyle)/gi;\n function styleReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\73 \" : \"\\\\53 \") + suffix3;\n }\n function pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n }\n function pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;\n \"function\" !== typeof props && \"symbol\" !== typeof props && null !== props && void 0 !== props && target.push(escapeTextForBrowser(\"\" + props));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n }\n function pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children && target.push((\"\" + children).replace(scriptRegex, scriptReplacer));\n target.push(endChunkForTag(\"script\"));\n return null;\n }\n function pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n }\n function pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag ? (target.push(escapeTextForBrowser(tag)), null) : tag;\n }\n var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n var validatedTagCache = /* @__PURE__ */ new Map();\n function startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage3(65, tag));\n tagStartChunk = \"<\" + tag;\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n }\n function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue ? pushStringAttribute(target$jscomp$0, \"href\", \"\") : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(escapeTextForBrowser(children));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue = null !== value ? \"\" + value : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(' selected=\"\"');\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue && target$jscomp$0.push(' selected=\"\"');\n } else selected && target$jscomp$0.push(' selected=\"\"');\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(\">\");\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage3(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage3(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 && \"\\n\" === value$jscomp$0[0] && target$jscomp$0.push(\"\\n\");\n null !== value$jscomp$0 && target$jscomp$0.push(escapeTextForBrowser(\"\" + value$jscomp$0));\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(\"/>\");\n null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(\">\");\n null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3));\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null, formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields ? (formAction$jscomp$1 = customFields.action || \"\", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(\n \" \",\n \"action\",\n '=\"',\n actionJavaScriptURL,\n '\"'\n ), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(\">\");\n null !== formActionName && (target$jscomp$0.push('<input type=\"hidden\"'), pushStringAttribute(target$jscomp$0, \"name\", formActionName), target$jscomp$0.push(\"/>\"), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4));\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(\">\");\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n \" \",\n \"data\",\n '=\"',\n escapeTextForBrowser(sanitizedValue),\n '\"'\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5));\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || \"string\" !== typeof rel || \"string\" !== typeof href || \"\" === href) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\"string\" !== typeof precedence || null != props.disabled || props.onLoad || props.onError)\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue || (styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign2({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ) : (textEmbedded && target$jscomp$0.push(\"<!-- -->\"), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;\n if (\"string\" !== typeof props.src || !props.src || !asyncProp || \"function\" === typeof asyncProp || \"symbol\" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;\n var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length && (scriptProps = assign2({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || \"string\" !== typeof precedence$jscomp$0 || \"string\" !== typeof href$jscomp$0 || \"\" === href$jscomp$0) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(\">\");\n var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;\n \"function\" !== typeof child && \"symbol\" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push((\"\" + child).replace(styleRegex, styleReplacer));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {\n precedence: escapeTextForBrowser(precedence$jscomp$0),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(escapeTextForBrowser(href$jscomp$0));\n var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 && \"symbol\" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(\"<!-- -->\");\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(\"<!-- -->\"), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : \"string\" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, \"meta\") : \"viewport\" === props.name ? pushSelfClosing(renderState.viewportChunks, props, \"meta\") : pushSelfClosing(renderState.hoistableChunks, props, \"meta\");\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(\">\");\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML$jscomp$7 || !(\"__html\" in innerHTML$jscomp$7))\n throw Error(formatProdErrorMessage3(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html && void 0 !== html && (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0] ? target$jscomp$0.push(\"\\n\", html) : target$jscomp$0.push(\"\" + html));\n }\n \"string\" === typeof children$jscomp$8 && \"\\n\" === children$jscomp$8[0] && target$jscomp$0.push(\"\\n\");\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;\n if (!(\"lazy\" === props.loading || !src && !srcSet || \"string\" !== typeof src && null != src || \"string\" !== typeof srcSet && null != srcSet || \"low\" === props.fetchPriority || pictureOrNoScriptTagInScope) && (\"string\" !== typeof src || \":\" !== src[4] || \"d\" !== src[0] && \"D\" !== src[0] || \"a\" !== src[1] && \"A\" !== src[1] || \"t\" !== src[2] && \"T\" !== src[2] || \"a\" !== src[3] && \"A\" !== src[3]) && (\"string\" !== typeof srcSet || \":\" !== srcSet[4] || \"d\" !== srcSet[0] && \"D\" !== srcSet[0] || \"a\" !== srcSet[1] && \"A\" !== srcSet[1] || \"t\" !== srcSet[2] && \"T\" !== srcSet[2] || \"a\" !== srcSet[3] && \"A\" !== srcSet[3])) {\n null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size)\n promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input2 = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 = \"string\" === typeof input2 ? \"use-credentials\" === input2 ? input2 : \"\" : void 0;\n var headers = renderState.headers, header;\n headers && 0 < headers.remainingCapacity && \"string\" !== typeof props.srcSet && (\"high\" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n }), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += \", \"), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }), \"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\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 break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage3(545, \"`<head>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--head-->\");\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage3(545, \"`<body>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--body-->\");\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage3(545, \"`<html>`\"));\n null !== preambleState && target$jscomp$0.push(\"<!--html-->\");\n preamble$jscomp$1.htmlChunks = [\"\"];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (isAttributeNameSafe(propKey$jscomp$11) && \"function\" !== typeof propValue$jscomp$11 && \"symbol\" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {\n if (true === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n \" \",\n attributeName,\n '=\"',\n escapeTextForBrowser(propValue$jscomp$11),\n '\"'\n );\n }\n }\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n }\n var endTagCache = /* @__PURE__ */ new Map();\n function endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && (chunk = \"</\" + tag + \">\", endTagCache.set(tag, chunk));\n return chunk;\n }\n function hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);\n }\n function writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n destination.push(renderState[i]);\n return i < renderState.length ? (i = renderState[i], renderState.length = 0, destination.push(i)) : true;\n }\n function writeStartPendingSuspenseBoundary(destination, renderState, id) {\n destination.push('<!--$?--><template id=\"');\n if (null === id) throw Error(formatProdErrorMessage3(395));\n destination.push(renderState.boundaryPrefix);\n renderState = id.toString(16);\n destination.push(renderState);\n return destination.push('\"></template>');\n }\n function writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return destination.push('<div hidden id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 4:\n return destination.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 5:\n return destination.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 6:\n return destination.push('<table hidden id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 7:\n return destination.push('<table hidden><tbody id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 8:\n return destination.push('<table hidden><tr id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n case 9:\n return destination.push('<table hidden><colgroup id=\"'), destination.push(renderState.segmentPrefix), renderState = id.toString(16), destination.push(renderState), destination.push('\">');\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n function writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return destination.push(\"</div>\");\n case 4:\n return destination.push(\"</svg>\");\n case 5:\n return destination.push(\"</math>\");\n case 6:\n return destination.push(\"</table>\");\n case 7:\n return destination.push(\"</tbody></table>\");\n case 8:\n return destination.push(\"</tr></table>\");\n case 9:\n return destination.push(\"</colgroup></table>\");\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n var regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\n function escapeJSStringsForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInInstructionScripts,\n function(match2) {\n switch (match2) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\n function escapeJSObjectForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInScripts,\n function(match2) {\n switch (match2) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var currentlyRenderingBoundaryHasStylesToHoist = false;\n var destinationHasCapacity = true;\n function flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;\n if (hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' media=\"not all\" data-precedence=\"');\n this.push(styleQueue.precedence);\n for (this.push('\" data-href=\"'); i < hrefs.length - 1; i++)\n this.push(hrefs[i]), this.push(\" \");\n this.push(hrefs[i]);\n this.push('\">');\n for (i = 0; i < rules.length; i++) this.push(rules[i]);\n destinationHasCapacity = this.push(\"</style>\");\n currentlyRenderingBoundaryHasStylesToHoist = true;\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;\n }\n function writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = false;\n destinationHasCapacity = true;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);\n return destinationHasCapacity;\n }\n function flushResource(resource) {\n for (var i = 0; i < resource.length; i++) this.push(resource[i]);\n resource.length = 0;\n }\n var stylesheetFlushingQueue = [];\n function flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n this.push(stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n }\n function flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' data-precedence=\"');\n this.push(styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (this.push('\" data-href=\"'); styleQueue < hrefs.length - 1; styleQueue++)\n this.push(hrefs[styleQueue]), this.push(\" \");\n this.push(hrefs[styleQueue]);\n }\n this.push('\">');\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n this.push(rules[styleQueue]);\n this.push(\"</style>\");\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++)\n this.push(stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n }\n function preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n }\n function pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(\n ' id=\"',\n escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\"),\n '\"'\n ));\n }\n function writeStyleResourceDependenciesInJS(destination, hoistableState) {\n destination.push(\"[\");\n var nextArrayOpenBrackChunk = \"[\";\n hoistableState.stylesheets.forEach(function(resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n destination.push(nextArrayOpenBrackChunk), resource = escapeJSObjectForInstructionScripts(\n \"\" + resource.props.href\n ), destination.push(resource), destination.push(\"]\"), nextArrayOpenBrackChunk = \",[\";\n else {\n destination.push(nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"], props = resource.props, coercedHref = sanitizeURL(\"\" + resource.props.href);\n coercedHref = escapeJSObjectForInstructionScripts(coercedHref);\n destination.push(coercedHref);\n precedence = \"\" + precedence;\n destination.push(\",\");\n precedence = escapeJSObjectForInstructionScripts(precedence);\n destination.push(precedence);\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence))\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n destination.push(\"]\");\n nextArrayOpenBrackChunk = \",[\";\n resource.state = 3;\n }\n });\n destination.push(\"]\");\n }\n function writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (false === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (2 < name.length && (\"o\" === name[0] || \"O\" === name[0]) && (\"n\" === name[1] || \"N\" === name[1]) || !isAttributeNameSafe(name))\n return;\n name = \"\" + value;\n }\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(attributeName);\n destination.push(attributeName);\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(name);\n destination.push(attributeName);\n }\n function createHoistableState() {\n return { styles: /* @__PURE__ */ new Set(), stylesheets: /* @__PURE__ */ new Set(), suspenseyImages: false };\n }\n function prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity)\n JSCompiler_temp = (header = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=dns-prefetch\", 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, { href, rel: \"dns-prefetch\" }), renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n }\n function preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket = \"use-credentials\" === crossOrigin ? \"credentials\" : \"string\" === typeof crossOrigin ? \"anonymous\" : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {\n JSCompiler_temp = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href,\n crossOrigin\n }), renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n }\n function preload(href, as, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options2) {\n var imageSrcSet = options2.imageSrcSet;\n var imageSizes = options2.imageSizes;\n var fetchPriority = options2.fetchPriority;\n }\n var key = imageSrcSet ? imageSrcSet + \"\\n\" + (imageSizes || \"\") : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState && 0 < resumableState.remainingCapacity && \"string\" !== typeof imageSrcSet && \"high\" === fetchPriority && (header = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += \", \"), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(\n resumableState,\n assign2(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as },\n options2\n )\n ), \"high\" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.styleResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.scriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href))\n return;\n } else\n imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && \"font\" === as && (key = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= key.length + 2)))\n renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += \", \"), resumableState.fontPreloads += key;\n else\n switch (resumableState = [], href = assign2({ rel: \"preload\", href, as }, options2), pushLinkImpl(resumableState, href), as) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options2);\n }\n function preloadModule(href, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n var as = options2 && \"string\" === typeof options2.as ? options2.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n resources = {}, resumableState.moduleUnknownResources[as] = resources;\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign2({ rel: \"modulepreload\", href }, options2));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options2);\n }\n function preinitStyle(href, precedence, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue)), precedence = {\n state: 0,\n props: assign2(\n { rel: \"stylesheet\", href, \"data-precedence\": precedence },\n options2\n )\n }, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options2);\n }\n function preinitScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;\n null !== resourceState && (resumableState.scriptResources[src] = null, options2 = assign2({ src, async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options2);\n }\n function preinitModuleScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n ) ? resumableState.moduleScriptResources[src] : void 0;\n null !== resourceState && (resumableState.moduleScriptResources[src] = null, options2 = assign2({ src, type: \"module\", async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options2);\n }\n function adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n }\n function getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) && (href = params[paramName], \"string\" === typeof href && (as += \"; \" + paramName.toLowerCase() + '=\"' + (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) + '\"'));\n return as;\n }\n var regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\n function escapeHrefForLinkHeaderURLContextReplacer(match2) {\n switch (match2) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n var regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\n function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match2) {\n switch (match2) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n function hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n }\n function hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n }\n function hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = true);\n }\n function createRenderState(resumableState, generateStaticMarkup) {\n var idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent && (bootstrapChunks.push(\"<script\"), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n \">\",\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer),\n \"<\\/script>\"\n ));\n bootstrapScriptContent = idPrefix + \"P:\";\n var JSCompiler_object_inline_segmentPrefix_1673 = idPrefix + \"S:\";\n idPrefix += \"B:\";\n var JSCompiler_object_inline_preconnects_1687 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_fontPreloads_1688 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_highImagePreloads_1689 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_styles_1690 = /* @__PURE__ */ new Map(), JSCompiler_object_inline_bootstrapScripts_1691 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_scripts_1692 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_bulkPreloads_1693 = /* @__PURE__ */ new Set(), JSCompiler_object_inline_preloads_1694 = {\n images: /* @__PURE__ */ new Map(),\n stylesheets: /* @__PURE__ */ new Map(),\n scripts: /* @__PURE__ */ new Map(),\n moduleScripts: /* @__PURE__ */ new Map()\n };\n if (void 0 !== bootstrapScripts)\n for (var i = 0; i < bootstrapScripts.length; i++) {\n var scriptConfig = bootstrapScripts[i], src, crossOrigin = void 0, integrity = void 0, props = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce: void 0\n };\n \"string\" === typeof scriptConfig ? props.href = src = scriptConfig : (props.href = src = scriptConfig.src, props.integrity = integrity = \"string\" === typeof scriptConfig.integrity ? scriptConfig.integrity : void 0, props.crossOrigin = crossOrigin = \"string\" === typeof scriptConfig || null == scriptConfig.crossOrigin ? void 0 : \"use-credentials\" === scriptConfig.crossOrigin ? \"use-credentials\" : \"\");\n scriptConfig = resumableState;\n var href = src;\n scriptConfig.scriptResources[href] = null;\n scriptConfig.moduleScriptResources[href] = null;\n scriptConfig = [];\n pushLinkImpl(scriptConfig, props);\n JSCompiler_object_inline_bootstrapScripts_1691.add(scriptConfig);\n bootstrapChunks.push('<script src=\"', escapeTextForBrowser(src), '\"');\n \"string\" === typeof integrity && bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(integrity),\n '\"'\n );\n \"string\" === typeof crossOrigin && bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n );\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState);\n bootstrapChunks.push(' async=\"\"><\\/script>');\n }\n if (void 0 !== bootstrapModules)\n for (bootstrapScripts = 0; bootstrapScripts < bootstrapModules.length; bootstrapScripts++)\n props = bootstrapModules[bootstrapScripts], crossOrigin = src = void 0, integrity = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: void 0\n }, \"string\" === typeof props ? integrity.href = i = props : (integrity.href = i = props.src, integrity.integrity = crossOrigin = \"string\" === typeof props.integrity ? props.integrity : void 0, integrity.crossOrigin = src = \"string\" === typeof props || null == props.crossOrigin ? void 0 : \"use-credentials\" === props.crossOrigin ? \"use-credentials\" : \"\"), props = resumableState, scriptConfig = i, props.scriptResources[scriptConfig] = null, props.moduleScriptResources[scriptConfig] = null, props = [], pushLinkImpl(props, integrity), JSCompiler_object_inline_bootstrapScripts_1691.add(props), bootstrapChunks.push(\n '<script type=\"module\" src=\"',\n escapeTextForBrowser(i),\n '\"'\n ), \"string\" === typeof crossOrigin && bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n ), \"string\" === typeof src && bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(src),\n '\"'\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(' async=\"\"><\\/script>');\n return {\n placeholderPrefix: bootstrapScriptContent,\n segmentPrefix: JSCompiler_object_inline_segmentPrefix_1673,\n boundaryPrefix: idPrefix,\n startInlineScript: \"<script\",\n startInlineStyle: \"<style\",\n preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },\n externalRuntimeScript: null,\n bootstrapChunks,\n importMapChunks: [],\n onHeaders: void 0,\n headers: null,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: JSCompiler_object_inline_preconnects_1687,\n fontPreloads: JSCompiler_object_inline_fontPreloads_1688,\n highImagePreloads: JSCompiler_object_inline_highImagePreloads_1689,\n styles: JSCompiler_object_inline_styles_1690,\n bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1691,\n scripts: JSCompiler_object_inline_scripts_1692,\n bulkPreloads: JSCompiler_object_inline_bulkPreloads_1693,\n preloads: JSCompiler_object_inline_preloads_1694,\n nonce: { script: void 0, style: void 0 },\n stylesToHoist: false,\n generateStaticMarkup\n };\n }\n function pushTextInstance(target, text, renderState, textEmbedded) {\n if (renderState.generateStaticMarkup)\n return target.push(escapeTextForBrowser(text)), false;\n \"\" === text ? target = textEmbedded : (textEmbedded && target.push(\"<!-- -->\"), target.push(escapeTextForBrowser(text)), target = true);\n return target;\n }\n function pushSegmentFinale(target, renderState, lastPushedText, textEmbedded) {\n renderState.generateStaticMarkup || lastPushedText && textEmbedded && target.push(\"<!-- -->\");\n }\n var bind = Function.prototype.bind;\n var REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for(\"react.client.reference\");\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE ? null : 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_TYPE2:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE2:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x2) {\n }\n }\n return null;\n }\n var emptyContextObject = {};\n var currentActiveSnapshot = null;\n function popToNearestCommonAncestor(prev, next2) {\n if (prev !== next2) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n var parentNext = next2.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage3(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage3(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next2.context._currentValue2 = next2.value;\n }\n }\n function popAllPrevious(prev) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n }\n function pushAllNext(next2) {\n var parentNext = next2.parent;\n null !== parentNext && pushAllNext(parentNext);\n next2.context._currentValue2 = next2.value;\n }\n function popPreviousToCommonLevel(prev, next2) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage3(402));\n prev.depth === next2.depth ? popToNearestCommonAncestor(prev, next2) : popPreviousToCommonLevel(prev, next2);\n }\n function popNextToCommonLevel(prev, next2) {\n var parentNext = next2.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage3(402));\n prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);\n next2.context._currentValue2 = next2.value;\n }\n function switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);\n }\n var classComponentUpdater = {\n enqueueSetState: function(inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function(inst, payload) {\n inst = inst._reactInternals;\n inst.replace = true;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function() {\n }\n };\n var emptyTreeContext = { id: 1, overflow: \"\" };\n function pushTreeContext(baseContext, totalChildren, index2) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index2 += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - baseLength % 5;\n length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id: 1 << 32 - clz32(totalChildren) + baseLength | index2 << baseLength | baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: 1 << length | index2 << baseLength | baseIdWithLeadingBit,\n overflow: baseContext\n };\n }\n var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback;\n var log2 = Math.log;\n var LN2 = Math.LN2;\n function clz32Fallback(x2) {\n x2 >>>= 0;\n return 0 === x2 ? 32 : 31 - (log2(x2) / LN2 | 0) | 0;\n }\n function noop7() {\n }\n var SuspenseException = Error(formatProdErrorMessage3(460));\n function trackUsedThenable(thenableState2, thenable, index2) {\n index2 = thenableState2[index2];\n void 0 === index2 ? thenableState2.push(thenable) : index2 !== thenable && (thenable.then(noop7, noop7), thenable = index2);\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenableState2 = thenable, thenableState2.status = \"pending\", thenableState2.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 switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n var suspendedThenable = null;\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage3(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var currentlyRenderingComponent = null;\n var currentlyRenderingTask = null;\n var currentlyRenderingRequest = null;\n var currentlyRenderingKeyPath = null;\n var firstWorkInProgressHook = null;\n var workInProgressHook = null;\n var isReRender = false;\n var didScheduleRenderPhaseUpdate = false;\n var localIdCounter = 0;\n var actionStateCounter = 0;\n var actionStateMatchingIndex = -1;\n var thenableIndexCounter = 0;\n var thenableState = null;\n var renderPhaseUpdates = null;\n var numberOfReRenders = 0;\n function resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage3(321));\n return currentlyRenderingComponent;\n }\n function createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage3(312));\n return { memoizedState: null, queue: null, next: null };\n }\n function createWorkInProgressHook() {\n null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);\n return workInProgressHook;\n }\n function getThenableStateAfterSuspending() {\n var state2 = thenableState;\n thenableState = null;\n return state2;\n }\n function resetHooksState() {\n currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;\n didScheduleRenderPhaseUpdate = false;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n }\n function basicStateReducer(state2, action) {\n return \"function\" === typeof action ? action(state2) : action;\n }\n function useReducer4(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (null !== renderPhaseUpdates && (init = renderPhaseUpdates.get(queue), void 0 !== init)) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do\n queue = reducer(queue, init.action), init = init.next;\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer = reducer === basicStateReducer ? \"function\" === typeof initialArg ? initialArg() : initialArg : void 0 !== init ? init(initialArg) : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n }\n function useMemo33(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = false;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = false;\n break a;\n }\n prevDeps = true;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n }\n function dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage3(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (didScheduleRenderPhaseUpdate = true, componentIdentity = { action, next: null }, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action)\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n }\n function throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage3(440));\n }\n function unsupportedStartTransition() {\n throw Error(formatProdErrorMessage3(394));\n }\n function unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage3(479));\n }\n function useActionState(action, initialState15, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n ), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState15 = request[0]));\n }\n var boundAction = action.bind(null, initialState15);\n action = function(payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {\n prefix3 = boundAction.$$FORM_ACTION(prefix3);\n void 0 !== permalink && (permalink += \"\", prefix3.action = permalink);\n var formData = prefix3.data;\n formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )), formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix3;\n });\n return [initialState15, action, false];\n }\n var boundAction$22 = action.bind(null, initialState15);\n return [\n initialState15,\n function(payload) {\n boundAction$22(payload);\n },\n false\n ];\n }\n function unwrapThenable(thenable) {\n var index2 = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index2);\n }\n function unsupportedRefresh() {\n throw Error(formatProdErrorMessage3(393));\n }\n var HooksDispatcher = {\n readContext: function(context) {\n return context._currentValue2;\n },\n use: function(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE)\n return usable._currentValue2;\n }\n throw Error(formatProdErrorMessage3(438, String(usable)));\n },\n useContext: function(context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue2;\n },\n useMemo: useMemo33,\n useReducer: useReducer4,\n useRef: function(initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef ? (initialValue = { current: initialValue }, workInProgressHook.memoizedState = initialValue) : previousRef;\n },\n useState: function(initialState15) {\n return useReducer4(basicStateReducer, initialState15);\n },\n useInsertionEffect: noop7,\n useLayoutEffect: noop7,\n useCallback: function(callback, deps) {\n return useMemo33(function() {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop7,\n useEffect: noop7,\n useDebugValue: noop7,\n useDeferredValue: function(value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function() {\n resolveCurrentlyRenderingComponent();\n return [false, unsupportedStartTransition];\n },\n useId: function() {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage3(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result = \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage3(407));\n return getServerSnapshot();\n },\n useOptimistic: function(passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function() {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function(size4) {\n for (var data = Array(size4), i = 0; i < size4; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function() {\n return unsupportedRefresh;\n },\n useEffectEvent: function() {\n return throwOnUseEffectEventCall;\n }\n };\n var currentResumableState = null;\n var DefaultAsyncDispatcher = {\n getCacheForType: function() {\n throw Error(formatProdErrorMessage3(248));\n },\n cacheSignal: function() {\n throw Error(formatProdErrorMessage3(248));\n }\n };\n var prefix2;\n var suffix2;\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix2)\n try {\n throw Error();\n } catch (x2) {\n var match2 = x2.stack.trim().match(/\\n( *(at )?)/);\n prefix2 = match2 && match2[1] || \"\";\n suffix2 = -1 < x2.stack.indexOf(\"\\n at\") ? \" (<anonymous>)\" : -1 < x2.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix2 + name + suffix2;\n }\n var reentry = false;\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = true;\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 (x2) {\n var control = x2;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function() {\n });\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 = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"), controlLines = controlStack.split(\"\\n\");\n for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\"); )\n RunInRootFrame++;\n for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n ); )\n namePropDescriptor++;\n if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length)\n for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; )\n namePropDescriptor--;\n for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--)\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n var frame = \"\\n\" + sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName && frame.includes(\"<anonymous>\") && (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 = false, Error.prepareStackTrace = previousPrepareStackTrace;\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : \"\";\n }\n function describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n return describeNativeComponentFrame(type.render, false);\n case REACT_MEMO_TYPE2:\n return describeNativeComponentFrame(type.type, false);\n case REACT_LAZY_TYPE:\n var lazyComponent = type, payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x2) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = void 0, location = location.stack, Error.prepareStackTrace = type, location.startsWith(\"Error: react-stack-top-frame\\n\") && (location = location.slice(29)), type = location.indexOf(\"\\n\"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf(\"react_stack_bottom_frame\"), -1 !== type && (type = location.lastIndexOf(\"\\n\", type)), type = -1 !== type ? location = location.slice(0, type) : \"\", location = type.lastIndexOf(\"\\n\"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n }\n function isEligibleForOutlining(request, boundary) {\n return (500 < boundary.byteSize || false) && null === boundary.contentPreamble;\n }\n function defaultErrorHandler2(error) {\n if (\"object\" === typeof error && null !== error && \"string\" === typeof error.environmentName) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0] ? error.splice(\n 0,\n 1,\n \"[%s] \" + error[0],\n \" \" + JSCompiler_inline_result + \" \"\n ) : error.splice(0, 0, \"[%s]\", \" \" + JSCompiler_inline_result + \" \");\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n }\n function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n var abortSet = /* @__PURE__ */ new Set();\n this.destination = null;\n this.flushScheduled = false;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError2 ? defaultErrorHandler2 : onError2;\n this.onPostpone = void 0 === onPostpone ? noop7 : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop7 : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop7 : onShellReady;\n this.onShellError = void 0 === onShellError ? noop7 : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop7 : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n }\n function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError2, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError2,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n false,\n false\n );\n renderState.parentFlushed = true;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n }\n var currentRequest = null;\n function pingTask(request, task2) {\n request.pingedTasks.push(task2);\n 1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, performWork(request));\n }\n function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: false,\n pendingTasks: 0,\n row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble,\n fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n }\n function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task2 = {\n replay: null,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task2 = {\n replay,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createPendingSegment(request, index2, boundary, parentFormatContext, lastPushedText, textEmbedded) {\n return {\n status: 0,\n parentFlushed: false,\n id: -1,\n index: index2,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext,\n boundary,\n lastPushedText,\n textEmbedded\n };\n }\n function pushComponentStack(task2) {\n var node = task2.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task2.componentStack = { parent: task2.componentStack, type: node.type };\n }\n }\n function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {\n return null === componentStack ? null : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n }\n function getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 && Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: true,\n enumerable: true,\n get: function() {\n try {\n var info = \"\", node = node$jscomp$0;\n do\n info += describeComponentStackByType(node.type), node = node.parent;\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x2) {\n JSCompiler_inline_result = \"\\nError generating stack: \" + x2.message + \"\\n\" + x2.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n }\n function logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n }\n function fatalError(request, error) {\n var onShellError = request.onShellError, onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination ? (request.status = 14, request.destination.destroy(error)) : (request.status = 13, request.fatalError = error);\n }\n function finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n }\n function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n }\n function tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {\n allCompleteAndInlinable = false;\n break;\n }\n }\n allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n }\n function createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: false,\n next: null\n };\n null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);\n return newRow;\n }\n function renderSuspenseListRows(request, task2, keyPath, rows, revealOrder) {\n var prevKeyPath = task2.keyPath, prevTreeContext = task2.treeContext, prevRow = task2.row;\n task2.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task2.replay) {\n var resumeSlots = task2.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID ? (resumeNode(request, task2, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task2, node, i);\n 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n n = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task2, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder)\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n resumeSlots = rows[revealOrder], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n ), renderNode(request, task2, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task2.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task2.formatContext,\n 0 === i ? revealOrder.lastPushedText : true,\n true\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task2.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task2, node, i), pushSegmentFinale(\n resumeSegmentID.chunks,\n request.renderState,\n resumeSegmentID.lastPushedText,\n resumeSegmentID.textEmbedded\n ), resumeSegmentID.status = 1, 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;\n }\n }\n task2.blockedSegment = revealOrder;\n revealOrder.lastPushedText = false;\n }\n null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);\n task2.treeContext = prevTreeContext;\n task2.row = prevRow;\n task2.keyPath = prevKeyPath;\n }\n function renderWithHooks(request, task2, keyPath, Component2, props, secondArg) {\n var prevThenableState = task2.thenableState;\n task2.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task2;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component2(props, secondArg); didScheduleRenderPhaseUpdate; )\n didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component2(props, secondArg);\n resetHooksState();\n return request;\n }\n function finishFunctionComponent(request, task2, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {\n var didEmitActionStateMarkers = false;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task2.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = true;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex2 ? segment.push(\"<!--F!-->\") : segment.push(\"<!--F-->\");\n }\n }\n actionStateCount = task2.keyPath;\n task2.keyPath = keyPath;\n hasId ? (keyPath = task2.treeContext, task2.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task2, children, -1), task2.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task2, children, -1) : renderNodeDestructive(request, task2, children, -1);\n task2.keyPath = actionStateCount;\n }\n function renderElement(request, task2, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps2 = type.defaultProps;\n if (defaultProps2) {\n newProps === props && (newProps = assign2({}, newProps, props));\n for (var propName$43 in defaultProps2)\n void 0 === newProps[propName$43] && (newProps[propName$43] = defaultProps2[propName$43]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps2 = type.contextType;\n \"object\" === typeof defaultProps2 && null !== defaultProps2 && (newProps = defaultProps2._currentValue2);\n newProps = new type(props, newProps);\n var initialState15 = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState15;\n defaultProps2 = { queue: [], replace: false };\n newProps._reactInternals = defaultProps2;\n ref = type.contextType;\n newProps.context = \"object\" === typeof ref && null !== ref ? ref._currentValue2 : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref && (ref = ref(props, initialState15), initialState15 = null === ref || void 0 === ref ? initialState15 : assign2({}, initialState15, ref), newProps.state = initialState15);\n if (\"function\" !== typeof type.getDerivedStateFromProps && \"function\" !== typeof newProps.getSnapshotBeforeUpdate && (\"function\" === typeof newProps.UNSAFE_componentWillMount || \"function\" === typeof newProps.componentWillMount))\n if (type = newProps.state, \"function\" === typeof newProps.componentWillMount && newProps.componentWillMount(), \"function\" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ), null !== defaultProps2.queue && 0 < defaultProps2.queue.length)\n if (type = defaultProps2.queue, ref = defaultProps2.replace, defaultProps2.queue = null, defaultProps2.replace = false, ref && 1 === type.length)\n newProps.state = type[0];\n else {\n defaultProps2 = ref ? type[0] : newProps.state;\n initialState15 = true;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n propName$43 = type[ref], propName$43 = \"function\" === typeof propName$43 ? propName$43.call(newProps, defaultProps2, props, void 0) : propName$43, null != propName$43 && (initialState15 ? (initialState15 = false, defaultProps2 = assign2({}, defaultProps2, propName$43)) : assign2(defaultProps2, propName$43));\n newProps.state = defaultProps2;\n }\n else defaultProps2.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n } else {\n type = renderWithHooks(request, task2, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (newProps = task2.blockedSegment, null === newProps)\n newProps = props.children, defaultProps2 = task2.formatContext, initialState15 = task2.keyPath, task2.formatContext = getChildFormatContext(defaultProps2, type, props), task2.keyPath = keyPath, renderNode(request, task2, newProps, -1), task2.formatContext = defaultProps2, task2.keyPath = initialState15;\n else {\n initialState15 = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = false;\n defaultProps2 = task2.formatContext;\n ref = task2.keyPath;\n task2.keyPath = keyPath;\n if (3 === (task2.formatContext = getChildFormatContext(defaultProps2, type, props)).insertionMode) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n newProps.preambleChildren.push(keyPath);\n task2.blockedSegment = keyPath;\n try {\n keyPath.status = 6, renderNode(request, task2, initialState15, -1), pushSegmentFinale(\n keyPath.chunks,\n request.renderState,\n keyPath.lastPushedText,\n keyPath.textEmbedded\n ), keyPath.status = 1;\n } finally {\n task2.blockedSegment = newProps;\n }\n } else renderNode(request, task2, initialState15, -1);\n task2.formatContext = defaultProps2;\n task2.keyPath = ref;\n a: {\n task2 = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps2.insertionMode) {\n request.hasBody = true;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps2.insertionMode) {\n request.hasHtml = true;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps2.insertionMode) break a;\n }\n task2.push(endChunkForTag(type));\n }\n newProps.lastPushedText = false;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, props.children, -1);\n task2.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task2.blockedSegment;\n null === type ? \"hidden\" !== props.mode && (type = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = type) : \"hidden\" !== props.mode && (request.renderState.generateStaticMarkup || type.chunks.push(\"<!--&-->\"), type.lastPushedText = false, newProps = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = newProps, request.renderState.generateStaticMarkup || type.chunks.push(\"<!--/&-->\"), type.lastPushedText = false);\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\"forwards\" === props || \"backwards\" === props || \"unstable_legacy-backwards\" === props) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task2, keyPath, type, props);\n break a;\n }\n if (newProps = getIteratorFn(type)) {\n if (newProps = newProps.call(type)) {\n defaultProps2 = newProps.next();\n if (!defaultProps2.done) {\n do\n defaultProps2 = newProps.next();\n while (!defaultProps2.done);\n renderSuspenseListRows(request, task2, keyPath, type, props);\n }\n break a;\n }\n }\n }\n \"together\" === props ? (props = task2.keyPath, newProps = task2.row, defaultProps2 = task2.row = createSuspenseListRow(null), defaultProps2.boundaries = [], defaultProps2.together = true, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), 0 === --defaultProps2.pendingTasks && finishSuspenseListRow(request, defaultProps2), task2.keyPath = props, task2.row = newProps, null !== newProps && 0 < defaultProps2.pendingTasks && (newProps.pendingTasks++, defaultProps2.next = newProps)) : (props = task2.keyPath, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), task2.keyPath = props);\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage3(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task2.replay) {\n type = task2.keyPath;\n newProps = task2.formatContext;\n defaultProps2 = task2.row;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task2.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task2, keyPath, -1);\n } finally {\n task2.keyPath = type, task2.formatContext = newProps, task2.row = defaultProps2;\n }\n } else {\n type = task2.keyPath;\n ref = task2.formatContext;\n var prevRow = task2.row, parentBoundary = task2.blockedBoundary;\n propName$43 = task2.blockedPreamble;\n var parentHoistableState = task2.hoistableState;\n propName = task2.blockedSegment;\n var fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = /* @__PURE__ */ new Set();\n var newBoundary = createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n propName.chunks.length,\n newBoundary,\n task2.formatContext,\n false,\n false\n );\n propName.children.push(boundarySegment);\n propName.lastPushedText = false;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n contentRootSegment.parentFlushed = true;\n if (null !== request.trackedPostpones) {\n newProps = task2.componentStack;\n defaultProps2 = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState15 = [defaultProps2[1], defaultProps2[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps2, initialState15);\n newBoundary.trackedFallbackNode = initialState15;\n task2.blockedSegment = boundarySegment;\n task2.blockedPreamble = newBoundary.fallbackPreamble;\n task2.keyPath = defaultProps2;\n task2.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task2.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task2, fallback, -1), pushSegmentFinale(\n boundarySegment.chunks,\n request.renderState,\n boundarySegment.lastPushedText,\n boundarySegment.textEmbedded\n ), boundarySegment.status = 1;\n } catch (thrownValue) {\n throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;\n } finally {\n task2.blockedSegment = propName, task2.blockedPreamble = propName$43, task2.keyPath = type, task2.formatContext = ref;\n }\n task2 = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task2.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n null,\n newProps\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n } else {\n task2.blockedBoundary = newBoundary;\n task2.blockedPreamble = newBoundary.contentPreamble;\n task2.hoistableState = newBoundary.contentState;\n task2.blockedSegment = contentRootSegment;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task2.row = null;\n contentRootSegment.status = 6;\n try {\n if (renderNode(request, task2, props, -1), pushSegmentFinale(\n contentRootSegment.chunks,\n request.renderState,\n contentRootSegment.lastPushedText,\n contentRootSegment.textEmbedded\n ), contentRootSegment.status = 1, queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {\n if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {\n null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks && task2.blockedPreamble && preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$30) {\n newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$30), defaultProps2 = getThrownInfo(task2.componentStack), initialState15 = logRecoverableError(\n request,\n newProps,\n defaultProps2\n ), newBoundary.errorDigest = initialState15, untrackBoundary(request, newBoundary);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.blockedPreamble = propName$43, task2.hoistableState = parentHoistableState, task2.blockedSegment = propName, task2.keyPath = type, task2.formatContext = ref, task2.row = prevRow;\n }\n task2 = createRenderTask(\n request,\n null,\n fallback,\n -1,\n parentBoundary,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n if (\"ref\" in props)\n for (fallback in newProps = {}, props)\n \"ref\" !== fallback && (newProps[fallback] = props[fallback]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task2,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE2:\n renderElement(request, task2, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps2 = props.children;\n newProps = task2.keyPath;\n props = props.value;\n initialState15 = type._currentValue2;\n type._currentValue2 = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState15,\n value: props\n };\n task2.context = type;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, defaultProps2, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage3(403));\n request.context._currentValue2 = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task2.context = request;\n task2.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue2);\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task2, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage3(130, null == type ? type : typeof type, \"\")\n );\n }\n }\n function resumeNode(request, task2, segmentId, node, childIndex) {\n var prevReplay = task2.replay, blockedBoundary = task2.blockedBoundary, resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = true;\n try {\n task2.replay = null, task2.blockedSegment = resumedSegment, renderNode(request, task2, node, childIndex), resumedSegment.status = 1, null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));\n } finally {\n task2.replay = prevReplay, task2.blockedSegment = null;\n }\n }\n function renderNodeDestructive(request, task2, node, childIndex) {\n null !== task2.replay && \"number\" === typeof task2.replay.slots ? resumeNode(request, task2, task2.replay.slots, node, childIndex) : (task2.node = node, task2.childIndex = childIndex, node = task2.componentStack, pushComponentStack(task2), retryNode(request, task2), task2.componentStack = node);\n }\n function retryNode(request, task2) {\n var node = task2.node, childIndex = task2.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type, key = node.key, props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;\n key = [task2.keyPath, name, keyOrIndex];\n if (null !== task2.replay)\n a: {\n var replay = task2.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage3(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task2.node;\n task2.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task2, key, type, props, ref);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw task2.node === keyOrIndex ? task2.replay = replay : childIndex.splice(node, 1), x2;\n task2.replay.pendingTasks--;\n props = getThrownInfo(task2.componentStack);\n key = request;\n request = task2.blockedBoundary;\n type = x2;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task2.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage3(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task2.keyPath, prevContext = task2.formatContext, prevRow = task2.row, previousReplaySet = task2.replay, parentBoundary = task2.blockedBoundary, parentHoistableState = task2.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();\n props = createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = true;\n props.rootSegmentID = type;\n task2.blockedBoundary = props;\n task2.hoistableState = props.contentState;\n task2.keyPath = key;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task2.row = null;\n task2.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task2, content, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n props.status = 4, childNodes = getThrownInfo(task2.componentStack), replay = logRecoverableError(\n request,\n error,\n childNodes\n ), props.errorDigest = replay, task2.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.hoistableState = parentHoistableState, task2.replay = previousReplaySet, task2.keyPath = prevKeyPath, task2.formatContext = prevContext, task2.row = prevRow;\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task2, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage3(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task2, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task2, node, childIndex);\n return;\n }\n if (childNodes = getIteratorFn(node)) {\n if (childNodes = childNodes.call(node)) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do\n props.push(node.value), node = childNodes.next();\n while (!node.done);\n renderChildrenArray(request, task2, props, childIndex);\n }\n return;\n }\n }\n if (\"function\" === typeof node.then)\n return task2.thenableState = null, renderNodeDestructive(request, task2, unwrapThenable(node), childIndex);\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task2,\n node._currentValue2,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage3(\n 31,\n \"[object Object]\" === childIndex ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\" : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n }\n function renderChildrenArray(request, task2, children, childIndex) {\n var prevKeyPath = task2.keyPath;\n if (-1 !== childIndex && (task2.keyPath = [task2.keyPath, \"Fragment\", childIndex], null !== task2.replay)) {\n for (var replay = task2.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task2.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task2, children, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw x2;\n task2.replay.pendingTasks--;\n children = getThrownInfo(task2.componentStack);\n var boundary = task2.blockedBoundary, error = x2;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task2.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task2.keyPath = prevKeyPath;\n return;\n }\n replay = task2.treeContext;\n replayNodes = children.length;\n if (null !== task2.replay && (j = task2.replay.slots, null !== j && \"object\" === typeof j)) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n node = children[childIndex], task2.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], \"number\" === typeof boundary ? (resumeNode(request, task2, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task2, node, childIndex);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n childIndex = children[j], task2.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task2, childIndex, j);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n }\n function trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage3(486));\n var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n }\n function trackPostpone(request, trackedPostpones, task2, segment) {\n segment.status = 5;\n var keyPath = task2.keyPath, boundary = task2.blockedBoundary;\n if (null === boundary)\n segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (boundary.trackedContentKeyPath === keyPath && -1 === task2.childIndex) {\n -1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);\n if (-1 === task2.childIndex)\n null === keyPath ? trackedPostpones.rootSlots = segment.id : (task2 = trackedPostpones.workingMap.get(keyPath), void 0 === task2 ? (task2 = [keyPath[1], keyPath[2], [], segment.id], addToReplayParent(task2, keyPath[0], trackedPostpones)) : task2[3] = segment.id);\n else {\n if (null === keyPath)\n if (request = trackedPostpones.rootSlots, null === request)\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n }\n else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode)\n request = {}, boundaryNode = [keyPath[1], keyPath[2], [], request], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (request = boundaryNode[3], null === request)\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n request[task2.childIndex] = segment.id;\n }\n }\n }\n function untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));\n }\n function spawnNewSuspendedReplayTask(request, task2, thenableState2) {\n return createReplayTask(\n request,\n thenableState2,\n task2.replay,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function spawnNewSuspendedRenderTask(request, task2, thenableState2) {\n var segment = task2.blockedSegment, newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task2.formatContext,\n segment.lastPushedText,\n true\n );\n segment.children.push(newSegment);\n segment.lastPushedText = false;\n return createRenderTask(\n request,\n thenableState2,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n newSegment,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function renderNode(request, task2, node, childIndex) {\n var previousFormatContext = task2.formatContext, previousContext = task2.context, previousKeyPath = task2.keyPath, previousTreeContext = task2.treeContext, previousComponentStack = task2.componentStack, segment = task2.blockedSegment;\n if (null === segment) {\n segment = task2.replay;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue) {\n if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedReplayTask(request, task2, childIndex).ping;\n node.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n node = spawnNewSuspendedReplayTask(request, task2, node);\n request.pingedTasks.push(node);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length, chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue$62) {\n if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$62 === SuspenseException ? getSuspendedThenable() : thrownValue$62, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedRenderTask(request, task2, node).ping;\n segment.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment = thrownValue$62 === SuspenseException ? getThenableStateAfterSuspending() : null;\n segment = spawnNewSuspendedRenderTask(request, task2, segment);\n request.pingedTasks.push(segment);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n }\n function abortTaskSoft(task2) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n null !== segment && (segment.status = 3, finishedTask(this, boundary, task2.row, segment));\n }\n function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(\n request,\n null,\n /* @__PURE__ */ new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = true;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage3(487));\n 4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index2 in slots) delete slots[index2];\n }\n }\n function abortTask(task2, request, error) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task2.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task2.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task2, segment), finishedTask(request, null, task2.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$63 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$63 && null !== segment)\n return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$63, task2, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task2.row, segment);\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task2 = task2.row;\n null !== task2 && 0 === --task2.pendingTasks && finishSuspenseListRow(request, task2);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n }\n function safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState, onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.fontPreloads);\n headers.highImagePreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.highImagePreloads);\n if (!shellComplete) {\n var queueIter = renderState.styles.values(), queueStep = queueIter.next();\n b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next())\n for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {\n var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += \", \"), linkHeader += header, renderState.resets.style[key] = \"string\" === typeof props.crossOrigin || \"string\" === typeof props.integrity ? [props.crossOrigin, props.integrity] : PRELOAD_NO_CREDS;\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n }\n function completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop7;\n request = request.onShellReady;\n request();\n }\n function completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n }\n function queueCompletedSegment(boundary, segment) {\n if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = true;\n 1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n }\n function finishedTask(request, boundary, row, segment) {\n null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage3(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if (boundary.pendingTasks--, 4 !== boundary.status)\n if (0 === boundary.pendingTasks)\n if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status)\n row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);\n else {\n if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment))\n for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n }\n function performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks, i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task2 = pingedTasks[i], request = request$jscomp$2, segment = task2.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task2.replay.pendingTasks) {\n switchContext(task2.context);\n try {\n \"number\" === typeof task2.replay.slots ? resumeNode(\n request$jscomp$0,\n task2,\n task2.replay.slots,\n task2.node,\n task2.childIndex\n ) : retryNode(request$jscomp$0, task2);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n finishedTask(\n request$jscomp$0,\n task2.blockedBoundary,\n task2.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x2 = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then) {\n var ping = task2.ping;\n x2.then(ping, ping);\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n } else {\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n var errorInfo = getThrownInfo(task2.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0, boundary = task2.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x2, replayNodes = task2.replay.nodes, resumeSlots = task2.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {\n request$jscomp$1.status = 6;\n switchContext(task2.context);\n var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task2), pushSegmentFinale(\n request$jscomp$1.chunks,\n request.renderState,\n request$jscomp$1.lastPushedText,\n request$jscomp$1.textEmbedded\n ), task2.abortSet.delete(task2), request$jscomp$1.status = 1, finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task2, request$jscomp$1);\n finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } else if (\"object\" === typeof x$jscomp$0 && null !== x$jscomp$0 && \"function\" === typeof x$jscomp$0.then) {\n request$jscomp$1.status = 0;\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n var ping$jscomp$0 = task2.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task2.blockedBoundary, row = task2.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);\n } finally {\n currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;\n }\n }\n }\n function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {\n segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = false, i = 0; i < segment.children.length; i++)\n pendingPreambles = preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n }\n function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return false;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage3(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return true;\n case 4:\n if (1 === segment.status)\n return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n default:\n return true;\n }\n }\n function preparePreamble(request) {\n if (request.completedRootSegment && null === request.completedPreambleSegments) {\n var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ), preamble = request.renderState.preamble;\n false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;\n }\n }\n function flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = true;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, destination.push('<template id=\"'), destination.push(request.placeholderPrefix), request = hoistableState.toString(16), destination.push(request), destination.push('\"></template>');\n case 1:\n segment.status = 2;\n var r2 = true, chunks = segment.chunks, chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r2 = segment[childIdx]; chunkIdx < r2.index; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n r2 = flushSegment(request, destination, r2, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n chunkIdx < chunks.length && (r2 = destination.push(chunks[chunkIdx]));\n return r2;\n case 3:\n return true;\n default:\n throw Error(formatProdErrorMessage3(390));\n }\n }\n var flushedByteSize = 0;\n function flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = true;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.renderState.generateStaticMarkup || (boundary = boundary.errorDigest, destination.push(\"<!--$!-->\"), destination.push(\"<template\"), boundary && (destination.push(' data-dgst=\"'), boundary = escapeTextForBrowser(boundary), destination.push(boundary), destination.push('\"')), destination.push(\"></template>\"));\n flushSubtree(request, destination, segment, hoistableState);\n request = request.renderState.generateStaticMarkup ? true : destination.push(\"<!--/$-->\");\n return request;\n }\n if (1 !== boundary.status)\n return 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState), destination.push(\"<!--/$-->\");\n if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && flushedByteSize + boundary.byteSize > request.progressiveChunkSize)\n return boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), flushSubtree(request, destination, segment, hoistableState), destination.push(\"<!--/$-->\");\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n request.renderState.generateStaticMarkup || destination.push(\"<!--$-->\");\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage3(391));\n flushSegment(request, destination, segment[0], hoistableState);\n request = request.renderState.generateStaticMarkup ? true : destination.push(\"<!--/$-->\");\n return request;\n }\n function flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n }\n function flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++)\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = false;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, destination.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n )), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, destination.push(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n )) : destination.push('$RR(\"')) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )), destination.push('$RC(\"'));\n completedSegments = i.toString(16);\n destination.push(request.boundaryPrefix);\n destination.push(completedSegments);\n destination.push('\",\"');\n destination.push(request.segmentPrefix);\n destination.push(completedSegments);\n requiresStyleInsertion ? (destination.push('\",'), writeStyleResourceDependenciesInJS(destination, boundary)) : destination.push('\"');\n boundary = destination.push(\")<\\/script>\");\n return writeBootstrap(destination, request) && boundary;\n }\n function flushPartiallyCompletedSegment(request, destination, boundary, segment) {\n if (2 === segment.status) return true;\n var hoistableState = boundary.contentState, segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage3(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n 0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, destination.push(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n )) : destination.push('$RS(\"');\n destination.push(request.segmentPrefix);\n segmentID = segmentID.toString(16);\n destination.push(segmentID);\n destination.push('\",\"');\n destination.push(request.placeholderPrefix);\n destination.push(segmentID);\n destination = destination.push('\")<\\/script>');\n return destination;\n }\n var flushingPartialBoundaries = false;\n function flushCompletedQueues(request, destination) {\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i, completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n destination.push(htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n else {\n var chunk = startChunkForTag(\"head\");\n destination.push(chunk);\n destination.push(\">\");\n }\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n destination.push(charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n destination.push(viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n destination.push(importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n resumableState.instructions |= 32;\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n destination.push(hoistableChunks[i$jscomp$0]);\n for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n if (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) {\n var chunk$jscomp$0 = endChunkForTag(\"head\");\n destination.push(chunk$jscomp$0);\n }\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++)\n destination.push(bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n destination.push(renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n destination.push(' id=\"');\n var chunk$jscomp$1 = escapeTextForBrowser(shellId);\n destination.push(chunk$jscomp$1);\n destination.push('\"');\n }\n destination.push(\">\");\n destination.push(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n );\n destination.push(\"<\\/script>\");\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++)\n destination.push(viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++)\n destination.push(hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;\n renderState$jscomp$1.push(renderState$jscomp$2.startInlineScript);\n renderState$jscomp$1.push(\">\");\n 0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, renderState$jscomp$1.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n )) : renderState$jscomp$1.push('$RX(\"');\n renderState$jscomp$1.push(renderState$jscomp$2.boundaryPrefix);\n var chunk$jscomp$2 = id.toString(16);\n renderState$jscomp$1.push(chunk$jscomp$2);\n renderState$jscomp$1.push('\"');\n if (errorDigest) {\n renderState$jscomp$1.push(\",\");\n var chunk$jscomp$3 = escapeJSStringsForInstructionScripts(\n errorDigest || \"\"\n );\n renderState$jscomp$1.push(chunk$jscomp$3);\n }\n var JSCompiler_inline_result = renderState$jscomp$1.push(\")<\\/script>\");\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n flushingPartialBoundaries = true;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$69 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$69.byteSize;\n var completedSegments = boundary$69.completedSegments;\n for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++)\n if (!flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$69,\n completedSegments[JSCompiler_inline_result]\n )) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = false;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$69.row;\n null !== row && row.together && 1 === boundary$69.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n ) : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$69.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = false;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length && (request.flushScheduled = false, i = request.resumableState, i.hasBody && (partialBoundaries = endChunkForTag(\"body\"), destination.push(partialBoundaries)), i.hasHtml && (i = endChunkForTag(\"html\"), destination.push(i)), request.status = 14, destination.push(null), request.destination = null);\n }\n }\n function enqueueFlush(request) {\n if (false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination) {\n request.flushScheduled = true;\n var destination = request.destination;\n destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;\n }\n }\n function startFlowing(request, destination) {\n if (13 === request.status)\n request.status = 14, destination.destroy(request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n }\n function abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error = void 0 === reason ? Error(formatProdErrorMessage3(432)) : \"object\" === typeof reason && null !== reason && \"function\" === typeof reason.then ? Error(formatProdErrorMessage3(530)) : reason;\n request.fatalError = error;\n abortableTasks.forEach(function(task2) {\n return abortTask(task2, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination && flushCompletedQueues(request, request.destination);\n } catch (error$71) {\n logRecoverableError(request, error$71, {}), fatalError(request, error$71);\n }\n }\n function addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode && (parentNode = [parentKeyPath[1], parentKeyPath[2], [], null], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n }\n function onError() {\n }\n function renderToStringImpl(children, options2, generateStaticMarkup, abortReason) {\n var didFatal = false, fatalError2 = null, result = \"\", readyToStream = false;\n options2 = createResumableState(options2 ? options2.identifierPrefix : void 0);\n children = createRequest(\n children,\n options2,\n createRenderState(options2, generateStaticMarkup),\n createFormatContext(0, null, 0, null),\n Infinity,\n onError,\n void 0,\n function() {\n readyToStream = true;\n },\n void 0,\n void 0,\n void 0\n );\n children.flushScheduled = null !== children.destination;\n performWork(children);\n 10 === children.status && (children.status = 11);\n null === children.trackedPostpones && safelyEmitEarlyPreloads(children, 0 === children.pendingRootTasks);\n abort(children, abortReason);\n startFlowing(children, {\n push: function(chunk) {\n null !== chunk && (result += chunk);\n return true;\n },\n destroy: function(error) {\n didFatal = true;\n fatalError2 = error;\n }\n });\n if (didFatal && fatalError2 !== abortReason) throw fatalError2;\n if (!readyToStream) throw Error(formatProdErrorMessage3(426));\n return result;\n }\n exports.renderToStaticMarkup = function(children, options2) {\n return renderToStringImpl(\n children,\n options2,\n true,\n 'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n };\n exports.renderToString = function(children, options2) {\n return renderToStringImpl(\n children,\n options2,\n false,\n 'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server.browser.production.js\n var require_react_dom_server_browser_production = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/cjs/react-dom-server.browser.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n var ReactDOM5 = require_react_dom();\n function formatProdErrorMessage3(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 \"Minified React error #\" + code + \"; visit \" + url + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n }\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for(\"react.consumer\");\n var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for(\"react.context\");\n var REACT_FORWARD_REF_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var REACT_MEMO_TYPE2 = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var REACT_SCOPE_TYPE = /* @__PURE__ */ Symbol.for(\"react.scope\");\n var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for(\"react.activity\");\n var REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for(\"react.legacy_hidden\");\n var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for(\"react.memo_cache_sentinel\");\n var REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for(\"react.view_transition\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n var isArrayImpl = Array.isArray;\n function murmurhash3_32_gc(key, seed2) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed2;\n for (seed2 = 0; seed2 < bytes; ) {\n var k1 = key.charCodeAt(seed2) & 255 | (key.charCodeAt(++seed2) & 255) << 8 | (key.charCodeAt(++seed2) & 255) << 16 | (key.charCodeAt(++seed2) & 255) << 24;\n ++seed2;\n k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = 5 * (h1 & 65535) + ((5 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 = (h1 & 65535) + 27492 + (((h1 >>> 16) + 58964 & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed2 + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed2 + 1) & 255) << 8;\n case 1:\n k1 ^= key.charCodeAt(seed2) & 255, k1 = 3432918353 * (k1 & 65535) + ((3432918353 * (k1 >>> 16) & 65535) << 16) & 4294967295, k1 = k1 << 15 | k1 >>> 17, h1 ^= 461845907 * (k1 & 65535) + ((461845907 * (k1 >>> 16) & 65535) << 16) & 4294967295;\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 = 2246822507 * (h1 & 65535) + ((2246822507 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n h1 ^= h1 >>> 13;\n h1 = 3266489909 * (h1 & 65535) + ((3266489909 * (h1 >>> 16) & 65535) << 16) & 4294967295;\n return (h1 ^ h1 >>> 16) >>> 0;\n }\n var channel = new MessageChannel();\n var taskQueue = [];\n channel.port1.onmessage = function() {\n var task2 = taskQueue.shift();\n task2 && task2();\n };\n function scheduleWork(callback) {\n taskQueue.push(callback);\n channel.port2.postMessage(null);\n }\n function handleErrorInNextTick(error) {\n setTimeout(function() {\n throw error;\n });\n }\n var LocalPromise = Promise;\n var scheduleMicrotask = \"function\" === typeof queueMicrotask ? queueMicrotask : function(callback) {\n LocalPromise.resolve(null).then(callback).catch(handleErrorInNextTick);\n };\n var currentView = null;\n var writtenBytes = 0;\n function writeChunk(destination, chunk) {\n if (0 !== chunk.byteLength)\n if (2048 < chunk.byteLength)\n 0 < writtenBytes && (destination.enqueue(\n new Uint8Array(currentView.buffer, 0, writtenBytes)\n ), currentView = new Uint8Array(2048), writtenBytes = 0), destination.enqueue(chunk);\n else {\n var allowableBytes = currentView.length - writtenBytes;\n allowableBytes < chunk.byteLength && (0 === allowableBytes ? destination.enqueue(currentView) : (currentView.set(chunk.subarray(0, allowableBytes), writtenBytes), destination.enqueue(currentView), chunk = chunk.subarray(allowableBytes)), currentView = new Uint8Array(2048), writtenBytes = 0);\n currentView.set(chunk, writtenBytes);\n writtenBytes += chunk.byteLength;\n }\n }\n function writeChunkAndReturn(destination, chunk) {\n writeChunk(destination, chunk);\n return true;\n }\n function completeWriting(destination) {\n currentView && 0 < writtenBytes && (destination.enqueue(new Uint8Array(currentView.buffer, 0, writtenBytes)), currentView = null, writtenBytes = 0);\n }\n var textEncoder = new TextEncoder();\n function stringToChunk(content) {\n return textEncoder.encode(content);\n }\n function stringToPrecomputedChunk(content) {\n return textEncoder.encode(content);\n }\n function byteLengthOfChunk(chunk) {\n return chunk.byteLength;\n }\n function closeWithError(destination, error) {\n \"function\" === typeof destination.error ? destination.error(error) : destination.close();\n }\n var assign2 = Object.assign;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var 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 var illegalAttributeNameCache = {};\n var validatedAttributeNameCache = {};\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return true;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return validatedAttributeNameCache[attributeName] = true;\n illegalAttributeNameCache[attributeName] = true;\n return false;\n }\n var 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 );\n var aliases = /* @__PURE__ */ 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 var matchHtmlRegExp = /[\"'&<>]/;\n function escapeTextForBrowser(text) {\n if (\"boolean\" === typeof text || \"number\" === typeof text || \"bigint\" === typeof text)\n return \"\" + text;\n text = \"\" + text;\n var match2 = matchHtmlRegExp.exec(text);\n if (match2) {\n var html = \"\", index2, lastIndex = 0;\n for (index2 = match2.index; index2 < text.length; index2++) {\n switch (text.charCodeAt(index2)) {\n case 34:\n match2 = \"&quot;\";\n break;\n case 38:\n match2 = \"&amp;\";\n break;\n case 39:\n match2 = \"&#x27;\";\n break;\n case 60:\n match2 = \"&lt;\";\n break;\n case 62:\n match2 = \"&gt;\";\n break;\n default:\n continue;\n }\n lastIndex !== index2 && (html += text.slice(lastIndex, index2));\n lastIndex = index2 + 1;\n html += match2;\n }\n text = lastIndex !== index2 ? html + text.slice(lastIndex, index2) : html;\n }\n return text;\n }\n var uppercasePattern = /([A-Z])/g;\n var msPattern = /^ms-/;\n var isJavaScriptProtocol = /^[\\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;\n function sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url) ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\" : url;\n }\n var ReactSharedInternals = React137.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var ReactDOMSharedInternals = ReactDOM5.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n var sharedNotPendingObject = {\n pending: false,\n data: null,\n method: null,\n action: null\n };\n var previousDispatcher = ReactDOMSharedInternals.d;\n ReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n };\n var PRELOAD_NO_CREDS = [];\n var currentlyFlushingRenderState = null;\n stringToPrecomputedChunk('\"></template>');\n var startInlineScript = stringToPrecomputedChunk(\"<script\");\n var endInlineScript = stringToPrecomputedChunk(\"<\\/script>\");\n var startScriptSrc = stringToPrecomputedChunk('<script src=\"');\n var startModuleSrc = stringToPrecomputedChunk('<script type=\"module\" src=\"');\n var scriptNonce = stringToPrecomputedChunk(' nonce=\"');\n var scriptIntegirty = stringToPrecomputedChunk(' integrity=\"');\n var scriptCrossOrigin = stringToPrecomputedChunk(' crossorigin=\"');\n var endAsyncScript = stringToPrecomputedChunk(' async=\"\"><\\/script>');\n var startInlineStyle = stringToPrecomputedChunk(\"<style\");\n var scriptRegex = /(<\\/|<)(s)(cript)/gi;\n function scriptReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\u0073\" : \"\\\\u0053\") + suffix3;\n }\n var importMapScriptStart = stringToPrecomputedChunk(\n '<script type=\"importmap\">'\n );\n var importMapScriptEnd = stringToPrecomputedChunk(\"<\\/script>\");\n function createRenderState(resumableState, nonce, externalRuntimeConfig, importMap, onHeaders, maxHeadersLength) {\n externalRuntimeConfig = \"string\" === typeof nonce ? nonce : nonce && nonce.script;\n var inlineScriptWithNonce = void 0 === externalRuntimeConfig ? startInlineScript : stringToPrecomputedChunk(\n '<script nonce=\"' + escapeTextForBrowser(externalRuntimeConfig) + '\"'\n ), nonceStyle = \"string\" === typeof nonce ? void 0 : nonce && nonce.style, inlineStyleWithNonce = void 0 === nonceStyle ? startInlineStyle : stringToPrecomputedChunk(\n '<style nonce=\"' + escapeTextForBrowser(nonceStyle) + '\"'\n ), idPrefix = resumableState.idPrefix, bootstrapChunks = [], bootstrapScriptContent = resumableState.bootstrapScriptContent, bootstrapScripts = resumableState.bootstrapScripts, bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent && (bootstrapChunks.push(inlineScriptWithNonce), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n endOfStartTag,\n stringToChunk(\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer)\n ),\n endInlineScript\n ));\n bootstrapScriptContent = [];\n void 0 !== importMap && (bootstrapScriptContent.push(importMapScriptStart), bootstrapScriptContent.push(\n stringToChunk(\n (\"\" + JSON.stringify(importMap)).replace(scriptRegex, scriptReplacer)\n )\n ), bootstrapScriptContent.push(importMapScriptEnd));\n importMap = onHeaders ? {\n preconnects: \"\",\n fontPreloads: \"\",\n highImagePreloads: \"\",\n remainingCapacity: 2 + (\"number\" === typeof maxHeadersLength ? maxHeadersLength : 2e3)\n } : null;\n onHeaders = {\n placeholderPrefix: stringToPrecomputedChunk(idPrefix + \"P:\"),\n segmentPrefix: stringToPrecomputedChunk(idPrefix + \"S:\"),\n boundaryPrefix: stringToPrecomputedChunk(idPrefix + \"B:\"),\n startInlineScript: inlineScriptWithNonce,\n startInlineStyle: inlineStyleWithNonce,\n preamble: createPreambleState(),\n externalRuntimeScript: null,\n bootstrapChunks,\n importMapChunks: bootstrapScriptContent,\n onHeaders,\n headers: importMap,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: /* @__PURE__ */ new Set(),\n fontPreloads: /* @__PURE__ */ new Set(),\n highImagePreloads: /* @__PURE__ */ new Set(),\n styles: /* @__PURE__ */ new Map(),\n bootstrapScripts: /* @__PURE__ */ new Set(),\n scripts: /* @__PURE__ */ new Set(),\n bulkPreloads: /* @__PURE__ */ new Set(),\n preloads: {\n images: /* @__PURE__ */ new Map(),\n stylesheets: /* @__PURE__ */ new Map(),\n scripts: /* @__PURE__ */ new Map(),\n moduleScripts: /* @__PURE__ */ new Map()\n },\n nonce: { script: externalRuntimeConfig, style: nonceStyle },\n hoistableState: null,\n stylesToHoist: false\n };\n if (void 0 !== bootstrapScripts)\n for (importMap = 0; importMap < bootstrapScripts.length; importMap++)\n idPrefix = bootstrapScripts[importMap], nonceStyle = inlineScriptWithNonce = void 0, inlineStyleWithNonce = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce\n }, \"string\" === typeof idPrefix ? inlineStyleWithNonce.href = maxHeadersLength = idPrefix : (inlineStyleWithNonce.href = maxHeadersLength = idPrefix.src, inlineStyleWithNonce.integrity = nonceStyle = \"string\" === typeof idPrefix.integrity ? idPrefix.integrity : void 0, inlineStyleWithNonce.crossOrigin = inlineScriptWithNonce = \"string\" === typeof idPrefix || null == idPrefix.crossOrigin ? void 0 : \"use-credentials\" === idPrefix.crossOrigin ? \"use-credentials\" : \"\"), idPrefix = resumableState, bootstrapScriptContent = maxHeadersLength, idPrefix.scriptResources[bootstrapScriptContent] = null, idPrefix.moduleScriptResources[bootstrapScriptContent] = null, idPrefix = [], pushLinkImpl(idPrefix, inlineStyleWithNonce), onHeaders.bootstrapScripts.add(idPrefix), bootstrapChunks.push(\n startScriptSrc,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ), externalRuntimeConfig && bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ), \"string\" === typeof nonceStyle && bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(nonceStyle)),\n attributeEnd\n ), \"string\" === typeof inlineScriptWithNonce && bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(inlineScriptWithNonce)),\n attributeEnd\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);\n if (void 0 !== bootstrapModules)\n for (nonce = 0; nonce < bootstrapModules.length; nonce++)\n nonceStyle = bootstrapModules[nonce], maxHeadersLength = importMap = void 0, inlineScriptWithNonce = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: externalRuntimeConfig\n }, \"string\" === typeof nonceStyle ? inlineScriptWithNonce.href = bootstrapScripts = nonceStyle : (inlineScriptWithNonce.href = bootstrapScripts = nonceStyle.src, inlineScriptWithNonce.integrity = maxHeadersLength = \"string\" === typeof nonceStyle.integrity ? nonceStyle.integrity : void 0, inlineScriptWithNonce.crossOrigin = importMap = \"string\" === typeof nonceStyle || null == nonceStyle.crossOrigin ? void 0 : \"use-credentials\" === nonceStyle.crossOrigin ? \"use-credentials\" : \"\"), nonceStyle = resumableState, inlineStyleWithNonce = bootstrapScripts, nonceStyle.scriptResources[inlineStyleWithNonce] = null, nonceStyle.moduleScriptResources[inlineStyleWithNonce] = null, nonceStyle = [], pushLinkImpl(nonceStyle, inlineScriptWithNonce), onHeaders.bootstrapScripts.add(nonceStyle), bootstrapChunks.push(\n startModuleSrc,\n stringToChunk(escapeTextForBrowser(bootstrapScripts)),\n attributeEnd\n ), externalRuntimeConfig && bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ), \"string\" === typeof maxHeadersLength && bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ), \"string\" === typeof importMap && bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(importMap)),\n attributeEnd\n ), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(endAsyncScript);\n return onHeaders;\n }\n function createResumableState(identifierPrefix, externalRuntimeConfig, bootstrapScriptContent, bootstrapScripts, bootstrapModules) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules,\n instructions: 0,\n hasBody: false,\n hasHtml: false,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n }\n function createPreambleState() {\n return { htmlChunks: null, headChunks: null, bodyChunks: null };\n }\n function createFormatContext(insertionMode, selectedValue, tagScope, viewTransition) {\n return {\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n };\n }\n function createRootFormatContext(namespaceURI) {\n return createFormatContext(\n \"http://www.w3.org/2000/svg\" === namespaceURI ? 4 : \"http://www.w3.org/1998/Math/MathML\" === namespaceURI ? 5 : 0,\n null,\n 0,\n null\n );\n }\n function getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode ? createFormatContext(2, null, subtreeScope, null) : parentContext.tagScope !== subtreeScope ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n ) : parentContext;\n }\n function getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition ? null : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n }\n function getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n }\n function getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState && \"none\" !== resumableState.share && (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n }\n var textSeparator = stringToPrecomputedChunk(\"<!-- -->\");\n function pushTextInstance(target, text, renderState, textEmbedded) {\n if (\"\" === text) return textEmbedded;\n textEmbedded && target.push(textSeparator);\n target.push(stringToChunk(escapeTextForBrowser(text)));\n return true;\n }\n var styleNameCache = /* @__PURE__ */ new Map();\n var styleAttributeStart = stringToPrecomputedChunk(' style=\"');\n var styleAssign = stringToPrecomputedChunk(\":\");\n var styleSeparator = stringToPrecomputedChunk(\";\");\n function pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage3(62));\n var isFirst = true, styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (null != styleValue && \"boolean\" !== typeof styleValue && \"\" !== styleValue) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = stringToChunk(escapeTextForBrowser(styleName));\n styleValue = stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n );\n } else\n nameChunk = styleNameCache.get(styleName), void 0 === nameChunk && (nameChunk = stringToPrecomputedChunk(\n escapeTextForBrowser(\n styleName.replace(uppercasePattern, \"-$1\").toLowerCase().replace(msPattern, \"-ms-\")\n )\n ), styleNameCache.set(styleName, nameChunk)), styleValue = \"number\" === typeof styleValue ? 0 === styleValue || unitlessNumbers.has(styleName) ? stringToChunk(\"\" + styleValue) : stringToChunk(styleValue + \"px\") : stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n );\n isFirst ? (isFirst = false, target.push(\n styleAttributeStart,\n nameChunk,\n styleAssign,\n styleValue\n )) : target.push(styleSeparator, nameChunk, styleAssign, styleValue);\n }\n }\n isFirst || target.push(attributeEnd);\n }\n var attributeSeparator = stringToPrecomputedChunk(\" \");\n var attributeAssign = stringToPrecomputedChunk('=\"');\n var attributeEnd = stringToPrecomputedChunk('\"');\n var attributeEmptyString = stringToPrecomputedChunk('=\"\"');\n function pushBooleanAttribute(target, name, value) {\n value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(attributeSeparator, stringToChunk(name), attributeEmptyString);\n }\n function pushStringAttribute(target, name, value) {\n \"function\" !== typeof value && \"symbol\" !== typeof value && \"boolean\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n }\n var actionJavaScriptURL = stringToPrecomputedChunk(\n escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n )\n );\n var startHiddenInputChunk = stringToPrecomputedChunk('<input type=\"hidden\"');\n function pushAdditionalFormField(value, key) {\n this.push(startHiddenInputChunk);\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(endOfStartTagSelfClosing);\n }\n function validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage3(480));\n }\n function getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then)\n throw x2;\n }\n }\n return null;\n }\n function pushFormActionAttribute(target, resumableState, renderState, formAction, formEncType, formMethod, formTarget, name) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields ? (name = customFields.name, formAction = customFields.action || \"\", formEncType = customFields.encType, formMethod = customFields.method, formTarget = customFields.target, formData = customFields.data) : (target.push(\n attributeSeparator,\n stringToChunk(\"formAction\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ), formTarget = formMethod = formEncType = formAction = name = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n }\n function pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (null == value || \"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\"function\" === typeof value || \"symbol\" === typeof value || \"boolean\" === typeof value)\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(\"xlink:href\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\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 \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\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 && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n );\n break;\n case \"capture\":\n case \"download\":\n true === value ? target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n ) : false !== value && \"function\" !== typeof value && \"symbol\" !== typeof value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value && \"symbol\" !== typeof value && !isNaN(value) && 1 <= value && target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value || \"symbol\" === typeof value || isNaN(value) || target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (!(2 < name.length) || \"o\" !== name[0] && \"O\" !== name[0] || \"n\" !== name[1] && \"N\" !== name[1]) {\n if (name = aliases.get(name) || name, isAttributeNameSafe(name)) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n }\n }\n }\n }\n var endOfStartTag = stringToPrecomputedChunk(\">\");\n var endOfStartTagSelfClosing = stringToPrecomputedChunk(\"/>\");\n function pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage3(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(stringToChunk(\"\" + innerHTML));\n }\n }\n function flattenOptionChildren(children) {\n var content = \"\";\n React137.Children.forEach(children, function(child) {\n null != child && (content += child);\n });\n return content;\n }\n var selectedMarkerAttribute = stringToPrecomputedChunk(' selected=\"\"');\n var formReplayingRuntimeScript = stringToPrecomputedChunk(\n `addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error('React form unexpectedly submitted.')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});`\n );\n function injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble, bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length ? (bootstrapChunks.push(renderState.startInlineScript), pushCompletedShellIdAttribute(bootstrapChunks, resumableState), bootstrapChunks.push(\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n )) : bootstrapChunks.unshift(\n renderState.startInlineScript,\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n );\n }\n }\n var formStateMarkerIsMatching = stringToPrecomputedChunk(\"<!--F!-->\");\n var formStateMarkerIsNotMatching = stringToPrecomputedChunk(\"<!--F-->\");\n function pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n }\n var styleRegex = /(<\\/|<)(s)(tyle)/gi;\n function styleReplacer(match2, prefix3, s2, suffix3) {\n return \"\" + prefix3 + (\"s\" === s2 ? \"\\\\73 \" : \"\\\\53 \") + suffix3;\n }\n function pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n }\n function pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n props = Array.isArray(children) ? 2 > children.length ? children[0] : null : children;\n \"function\" !== typeof props && \"symbol\" !== typeof props && null !== props && void 0 !== props && target.push(stringToChunk(escapeTextForBrowser(\"\" + props)));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n }\n var headPreambleContributionChunk = stringToPrecomputedChunk(\"<!--head-->\");\n var bodyPreambleContributionChunk = stringToPrecomputedChunk(\"<!--body-->\");\n var htmlPreambleContributionChunk = stringToPrecomputedChunk(\"<!--html-->\");\n function pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children && target.push(\n stringToChunk((\"\" + children).replace(scriptRegex, scriptReplacer))\n );\n target.push(endChunkForTag(\"script\"));\n return null;\n }\n function pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n }\n function pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = tag = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag ? (target.push(stringToChunk(escapeTextForBrowser(tag))), null) : tag;\n }\n var leadingNewline = stringToPrecomputedChunk(\"\\n\");\n var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n var validatedTagCache = /* @__PURE__ */ new Map();\n function startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage3(65, tag));\n tagStartChunk = stringToPrecomputedChunk(\"<\" + tag);\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n }\n var doctypeChunk = stringToPrecomputedChunk(\"<!DOCTYPE html>\");\n function pushStartInstance(target$jscomp$0, type, props, resumableState, renderState, preambleState, hoistableState, formatContext, textEmbedded) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null, innerHTML = null, propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue ? pushStringAttribute(target$jscomp$0, \"href\", \"\") : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children)));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null, innerHTML$jscomp$0 = null, propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null, value = null, selected = null, innerHTML$jscomp$1 = null, propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue = null !== value ? \"\" + value : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(selectedMarkerAttribute);\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue && target$jscomp$0.push(selectedMarkerAttribute);\n } else selected && target$jscomp$0.push(selectedMarkerAttribute);\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null, defaultValue = null, children$jscomp$2 = null, propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 && null !== defaultValue && (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(endOfStartTag);\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage3(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage3(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 && \"\\n\" === value$jscomp$0[0] && target$jscomp$0.push(leadingNewline);\n null !== value$jscomp$0 && target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(\"\" + value$jscomp$0))\n );\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null, formAction = null, formEncType = null, formMethod = null, formTarget = null, value$jscomp$1 = null, defaultValue$jscomp$0 = null, checked = null, defaultChecked = null, propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked) : null !== defaultChecked && pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1 ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1) : null !== defaultValue$jscomp$0 && pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(endOfStartTagSelfClosing);\n null != formData && formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null, innerHTML$jscomp$2 = null, name$jscomp$0 = null, formAction$jscomp$0 = null, formEncType$jscomp$0 = null, formMethod$jscomp$0 = null, formTarget$jscomp$0 = null, propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(endOfStartTag);\n null != formData$jscomp$0 && formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$3))\n );\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null, innerHTML$jscomp$3 = null, formAction$jscomp$1 = null, formEncType$jscomp$1 = null, formMethod$jscomp$1 = null, formTarget$jscomp$1 = null, propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null, formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields ? (formAction$jscomp$1 = customFields.action || \"\", formEncType$jscomp$1 = customFields.encType, formMethod$jscomp$1 = customFields.method, formTarget$jscomp$1 = customFields.target, formData$jscomp$1 = customFields.data, formActionName = customFields.name) : (target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"action\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ), formTarget$jscomp$1 = formMethod$jscomp$1 = formEncType$jscomp$1 = formAction$jscomp$1 = null, injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 && pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 && pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 && pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 && pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(endOfStartTag);\n null !== formActionName && (target$jscomp$0.push(startHiddenInputChunk), pushStringAttribute(target$jscomp$0, \"name\", formActionName), target$jscomp$0.push(endOfStartTagSelfClosing), null != formData$jscomp$1 && formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$4))\n );\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null, innerHTML$jscomp$4 = null, propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"data\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(sanitizedValue)),\n attributeEnd\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$5))\n );\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1, isFallback = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback ? JSCompiler_inline_result$jscomp$3 = null : (pushTitleImpl(renderState.hoistableChunks, props), JSCompiler_inline_result$jscomp$3 = void 0);\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1, isFallback$jscomp$0 = formatContext.tagScope & 4, rel = props.rel, href = props.href, precedence = props.precedence;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$0 || null != props.itemProp || \"string\" !== typeof rel || \"string\" !== typeof href || \"\" === href) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\"string\" !== typeof precedence || null != props.disabled || props.onLoad || props.onError)\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue || (styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign2({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length && adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length ? preloadResource.length = 0 : resource.state = 1;\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 && hoistableState && hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError ? JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ) : (textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0 ? null : pushLinkImpl(renderState.hoistableChunks, props));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1, asyncProp = props.async;\n if (\"string\" !== typeof props.src || !props.src || !asyncProp || \"function\" === typeof asyncProp || \"symbol\" === typeof asyncProp || props.onLoad || props.onError || 4 === formatContext.insertionMode || noscriptTagInScope$jscomp$1 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n resources = resumableState.scriptResources, preloads = renderState.preloads.scripts;\n var resourceState$jscomp$0 = resources.hasOwnProperty(key) ? resources[key] : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length && (scriptProps = assign2({}, props), adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1, precedence$jscomp$0 = props.precedence, href$jscomp$0 = props.href, nonce = props.nonce;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$2 || null != props.itemProp || \"string\" !== typeof precedence$jscomp$0 || \"string\" !== typeof href$jscomp$0 || \"\" === href$jscomp$0) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null, innerHTML$jscomp$5 = null, propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n var child = Array.isArray(children$jscomp$6) ? 2 > children$jscomp$6.length ? children$jscomp$6[0] : null : children$jscomp$6;\n \"function\" !== typeof child && \"symbol\" !== typeof child && null !== child && void 0 !== child && target$jscomp$0.push(\n stringToChunk((\"\" + child).replace(styleRegex, styleReplacer))\n );\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (null !== (resumableState.styleResources.hasOwnProperty(href$jscomp$0) ? resumableState.styleResources[href$jscomp$0] : void 0)) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 || (styleQueue$jscomp$0 = {\n precedence: stringToChunk(\n escapeTextForBrowser(precedence$jscomp$0)\n ),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(\n stringToChunk(escapeTextForBrowser(href$jscomp$0))\n );\n var target = styleQueue$jscomp$0.rules, children$jscomp$7 = null, innerHTML$jscomp$6 = null, propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7) ? 2 > children$jscomp$7.length ? children$jscomp$7[0] : null : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 && \"symbol\" !== typeof child$jscomp$0 && null !== child$jscomp$0 && void 0 !== child$jscomp$0 && target.push(\n stringToChunk(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n )\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 && hoistableState && hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1, isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (4 === formatContext.insertionMode || noscriptTagInScope$jscomp$3 || null != props.itemProp)\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(textSeparator), JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1 ? null : \"string\" === typeof props.charSet ? pushSelfClosing(renderState.charsetChunks, props, \"meta\") : \"viewport\" === props.name ? pushSelfClosing(renderState.viewportChunks, props, \"meta\") : pushSelfClosing(renderState.hoistableChunks, props, \"meta\");\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null, innerHTML$jscomp$7 = null, propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage3(60));\n if (\"object\" !== typeof innerHTML$jscomp$7 || !(\"__html\" in innerHTML$jscomp$7))\n throw Error(formatProdErrorMessage3(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html && void 0 !== html && (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0] ? target$jscomp$0.push(leadingNewline, stringToChunk(html)) : target$jscomp$0.push(stringToChunk(\"\" + html)));\n }\n \"string\" === typeof children$jscomp$8 && \"\\n\" === children$jscomp$8[0] && target$jscomp$0.push(leadingNewline);\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3, src = props.src, srcSet = props.srcSet;\n if (!(\"lazy\" === props.loading || !src && !srcSet || \"string\" !== typeof src && null != src || \"string\" !== typeof srcSet && null != srcSet || \"low\" === props.fetchPriority || pictureOrNoScriptTagInScope) && (\"string\" !== typeof src || \":\" !== src[4] || \"d\" !== src[0] && \"D\" !== src[0] || \"a\" !== src[1] && \"A\" !== src[1] || \"t\" !== src[2] && \"T\" !== src[2] || \"a\" !== src[3] && \"A\" !== src[3]) && (\"string\" !== typeof srcSet || \":\" !== srcSet[4] || \"d\" !== srcSet[0] && \"D\" !== srcSet[0] || \"a\" !== srcSet[1] && \"A\" !== srcSet[1] || \"t\" !== srcSet[2] && \"T\" !== srcSet[2] || \"a\" !== srcSet[3] && \"A\" !== srcSet[3])) {\n null !== hoistableState && formatContext.tagScope & 64 && (hoistableState.suspenseyImages = true);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0, key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src, promotablePreloads = renderState.preloads.images, resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size)\n promotablePreloads.delete(key$jscomp$0), renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (!resumableState.imageResources.hasOwnProperty(key$jscomp$0)) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input2 = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 = \"string\" === typeof input2 ? \"use-credentials\" === input2 ? input2 : \"\" : void 0;\n var headers = renderState.headers, header;\n headers && 0 < headers.remainingCapacity && \"string\" !== typeof props.srcSet && (\"high\" === props.fetchPriority || 500 > headers.highImagePreloads.length) && (header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n }), 0 <= (headers.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS, headers.highImagePreloads && (headers.highImagePreloads += \", \"), headers.highImagePreloads += header) : (resource$jscomp$1 = [], pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }), \"high\" === props.fetchPriority || 10 > renderState.highImagePreloads.size ? renderState.highImagePreloads.add(resource$jscomp$1) : (renderState.bulkPreloads.add(resource$jscomp$1), promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\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 break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage3(545, \"`<head>`\"));\n null !== preambleState && target$jscomp$0.push(headPreambleContributionChunk);\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage3(545, \"`<body>`\"));\n null !== preambleState && target$jscomp$0.push(bodyPreambleContributionChunk);\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage3(545, \"`<html>`\"));\n null !== preambleState && target$jscomp$0.push(htmlPreambleContributionChunk);\n preamble$jscomp$1.htmlChunks = [doctypeChunk];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null, innerHTML$jscomp$8 = null, propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (isAttributeNameSafe(propKey$jscomp$11) && \"function\" !== typeof propValue$jscomp$11 && \"symbol\" !== typeof propValue$jscomp$11 && false !== propValue$jscomp$11) {\n if (true === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(attributeName),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(propValue$jscomp$11)),\n attributeEnd\n );\n }\n }\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n }\n var endTagCache = /* @__PURE__ */ new Map();\n function endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && (chunk = stringToPrecomputedChunk(\"</\" + tag + \">\"), endTagCache.set(tag, chunk));\n return chunk;\n }\n function hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks && preambleState.htmlChunks && (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks && preambleState.headChunks && (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks && preambleState.bodyChunks && (renderState.bodyChunks = preambleState.bodyChunks);\n }\n function writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n writeChunk(destination, renderState[i]);\n return i < renderState.length ? (i = renderState[i], renderState.length = 0, writeChunkAndReturn(destination, i)) : true;\n }\n var shellTimeRuntimeScript = stringToPrecomputedChunk(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n );\n var placeholder1 = stringToPrecomputedChunk('<template id=\"');\n var placeholder2 = stringToPrecomputedChunk('\"></template>');\n var startActivityBoundary = stringToPrecomputedChunk(\"<!--&-->\");\n var endActivityBoundary = stringToPrecomputedChunk(\"<!--/&-->\");\n var startCompletedSuspenseBoundary = stringToPrecomputedChunk(\"<!--$-->\");\n var startPendingSuspenseBoundary1 = stringToPrecomputedChunk(\n '<!--$?--><template id=\"'\n );\n var startPendingSuspenseBoundary2 = stringToPrecomputedChunk('\"></template>');\n var startClientRenderedSuspenseBoundary = stringToPrecomputedChunk(\"<!--$!-->\");\n var endSuspenseBoundary = stringToPrecomputedChunk(\"<!--/$-->\");\n var clientRenderedSuspenseBoundaryError1 = stringToPrecomputedChunk(\"<template\");\n var clientRenderedSuspenseBoundaryErrorAttrInterstitial = stringToPrecomputedChunk('\"');\n var clientRenderedSuspenseBoundaryError1A = stringToPrecomputedChunk(' data-dgst=\"');\n stringToPrecomputedChunk(' data-msg=\"');\n stringToPrecomputedChunk(' data-stck=\"');\n stringToPrecomputedChunk(' data-cstck=\"');\n var clientRenderedSuspenseBoundaryError2 = stringToPrecomputedChunk(\"></template>\");\n function writeStartPendingSuspenseBoundary(destination, renderState, id) {\n writeChunk(destination, startPendingSuspenseBoundary1);\n if (null === id) throw Error(formatProdErrorMessage3(395));\n writeChunk(destination, renderState.boundaryPrefix);\n writeChunk(destination, stringToChunk(id.toString(16)));\n return writeChunkAndReturn(destination, startPendingSuspenseBoundary2);\n }\n var startSegmentHTML = stringToPrecomputedChunk('<div hidden id=\"');\n var startSegmentHTML2 = stringToPrecomputedChunk('\">');\n var endSegmentHTML = stringToPrecomputedChunk(\"</div>\");\n var startSegmentSVG = stringToPrecomputedChunk(\n '<svg aria-hidden=\"true\" style=\"display:none\" id=\"'\n );\n var startSegmentSVG2 = stringToPrecomputedChunk('\">');\n var endSegmentSVG = stringToPrecomputedChunk(\"</svg>\");\n var startSegmentMathML = stringToPrecomputedChunk(\n '<math aria-hidden=\"true\" style=\"display:none\" id=\"'\n );\n var startSegmentMathML2 = stringToPrecomputedChunk('\">');\n var endSegmentMathML = stringToPrecomputedChunk(\"</math>\");\n var startSegmentTable = stringToPrecomputedChunk('<table hidden id=\"');\n var startSegmentTable2 = stringToPrecomputedChunk('\">');\n var endSegmentTable = stringToPrecomputedChunk(\"</table>\");\n var startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id=\"');\n var startSegmentTableBody2 = stringToPrecomputedChunk('\">');\n var endSegmentTableBody = stringToPrecomputedChunk(\"</tbody></table>\");\n var startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id=\"');\n var startSegmentTableRow2 = stringToPrecomputedChunk('\">');\n var endSegmentTableRow = stringToPrecomputedChunk(\"</tr></table>\");\n var startSegmentColGroup = stringToPrecomputedChunk(\n '<table hidden><colgroup id=\"'\n );\n var startSegmentColGroup2 = stringToPrecomputedChunk('\">');\n var endSegmentColGroup = stringToPrecomputedChunk(\"</colgroup></table>\");\n function writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return writeChunk(destination, startSegmentHTML), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentHTML2);\n case 4:\n return writeChunk(destination, startSegmentSVG), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentSVG2);\n case 5:\n return writeChunk(destination, startSegmentMathML), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentMathML2);\n case 6:\n return writeChunk(destination, startSegmentTable), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTable2);\n case 7:\n return writeChunk(destination, startSegmentTableBody), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableBody2);\n case 8:\n return writeChunk(destination, startSegmentTableRow), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentTableRow2);\n case 9:\n return writeChunk(destination, startSegmentColGroup), writeChunk(destination, renderState.segmentPrefix), writeChunk(destination, stringToChunk(id.toString(16))), writeChunkAndReturn(destination, startSegmentColGroup2);\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n function writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return writeChunkAndReturn(destination, endSegmentHTML);\n case 4:\n return writeChunkAndReturn(destination, endSegmentSVG);\n case 5:\n return writeChunkAndReturn(destination, endSegmentMathML);\n case 6:\n return writeChunkAndReturn(destination, endSegmentTable);\n case 7:\n return writeChunkAndReturn(destination, endSegmentTableBody);\n case 8:\n return writeChunkAndReturn(destination, endSegmentTableRow);\n case 9:\n return writeChunkAndReturn(destination, endSegmentColGroup);\n default:\n throw Error(formatProdErrorMessage3(397));\n }\n }\n var completeSegmentScript1Full = stringToPrecomputedChunk(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n );\n var completeSegmentScript1Partial = stringToPrecomputedChunk('$RS(\"');\n var completeSegmentScript2 = stringToPrecomputedChunk('\",\"');\n var completeSegmentScriptEnd = stringToPrecomputedChunk('\")<\\/script>');\n stringToPrecomputedChunk('<template data-rsi=\"\" data-sid=\"');\n stringToPrecomputedChunk('\" data-pid=\"');\n var completeBoundaryScriptFunctionOnly = stringToPrecomputedChunk(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n );\n stringToChunk(\n `$RV=function(A,g){function k(a,b){var e=a.getAttribute(b);e&&(b=a.style,l.push(a,b.viewTransitionName,b.viewTransitionClass),\"auto\"!==e&&(b.viewTransitionClass=e),(a=a.getAttribute(\"vt-name\"))||(a=\"_T_\"+K++ +\"_\"),b.viewTransitionName=a,B=!0)}var B=!1,K=0,l=[];try{var f=document.__reactViewTransition;if(f){f.finished.finally($RV.bind(null,g));return}var m=new Map;for(f=1;f<g.length;f+=2)for(var h=g[f].querySelectorAll(\"[vt-share]\"),d=0;d<h.length;d++){var c=h[d];m.set(c.getAttribute(\"vt-name\"),c)}var u=[];for(h=0;h<g.length;h+=2){var C=g[h],x=C.parentNode;if(x){var v=x.getBoundingClientRect();if(v.left||v.top||v.width||v.height){c=C;for(f=0;c;){if(8===c.nodeType){var r=c.data;if(\"/$\"===r)if(0===f)break;else f--;else\"$\"!==r&&\"$?\"!==r&&\"$~\"!==r&&\"$!\"!==r||f++}else if(1===c.nodeType){d=c;var D=d.getAttribute(\"vt-name\"),y=m.get(D);k(d,y?\"vt-share\":\"vt-exit\");y&&(k(y,\"vt-share\"),m.set(D,null));var E=d.querySelectorAll(\"[vt-share]\");for(d=0;d<E.length;d++){var F=E[d],G=F.getAttribute(\"vt-name\"),\nH=m.get(G);H&&(k(F,\"vt-share\"),k(H,\"vt-share\"),m.set(G,null))}}c=c.nextSibling}for(var I=g[h+1],t=I.firstElementChild;t;)null!==m.get(t.getAttribute(\"vt-name\"))&&k(t,\"vt-enter\"),t=t.nextElementSibling;c=x;do for(var n=c.firstElementChild;n;){var J=n.getAttribute(\"vt-update\");J&&\"none\"!==J&&!l.includes(n)&&k(n,\"vt-update\");n=n.nextElementSibling}while((c=c.parentNode)&&1===c.nodeType&&\"none\"!==c.getAttribute(\"vt-update\"));u.push.apply(u,I.querySelectorAll('img[src]:not([loading=\"lazy\"])'))}}}if(B){var z=\ndocument.__reactViewTransition=document.startViewTransition({update:function(){A(g);for(var a=[document.documentElement.clientHeight,document.fonts.ready],b={},e=0;e<u.length;b={g:b.g},e++)if(b.g=u[e],!b.g.complete){var p=b.g.getBoundingClientRect();0<p.bottom&&0<p.right&&p.top<window.innerHeight&&p.left<window.innerWidth&&(p=new Promise(function(w){return function(q){w.g.addEventListener(\"load\",q);w.g.addEventListener(\"error\",q)}}(b)),a.push(p))}return Promise.race([Promise.all(a),new Promise(function(w){var q=\nperformance.now();setTimeout(w,2300>q&&2E3<q?2300-q:500)})])},types:[]});z.ready.finally(function(){for(var a=l.length-3;0<=a;a-=3){var b=l[a],e=b.style;e.viewTransitionName=l[a+1];e.viewTransitionClass=l[a+1];\"\"===b.getAttribute(\"style\")&&b.removeAttribute(\"style\")}});z.finished.finally(function(){document.__reactViewTransition===z&&(document.__reactViewTransition=null)});$RB=[];return}}catch(a){}A(g)}.bind(null,$RV);`\n );\n var completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC(\"');\n var completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n );\n var completeBoundaryWithStylesScript1Partial = stringToPrecomputedChunk('$RR(\"');\n var completeBoundaryScript2 = stringToPrecomputedChunk('\",\"');\n var completeBoundaryScript3a = stringToPrecomputedChunk('\",');\n var completeBoundaryScript3b = stringToPrecomputedChunk('\"');\n var completeBoundaryScriptEnd = stringToPrecomputedChunk(\")<\\/script>\");\n stringToPrecomputedChunk('<template data-rci=\"\" data-bid=\"');\n stringToPrecomputedChunk('<template data-rri=\"\" data-bid=\"');\n stringToPrecomputedChunk('\" data-sid=\"');\n stringToPrecomputedChunk('\" data-sty=\"');\n var clientRenderScriptFunctionOnly = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n );\n var clientRenderScript1Full = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n );\n var clientRenderScript1Partial = stringToPrecomputedChunk('$RX(\"');\n var clientRenderScript1A = stringToPrecomputedChunk('\"');\n var clientRenderErrorScriptArgInterstitial = stringToPrecomputedChunk(\",\");\n var clientRenderScriptEnd = stringToPrecomputedChunk(\")<\\/script>\");\n stringToPrecomputedChunk('<template data-rxi=\"\" data-bid=\"');\n stringToPrecomputedChunk('\" data-dgst=\"');\n stringToPrecomputedChunk('\" data-msg=\"');\n stringToPrecomputedChunk('\" data-stck=\"');\n stringToPrecomputedChunk('\" data-cstck=\"');\n var regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\n function escapeJSStringsForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInInstructionScripts,\n function(match2) {\n switch (match2) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\n function escapeJSObjectForInstructionScripts(input2) {\n return JSON.stringify(input2).replace(\n regexForJSStringsInScripts,\n function(match2) {\n switch (match2) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n }\n var lateStyleTagResourceOpen1 = stringToPrecomputedChunk(\n ' media=\"not all\" data-precedence=\"'\n );\n var lateStyleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"');\n var lateStyleTagResourceOpen3 = stringToPrecomputedChunk('\">');\n var lateStyleTagTemplateClose = stringToPrecomputedChunk(\"</style>\");\n var currentlyRenderingBoundaryHasStylesToHoist = false;\n var destinationHasCapacity = true;\n function flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs, i = 0;\n if (hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, lateStyleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n for (writeChunk(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++)\n writeChunk(this, hrefs[i]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[i]);\n writeChunk(this, lateStyleTagResourceOpen3);\n for (i = 0; i < rules.length; i++) writeChunk(this, rules[i]);\n destinationHasCapacity = writeChunkAndReturn(\n this,\n lateStyleTagTemplateClose\n );\n currentlyRenderingBoundaryHasStylesToHoist = true;\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state ? currentlyRenderingBoundaryHasStylesToHoist = true : false;\n }\n function writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = false;\n destinationHasCapacity = true;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist && (renderState.stylesToHoist = true);\n return destinationHasCapacity;\n }\n function flushResource(resource) {\n for (var i = 0; i < resource.length; i++) writeChunk(this, resource[i]);\n resource.length = 0;\n }\n var stylesheetFlushingQueue = [];\n function flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n writeChunk(this, stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n }\n var styleTagResourceOpen1 = stringToPrecomputedChunk(' data-precedence=\"');\n var styleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"');\n var spaceSeparator = stringToPrecomputedChunk(\" \");\n var styleTagResourceOpen3 = stringToPrecomputedChunk('\">');\n var styleTagResourceClose = stringToPrecomputedChunk(\"</style>\");\n function flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules, hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, styleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (writeChunk(this, styleTagResourceOpen2); styleQueue < hrefs.length - 1; styleQueue++)\n writeChunk(this, hrefs[styleQueue]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[styleQueue]);\n }\n writeChunk(this, styleTagResourceOpen3);\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n writeChunk(this, rules[styleQueue]);\n writeChunk(this, styleTagResourceClose);\n rules.length = 0;\n hrefs.length = 0;\n }\n }\n function preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (stylesheet = 0; stylesheet < stylesheetFlushingQueue.length; stylesheet++)\n writeChunk(this, stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n }\n function preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n }\n stringToPrecomputedChunk('<link rel=\"expect\" href=\"#');\n stringToPrecomputedChunk('\" blocking=\"render\"/>');\n var completedShellIdAttributeStart = stringToPrecomputedChunk(' id=\"');\n function pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) && (resumableState.instructions |= 32, target.push(\n completedShellIdAttributeStart,\n stringToChunk(escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\")),\n attributeEnd\n ));\n }\n var arrayFirstOpenBracket = stringToPrecomputedChunk(\"[\");\n var arraySubsequentOpenBracket = stringToPrecomputedChunk(\",[\");\n var arrayInterstitial = stringToPrecomputedChunk(\",\");\n var arrayCloseBracket = stringToPrecomputedChunk(\"]\");\n function writeStyleResourceDependenciesInJS(destination, hoistableState) {\n writeChunk(destination, arrayFirstOpenBracket);\n var nextArrayOpenBrackChunk = arrayFirstOpenBracket;\n hoistableState.stylesheets.forEach(function(resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n writeChunk(destination, nextArrayOpenBrackChunk), writeChunk(\n destination,\n stringToChunk(\n escapeJSObjectForInstructionScripts(\"\" + resource.props.href)\n )\n ), writeChunk(destination, arrayCloseBracket), nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n else {\n writeChunk(destination, nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"], props = resource.props, coercedHref = sanitizeURL(\"\" + resource.props.href);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(coercedHref))\n );\n precedence = \"\" + precedence;\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(precedence))\n );\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey) && (precedence = props[propKey], null != precedence))\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage3(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n writeChunk(destination, arrayCloseBracket);\n nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n resource.state = 3;\n }\n });\n writeChunk(destination, arrayCloseBracket);\n }\n function writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (false === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (2 < name.length && (\"o\" === name[0] || \"O\" === name[0]) && (\"n\" === name[1] || \"N\" === name[1]) || !isAttributeNameSafe(name))\n return;\n name = \"\" + value;\n }\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(attributeName))\n );\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(name))\n );\n }\n function createHoistableState() {\n return { styles: /* @__PURE__ */ new Set(), stylesheets: /* @__PURE__ */ new Set(), suspenseyImages: false };\n }\n function prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity)\n JSCompiler_temp = (header = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=dns-prefetch\", 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp ? (renderState.resets.dns[href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (header = [], pushLinkImpl(header, { href, rel: \"dns-prefetch\" }), renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n }\n function preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket = \"use-credentials\" === crossOrigin ? \"credentials\" : \"string\" === typeof crossOrigin ? \"anonymous\" : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (JSCompiler_temp = resumableState && 0 < resumableState.remainingCapacity) {\n JSCompiler_temp = \"<\" + (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) + \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp = (header = JSCompiler_temp, 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp ? (renderState.resets.connect[bucket][href] = null, resumableState.preconnects && (resumableState.preconnects += \", \"), resumableState.preconnects += header) : (bucket = [], pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href,\n crossOrigin\n }), renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n }\n function preload(href, as, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options2) {\n var imageSrcSet = options2.imageSrcSet;\n var imageSizes = options2.imageSizes;\n var fetchPriority = options2.fetchPriority;\n }\n var key = imageSrcSet ? imageSrcSet + \"\\n\" + (imageSizes || \"\") : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState && 0 < resumableState.remainingCapacity && \"string\" !== typeof imageSrcSet && \"high\" === fetchPriority && (header = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= header.length + 2)) ? (renderState.resets.image[key] = PRELOAD_NO_CREDS, resumableState.highImagePreloads && (resumableState.highImagePreloads += \", \"), resumableState.highImagePreloads += header) : (resumableState = [], pushLinkImpl(\n resumableState,\n assign2(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as },\n options2\n )\n ), \"high\" === fetchPriority ? renderState.highImagePreloads.add(resumableState) : (renderState.bulkPreloads.add(resumableState), renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.styleResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign2({ rel: \"preload\", href, as }, options2)\n );\n resumableState.scriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (imageSrcSet = resumableState.unknownResources[as], imageSrcSet.hasOwnProperty(href))\n return;\n } else\n imageSrcSet = {}, resumableState.unknownResources[as] = imageSrcSet;\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if ((resumableState = renderState.headers) && 0 < resumableState.remainingCapacity && \"font\" === as && (key = getPreloadAsHeader(href, as, options2), 0 <= (resumableState.remainingCapacity -= key.length + 2)))\n renderState.resets.font[href] = PRELOAD_NO_CREDS, resumableState.fontPreloads && (resumableState.fontPreloads += \", \"), resumableState.fontPreloads += key;\n else\n switch (resumableState = [], href = assign2({ rel: \"preload\", href, as }, options2), pushLinkImpl(resumableState, href), as) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options2);\n }\n function preloadModule(href, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n var as = options2 && \"string\" === typeof options2.as ? options2.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] = !options2 || \"string\" !== typeof options2.crossOrigin && \"string\" !== typeof options2.integrity ? PRELOAD_NO_CREDS : [options2.crossOrigin, options2.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n resources = {}, resumableState.moduleUnknownResources[as] = resources;\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign2({ rel: \"modulepreload\", href }, options2));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options2);\n }\n function preinitStyle(href, precedence, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence), resourceState = resumableState.styleResources.hasOwnProperty(href) ? resumableState.styleResources[href] : void 0;\n null !== resourceState && (resumableState.styleResources[href] = null, styleQueue || (styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: /* @__PURE__ */ new Map()\n }, renderState.styles.set(precedence, styleQueue)), precedence = {\n state: 0,\n props: assign2(\n { rel: \"stylesheet\", href, \"data-precedence\": precedence },\n options2\n )\n }, resourceState && (2 === resourceState.length && adoptPreloadCredentials(precedence.props, resourceState), (renderState = renderState.preloads.stylesheets.get(href)) && 0 < renderState.length ? renderState.length = 0 : precedence.state = 1), styleQueue.sheets.set(href, precedence), enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options2);\n }\n function preinitScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src) ? resumableState.scriptResources[src] : void 0;\n null !== resourceState && (resumableState.scriptResources[src] = null, options2 = assign2({ src, async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.scripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options2);\n }\n function preinitModuleScript(src, options2) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState, renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n ) ? resumableState.moduleScriptResources[src] : void 0;\n null !== resourceState && (resumableState.moduleScriptResources[src] = null, options2 = assign2({ src, type: \"module\", async: true }, options2), resourceState && (2 === resourceState.length && adoptPreloadCredentials(options2, resourceState), src = renderState.preloads.moduleScripts.get(src)) && (src.length = 0), src = [], renderState.scripts.add(src), pushScriptImpl(src, options2), enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options2);\n }\n function adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n }\n function getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) && (href = params[paramName], \"string\" === typeof href && (as += \"; \" + paramName.toLowerCase() + '=\"' + (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) + '\"'));\n return as;\n }\n var regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\n function escapeHrefForLinkHeaderURLContextReplacer(match2) {\n switch (match2) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n var regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\n function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match2) {\n switch (match2) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n function hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n }\n function hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n }\n function hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = true);\n }\n function hasSuspenseyContent(hoistableState) {\n return 0 < hoistableState.stylesheets.size || hoistableState.suspenseyImages;\n }\n var bind = Function.prototype.bind;\n var REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for(\"react.client.reference\");\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE ? null : 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_TYPE2:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE2:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x2) {\n }\n }\n return null;\n }\n var emptyContextObject = {};\n var currentActiveSnapshot = null;\n function popToNearestCommonAncestor(prev, next2) {\n if (prev !== next2) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n var parentNext = next2.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage3(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage3(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next2.context._currentValue = next2.value;\n }\n }\n function popAllPrevious(prev) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n }\n function pushAllNext(next2) {\n var parentNext = next2.parent;\n null !== parentNext && pushAllNext(parentNext);\n next2.context._currentValue = next2.value;\n }\n function popPreviousToCommonLevel(prev, next2) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage3(402));\n prev.depth === next2.depth ? popToNearestCommonAncestor(prev, next2) : popPreviousToCommonLevel(prev, next2);\n }\n function popNextToCommonLevel(prev, next2) {\n var parentNext = next2.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage3(402));\n prev.depth === parentNext.depth ? popToNearestCommonAncestor(prev, parentNext) : popNextToCommonLevel(prev, parentNext);\n next2.context._currentValue = next2.value;\n }\n function switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot && (null === prev ? pushAllNext(newSnapshot) : null === newSnapshot ? popAllPrevious(prev) : prev.depth === newSnapshot.depth ? popToNearestCommonAncestor(prev, newSnapshot) : prev.depth > newSnapshot.depth ? popPreviousToCommonLevel(prev, newSnapshot) : popNextToCommonLevel(prev, newSnapshot), currentActiveSnapshot = newSnapshot);\n }\n var classComponentUpdater = {\n enqueueSetState: function(inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function(inst, payload) {\n inst = inst._reactInternals;\n inst.replace = true;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function() {\n }\n };\n var emptyTreeContext = { id: 1, overflow: \"\" };\n function pushTreeContext(baseContext, totalChildren, index2) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index2 += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - baseLength % 5;\n length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id: 1 << 32 - clz32(totalChildren) + baseLength | index2 << baseLength | baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: 1 << length | index2 << baseLength | baseIdWithLeadingBit,\n overflow: baseContext\n };\n }\n var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback;\n var log2 = Math.log;\n var LN2 = Math.LN2;\n function clz32Fallback(x2) {\n x2 >>>= 0;\n return 0 === x2 ? 32 : 31 - (log2(x2) / LN2 | 0) | 0;\n }\n function noop7() {\n }\n var SuspenseException = Error(formatProdErrorMessage3(460));\n function trackUsedThenable(thenableState2, thenable, index2) {\n index2 = thenableState2[index2];\n void 0 === index2 ? thenableState2.push(thenable) : index2 !== thenable && (thenable.then(noop7, noop7), thenable = index2);\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenableState2 = thenable, thenableState2.status = \"pending\", thenableState2.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 switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n var suspendedThenable = null;\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage3(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var currentlyRenderingComponent = null;\n var currentlyRenderingTask = null;\n var currentlyRenderingRequest = null;\n var currentlyRenderingKeyPath = null;\n var firstWorkInProgressHook = null;\n var workInProgressHook = null;\n var isReRender = false;\n var didScheduleRenderPhaseUpdate = false;\n var localIdCounter = 0;\n var actionStateCounter = 0;\n var actionStateMatchingIndex = -1;\n var thenableIndexCounter = 0;\n var thenableState = null;\n var renderPhaseUpdates = null;\n var numberOfReRenders = 0;\n function resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage3(321));\n return currentlyRenderingComponent;\n }\n function createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage3(312));\n return { memoizedState: null, queue: null, next: null };\n }\n function createWorkInProgressHook() {\n null === workInProgressHook ? null === firstWorkInProgressHook ? (isReRender = false, firstWorkInProgressHook = workInProgressHook = createHook()) : (isReRender = true, workInProgressHook = firstWorkInProgressHook) : null === workInProgressHook.next ? (isReRender = false, workInProgressHook = workInProgressHook.next = createHook()) : (isReRender = true, workInProgressHook = workInProgressHook.next);\n return workInProgressHook;\n }\n function getThenableStateAfterSuspending() {\n var state2 = thenableState;\n thenableState = null;\n return state2;\n }\n function resetHooksState() {\n currentlyRenderingKeyPath = currentlyRenderingRequest = currentlyRenderingTask = currentlyRenderingComponent = null;\n didScheduleRenderPhaseUpdate = false;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n }\n function basicStateReducer(state2, action) {\n return \"function\" === typeof action ? action(state2) : action;\n }\n function useReducer4(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (null !== renderPhaseUpdates && (init = renderPhaseUpdates.get(queue), void 0 !== init)) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do\n queue = reducer(queue, init.action), init = init.next;\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer = reducer === basicStateReducer ? \"function\" === typeof initialArg ? initialArg() : initialArg : void 0 !== init ? init(initialArg) : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n }\n function useMemo33(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = false;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = false;\n break a;\n }\n prevDeps = true;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n }\n function dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage3(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (didScheduleRenderPhaseUpdate = true, componentIdentity = { action, next: null }, null === renderPhaseUpdates && (renderPhaseUpdates = /* @__PURE__ */ new Map()), action = renderPhaseUpdates.get(queue), void 0 === action)\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n }\n function throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage3(440));\n }\n function unsupportedStartTransition() {\n throw Error(formatProdErrorMessage3(394));\n }\n function unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage3(479));\n }\n function useActionState(action, initialState15, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++, request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null, componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n ), postbackKey === nextPostbackStateKey && (actionStateMatchingIndex = actionStateHookIndex, initialState15 = request[0]));\n }\n var boundAction = action.bind(null, initialState15);\n action = function(payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION && (action.$$FORM_ACTION = function(prefix3) {\n prefix3 = boundAction.$$FORM_ACTION(prefix3);\n void 0 !== permalink && (permalink += \"\", prefix3.action = permalink);\n var formData = prefix3.data;\n formData && (null === nextPostbackStateKey && (nextPostbackStateKey = void 0 !== permalink ? \"p\" + permalink : \"k\" + murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )), formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix3;\n });\n return [initialState15, action, false];\n }\n var boundAction$22 = action.bind(null, initialState15);\n return [\n initialState15,\n function(payload) {\n boundAction$22(payload);\n },\n false\n ];\n }\n function unwrapThenable(thenable) {\n var index2 = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index2);\n }\n function unsupportedRefresh() {\n throw Error(formatProdErrorMessage3(393));\n }\n var HooksDispatcher = {\n readContext: function(context) {\n return context._currentValue;\n },\n use: function(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue;\n }\n throw Error(formatProdErrorMessage3(438, String(usable)));\n },\n useContext: function(context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue;\n },\n useMemo: useMemo33,\n useReducer: useReducer4,\n useRef: function(initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef ? (initialValue = { current: initialValue }, workInProgressHook.memoizedState = initialValue) : previousRef;\n },\n useState: function(initialState15) {\n return useReducer4(basicStateReducer, initialState15);\n },\n useInsertionEffect: noop7,\n useLayoutEffect: noop7,\n useCallback: function(callback, deps) {\n return useMemo33(function() {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop7,\n useEffect: noop7,\n useDebugValue: noop7,\n useDeferredValue: function(value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function() {\n resolveCurrentlyRenderingComponent();\n return [false, unsupportedStartTransition];\n },\n useId: function() {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result = (JSCompiler_inline_result & ~(1 << 32 - clz32(JSCompiler_inline_result) - 1)).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage3(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result = \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage3(407));\n return getServerSnapshot();\n },\n useOptimistic: function(passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function() {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function(size4) {\n for (var data = Array(size4), i = 0; i < size4; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function() {\n return unsupportedRefresh;\n },\n useEffectEvent: function() {\n return throwOnUseEffectEventCall;\n }\n };\n var currentResumableState = null;\n var DefaultAsyncDispatcher = {\n getCacheForType: function() {\n throw Error(formatProdErrorMessage3(248));\n },\n cacheSignal: function() {\n throw Error(formatProdErrorMessage3(248));\n }\n };\n var prefix2;\n var suffix2;\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix2)\n try {\n throw Error();\n } catch (x2) {\n var match2 = x2.stack.trim().match(/\\n( *(at )?)/);\n prefix2 = match2 && match2[1] || \"\";\n suffix2 = -1 < x2.stack.indexOf(\"\\n at\") ? \" (<anonymous>)\" : -1 < x2.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix2 + name + suffix2;\n }\n var reentry = false;\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = true;\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 (x2) {\n var control = x2;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function() {\n });\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 = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"), controlLines = controlStack.split(\"\\n\");\n for (namePropDescriptor = RunInRootFrame = 0; RunInRootFrame < sampleLines.length && !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\"); )\n RunInRootFrame++;\n for (; namePropDescriptor < controlLines.length && !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n ); )\n namePropDescriptor++;\n if (RunInRootFrame === sampleLines.length || namePropDescriptor === controlLines.length)\n for (RunInRootFrame = sampleLines.length - 1, namePropDescriptor = controlLines.length - 1; 1 <= RunInRootFrame && 0 <= namePropDescriptor && sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; )\n namePropDescriptor--;\n for (; 1 <= RunInRootFrame && 0 <= namePropDescriptor; RunInRootFrame--, namePropDescriptor--)\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (RunInRootFrame--, namePropDescriptor--, 0 > namePropDescriptor || sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n var frame = \"\\n\" + sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName && frame.includes(\"<anonymous>\") && (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 = false, Error.prepareStackTrace = previousPrepareStackTrace;\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(previousPrepareStackTrace) : \"\";\n }\n function describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent ? describeNativeComponentFrame(type, true) : describeNativeComponentFrame(type, false);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n return describeNativeComponentFrame(type.render, false);\n case REACT_MEMO_TYPE2:\n return describeNativeComponentFrame(type.type, false);\n case REACT_LAZY_TYPE:\n var lazyComponent = type, payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x2) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (null != location && (type = Error.prepareStackTrace, Error.prepareStackTrace = void 0, location = location.stack, Error.prepareStackTrace = type, location.startsWith(\"Error: react-stack-top-frame\\n\") && (location = location.slice(29)), type = location.indexOf(\"\\n\"), -1 !== type && (location = location.slice(type + 1)), type = location.indexOf(\"react_stack_bottom_frame\"), -1 !== type && (type = location.lastIndexOf(\"\\n\", type)), type = -1 !== type ? location = location.slice(0, type) : \"\", location = type.lastIndexOf(\"\\n\"), type = -1 === location ? type : type.slice(location + 1), -1 !== type.indexOf(payload))) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n }\n function isEligibleForOutlining(request, boundary) {\n return (500 < boundary.byteSize || hasSuspenseyContent(boundary.contentState)) && null === boundary.contentPreamble;\n }\n function defaultErrorHandler2(error) {\n if (\"object\" === typeof error && null !== error && \"string\" === typeof error.environmentName) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0] ? error.splice(\n 0,\n 1,\n \"%c%s%c \" + error[0],\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n ) : error.splice(\n 0,\n 0,\n \"%c%s%c\",\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n );\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n }\n function RequestInstance(resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n var abortSet = /* @__PURE__ */ new Set();\n this.destination = null;\n this.flushScheduled = false;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize = void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError ? defaultErrorHandler2 : onError;\n this.onPostpone = void 0 === onPostpone ? noop7 : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop7 : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop7 : onShellReady;\n this.onShellError = void 0 === onShellError ? noop7 : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop7 : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n }\n function createRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone, formState) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n false,\n false\n );\n renderState.parentFlushed = true;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n }\n function createPrerenderRequest(children, resumableState, renderState, rootFormatContext, progressiveChunkSize, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n children = createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n void 0\n );\n children.trackedPostpones = {\n workingMap: /* @__PURE__ */ new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n }\n function resumeRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n renderState = new RequestInstance(\n postponedState.resumableState,\n renderState,\n postponedState.rootFormatContext,\n postponedState.progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n null\n );\n renderState.nextSegmentId = postponedState.nextSegmentId;\n if (\"number\" === typeof postponedState.replaySlots)\n return onError = createPendingSegment(\n renderState,\n 0,\n null,\n postponedState.rootFormatContext,\n false,\n false\n ), onError.parentFlushed = true, children = createRenderTask(\n renderState,\n null,\n children,\n -1,\n null,\n onError,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n ), pushComponentStack(children), renderState.pingedTasks.push(children), renderState;\n children = createReplayTask(\n renderState,\n null,\n {\n nodes: postponedState.replayNodes,\n slots: postponedState.replaySlots,\n pendingTasks: 0\n },\n children,\n -1,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n renderState.pingedTasks.push(children);\n return renderState;\n }\n function resumeAndPrerenderRequest(children, postponedState, renderState, onError, onAllReady, onShellReady, onShellError, onFatalError, onPostpone) {\n children = resumeRequest(\n children,\n postponedState,\n renderState,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n );\n children.trackedPostpones = {\n workingMap: /* @__PURE__ */ new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n }\n var currentRequest = null;\n function pingTask(request, task2) {\n request.pingedTasks.push(task2);\n 1 === request.pingedTasks.length && (request.flushScheduled = null !== request.destination, null !== request.trackedPostpones || 10 === request.status ? scheduleMicrotask(function() {\n return performWork(request);\n }) : scheduleWork(function() {\n return performWork(request);\n }));\n }\n function createSuspenseBoundary(request, row, fallbackAbortableTasks, contentPreamble, fallbackPreamble) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: false,\n pendingTasks: 0,\n row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble,\n fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row && (row.pendingTasks++, contentPreamble = row.boundaries, null !== contentPreamble && (request.allPendingTasks++, fallbackAbortableTasks.pendingTasks++, contentPreamble.push(fallbackAbortableTasks)), request = row.inheritedHoistables, null !== request && hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n }\n function createRenderTask(request, thenableState2, node, childIndex, blockedBoundary, blockedSegment, blockedPreamble, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task2 = {\n replay: null,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createReplayTask(request, thenableState2, replay, node, childIndex, blockedBoundary, hoistableState, abortSet, keyPath, formatContext, context, treeContext, row, componentStack) {\n request.allPendingTasks++;\n null === blockedBoundary ? request.pendingRootTasks++ : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task2 = {\n replay,\n node,\n childIndex,\n ping: function() {\n return pingTask(request, task2);\n },\n blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack,\n thenableState: thenableState2\n };\n abortSet.add(task2);\n return task2;\n }\n function createPendingSegment(request, index2, boundary, parentFormatContext, lastPushedText, textEmbedded) {\n return {\n status: 0,\n parentFlushed: false,\n id: -1,\n index: index2,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext,\n boundary,\n lastPushedText,\n textEmbedded\n };\n }\n function pushComponentStack(task2) {\n var node = task2.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task2.componentStack = { parent: task2.componentStack, type: node.type };\n }\n }\n function replaceSuspenseComponentStackWithSuspenseFallbackStack(componentStack) {\n return null === componentStack ? null : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n }\n function getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 && Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: true,\n enumerable: true,\n get: function() {\n try {\n var info = \"\", node = node$jscomp$0;\n do\n info += describeComponentStackByType(node.type), node = node.parent;\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x2) {\n JSCompiler_inline_result = \"\\nError generating stack: \" + x2.message + \"\\n\" + x2.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n }\n function logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n }\n function fatalError(request, error) {\n var onShellError = request.onShellError, onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination ? (request.status = 14, closeWithError(request.destination, error)) : (request.status = 13, request.fatalError = error);\n }\n function finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n }\n function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables && (hoistHoistables(unblockedRow.hoistables, inheritedHoistables), unblockedRow.inheritedHoistables = inheritedHoistables);\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables && hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n }\n function tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = true, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (1 !== rowBoundary.pendingTasks || rowBoundary.parentFlushed || isEligibleForOutlining(request, rowBoundary)) {\n allCompleteAndInlinable = false;\n break;\n }\n }\n allCompleteAndInlinable && unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n }\n function createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: false,\n next: null\n };\n null !== previousRow && 0 < previousRow.pendingTasks && (newRow.pendingTasks++, newRow.boundaries = [], previousRow.next = newRow);\n return newRow;\n }\n function renderSuspenseListRows(request, task2, keyPath, rows, revealOrder) {\n var prevKeyPath = task2.keyPath, prevTreeContext = task2.treeContext, prevRow = task2.row;\n task2.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task2.replay) {\n var resumeSlots = task2.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? n : keyPath - 1 - n, node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID ? (resumeNode(request, task2, resumeSegmentID, node, i), delete resumeSlots[i]) : renderNode(request, task2, node, i);\n 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n n = \"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder ? resumeSlots : keyPath - 1 - resumeSlots, i = rows[n], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(prevTreeContext, keyPath, n), renderNode(request, task2, i, n), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\"backwards\" !== revealOrder && \"unstable_legacy-backwards\" !== revealOrder)\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n resumeSlots = rows[revealOrder], task2.row = previousSuspenseListRow = createSuspenseListRow(previousSuspenseListRow), task2.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n ), renderNode(request, task2, resumeSlots, revealOrder), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task2.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task2.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task2.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task2.formatContext,\n 0 === i ? revealOrder.lastPushedText : true,\n true\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task2.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task2, node, i), resumeSegmentID.lastPushedText && resumeSegmentID.textEmbedded && resumeSegmentID.chunks.push(textSeparator), resumeSegmentID.status = 1, finishedSegment(request, task2.blockedBoundary, resumeSegmentID), 0 === --previousSuspenseListRow.pendingTasks && finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw resumeSegmentID.status = 12 === request.status ? 3 : 4, thrownValue;\n }\n }\n task2.blockedSegment = revealOrder;\n revealOrder.lastPushedText = false;\n }\n null !== prevRow && null !== previousSuspenseListRow && 0 < previousSuspenseListRow.pendingTasks && (prevRow.pendingTasks++, previousSuspenseListRow.next = prevRow);\n task2.treeContext = prevTreeContext;\n task2.row = prevRow;\n task2.keyPath = prevKeyPath;\n }\n function renderWithHooks(request, task2, keyPath, Component2, props, secondArg) {\n var prevThenableState = task2.thenableState;\n task2.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task2;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component2(props, secondArg); didScheduleRenderPhaseUpdate; )\n didScheduleRenderPhaseUpdate = false, actionStateCounter = localIdCounter = 0, actionStateMatchingIndex = -1, thenableIndexCounter = 0, numberOfReRenders += 1, workInProgressHook = null, request = Component2(props, secondArg);\n resetHooksState();\n return request;\n }\n function finishFunctionComponent(request, task2, keyPath, children, hasId, actionStateCount, actionStateMatchingIndex2) {\n var didEmitActionStateMarkers = false;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task2.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = true;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex2 ? segment.push(formStateMarkerIsMatching) : segment.push(formStateMarkerIsNotMatching);\n }\n }\n actionStateCount = task2.keyPath;\n task2.keyPath = keyPath;\n hasId ? (keyPath = task2.treeContext, task2.treeContext = pushTreeContext(keyPath, 1, 0), renderNode(request, task2, children, -1), task2.treeContext = keyPath) : didEmitActionStateMarkers ? renderNode(request, task2, children, -1) : renderNodeDestructive(request, task2, children, -1);\n task2.keyPath = actionStateCount;\n }\n function renderElement(request, task2, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps2 = type.defaultProps;\n if (defaultProps2) {\n newProps === props && (newProps = assign2({}, newProps, props));\n for (var propName$44 in defaultProps2)\n void 0 === newProps[propName$44] && (newProps[propName$44] = defaultProps2[propName$44]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps2 = type.contextType;\n \"object\" === typeof defaultProps2 && null !== defaultProps2 && (newProps = defaultProps2._currentValue);\n newProps = new type(props, newProps);\n var initialState15 = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState15;\n defaultProps2 = { queue: [], replace: false };\n newProps._reactInternals = defaultProps2;\n ref = type.contextType;\n newProps.context = \"object\" === typeof ref && null !== ref ? ref._currentValue : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref && (ref = ref(props, initialState15), initialState15 = null === ref || void 0 === ref ? initialState15 : assign2({}, initialState15, ref), newProps.state = initialState15);\n if (\"function\" !== typeof type.getDerivedStateFromProps && \"function\" !== typeof newProps.getSnapshotBeforeUpdate && (\"function\" === typeof newProps.UNSAFE_componentWillMount || \"function\" === typeof newProps.componentWillMount))\n if (type = newProps.state, \"function\" === typeof newProps.componentWillMount && newProps.componentWillMount(), \"function\" === typeof newProps.UNSAFE_componentWillMount && newProps.UNSAFE_componentWillMount(), type !== newProps.state && classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ), null !== defaultProps2.queue && 0 < defaultProps2.queue.length)\n if (type = defaultProps2.queue, ref = defaultProps2.replace, defaultProps2.queue = null, defaultProps2.replace = false, ref && 1 === type.length)\n newProps.state = type[0];\n else {\n defaultProps2 = ref ? type[0] : newProps.state;\n initialState15 = true;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n propName$44 = type[ref], propName$44 = \"function\" === typeof propName$44 ? propName$44.call(newProps, defaultProps2, props, void 0) : propName$44, null != propName$44 && (initialState15 ? (initialState15 = false, defaultProps2 = assign2({}, defaultProps2, propName$44)) : assign2(defaultProps2, propName$44));\n newProps.state = defaultProps2;\n }\n else defaultProps2.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n } else {\n type = renderWithHooks(request, task2, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (newProps = task2.blockedSegment, null === newProps)\n newProps = props.children, defaultProps2 = task2.formatContext, initialState15 = task2.keyPath, task2.formatContext = getChildFormatContext(defaultProps2, type, props), task2.keyPath = keyPath, renderNode(request, task2, newProps, -1), task2.formatContext = defaultProps2, task2.keyPath = initialState15;\n else {\n initialState15 = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = false;\n defaultProps2 = task2.formatContext;\n ref = task2.keyPath;\n task2.keyPath = keyPath;\n if (3 === (task2.formatContext = getChildFormatContext(defaultProps2, type, props)).insertionMode) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n newProps.preambleChildren.push(keyPath);\n task2.blockedSegment = keyPath;\n try {\n keyPath.status = 6, renderNode(request, task2, initialState15, -1), keyPath.lastPushedText && keyPath.textEmbedded && keyPath.chunks.push(textSeparator), keyPath.status = 1, finishedSegment(request, task2.blockedBoundary, keyPath);\n } finally {\n task2.blockedSegment = newProps;\n }\n } else renderNode(request, task2, initialState15, -1);\n task2.formatContext = defaultProps2;\n task2.keyPath = ref;\n a: {\n task2 = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps2.insertionMode) {\n request.hasBody = true;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps2.insertionMode) {\n request.hasHtml = true;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps2.insertionMode) break a;\n }\n task2.push(endChunkForTag(type));\n }\n newProps.lastPushedText = false;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, props.children, -1);\n task2.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task2.blockedSegment;\n null === type ? \"hidden\" !== props.mode && (type = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = type) : \"hidden\" !== props.mode && (type.chunks.push(startActivityBoundary), type.lastPushedText = false, newProps = task2.keyPath, task2.keyPath = keyPath, renderNode(request, task2, props.children, -1), task2.keyPath = newProps, type.chunks.push(endActivityBoundary), type.lastPushedText = false);\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\"forwards\" === props || \"backwards\" === props || \"unstable_legacy-backwards\" === props) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task2, keyPath, type, props);\n break a;\n }\n if (newProps = getIteratorFn(type)) {\n if (newProps = newProps.call(type)) {\n defaultProps2 = newProps.next();\n if (!defaultProps2.done) {\n do\n defaultProps2 = newProps.next();\n while (!defaultProps2.done);\n renderSuspenseListRows(request, task2, keyPath, type, props);\n }\n break a;\n }\n }\n }\n \"together\" === props ? (props = task2.keyPath, newProps = task2.row, defaultProps2 = task2.row = createSuspenseListRow(null), defaultProps2.boundaries = [], defaultProps2.together = true, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), 0 === --defaultProps2.pendingTasks && finishSuspenseListRow(request, defaultProps2), task2.keyPath = props, task2.row = newProps, null !== newProps && 0 < defaultProps2.pendingTasks && (newProps.pendingTasks++, defaultProps2.next = newProps)) : (props = task2.keyPath, task2.keyPath = keyPath, renderNodeDestructive(request, task2, type, -1), task2.keyPath = props);\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage3(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task2.replay) {\n type = task2.keyPath;\n newProps = task2.formatContext;\n defaultProps2 = task2.row;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task2.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task2, keyPath, -1);\n } finally {\n task2.keyPath = type, task2.formatContext = newProps, task2.row = defaultProps2;\n }\n } else {\n type = task2.keyPath;\n ref = task2.formatContext;\n var prevRow = task2.row;\n propName$44 = task2.blockedBoundary;\n propName = task2.blockedPreamble;\n var parentHoistableState = task2.hoistableState, parentSegment = task2.blockedSegment, fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = /* @__PURE__ */ new Set();\n var newBoundary = 2 > task2.formatContext.insertionMode ? createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n ) : createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones && (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n parentSegment.chunks.length,\n newBoundary,\n task2.formatContext,\n false,\n false\n );\n parentSegment.children.push(boundarySegment);\n parentSegment.lastPushedText = false;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n contentRootSegment.parentFlushed = true;\n if (null !== request.trackedPostpones) {\n newProps = task2.componentStack;\n defaultProps2 = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState15 = [defaultProps2[1], defaultProps2[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps2, initialState15);\n newBoundary.trackedFallbackNode = initialState15;\n task2.blockedSegment = boundarySegment;\n task2.blockedPreamble = newBoundary.fallbackPreamble;\n task2.keyPath = defaultProps2;\n task2.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task2.componentStack = replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task2, fallback, -1), boundarySegment.lastPushedText && boundarySegment.textEmbedded && boundarySegment.chunks.push(textSeparator), boundarySegment.status = 1, finishedSegment(request, propName$44, boundarySegment);\n } catch (thrownValue) {\n throw boundarySegment.status = 12 === request.status ? 3 : 4, thrownValue;\n } finally {\n task2.blockedSegment = parentSegment, task2.blockedPreamble = propName, task2.keyPath = type, task2.formatContext = ref;\n }\n task2 = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task2.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n null,\n newProps\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n } else {\n task2.blockedBoundary = newBoundary;\n task2.blockedPreamble = newBoundary.contentPreamble;\n task2.hoistableState = newBoundary.contentState;\n task2.blockedSegment = contentRootSegment;\n task2.keyPath = keyPath;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task2.row = null;\n contentRootSegment.status = 6;\n try {\n if (renderNode(request, task2, props, -1), contentRootSegment.lastPushedText && contentRootSegment.textEmbedded && contentRootSegment.chunks.push(textSeparator), contentRootSegment.status = 1, finishedSegment(request, newBoundary, contentRootSegment), queueCompletedSegment(newBoundary, contentRootSegment), 0 === newBoundary.pendingTasks && 0 === newBoundary.status) {\n if (newBoundary.status = 1, !isEligibleForOutlining(request, newBoundary)) {\n null !== prevRow && 0 === --prevRow.pendingTasks && finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks && task2.blockedPreamble && preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow && prevRow.together && tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$31) {\n newBoundary.status = 4, 12 === request.status ? (contentRootSegment.status = 3, newProps = request.fatalError) : (contentRootSegment.status = 4, newProps = thrownValue$31), defaultProps2 = getThrownInfo(task2.componentStack), initialState15 = logRecoverableError(\n request,\n newProps,\n defaultProps2\n ), newBoundary.errorDigest = initialState15, untrackBoundary(request, newBoundary);\n } finally {\n task2.blockedBoundary = propName$44, task2.blockedPreamble = propName, task2.hoistableState = parentHoistableState, task2.blockedSegment = parentSegment, task2.keyPath = type, task2.formatContext = ref, task2.row = prevRow;\n }\n task2 = createRenderTask(\n request,\n null,\n fallback,\n -1,\n propName$44,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(task2);\n request.pingedTasks.push(task2);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE2:\n if (\"ref\" in props)\n for (parentSegment in newProps = {}, props)\n \"ref\" !== parentSegment && (newProps[parentSegment] = props[parentSegment]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task2,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task2,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE2:\n renderElement(request, task2, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps2 = props.children;\n newProps = task2.keyPath;\n props = props.value;\n initialState15 = type._currentValue;\n type._currentValue = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState15,\n value: props\n };\n task2.context = type;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, defaultProps2, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage3(403));\n request.context._currentValue = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task2.context = request;\n task2.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue);\n props = task2.keyPath;\n task2.keyPath = keyPath;\n renderNodeDestructive(request, task2, type, -1);\n task2.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task2, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage3(130, null == type ? type : typeof type, \"\")\n );\n }\n }\n function resumeNode(request, task2, segmentId, node, childIndex) {\n var prevReplay = task2.replay, blockedBoundary = task2.blockedBoundary, resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task2.formatContext,\n false,\n false\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = true;\n try {\n task2.replay = null, task2.blockedSegment = resumedSegment, renderNode(request, task2, node, childIndex), resumedSegment.status = 1, finishedSegment(request, blockedBoundary, resumedSegment), null === blockedBoundary ? request.completedRootSegment = resumedSegment : (queueCompletedSegment(blockedBoundary, resumedSegment), blockedBoundary.parentFlushed && request.partialBoundaries.push(blockedBoundary));\n } finally {\n task2.replay = prevReplay, task2.blockedSegment = null;\n }\n }\n function renderNodeDestructive(request, task2, node, childIndex) {\n null !== task2.replay && \"number\" === typeof task2.replay.slots ? resumeNode(request, task2, task2.replay.slots, node, childIndex) : (task2.node = node, task2.childIndex = childIndex, node = task2.componentStack, pushComponentStack(task2), retryNode(request, task2), task2.componentStack = node);\n }\n function retryNode(request, task2) {\n var node = task2.node, childIndex = task2.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type, key = node.key, props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null, name = getComponentNameFromType(type), keyOrIndex = null == key ? -1 === childIndex ? 0 : childIndex : key;\n key = [task2.keyPath, name, keyOrIndex];\n if (null !== task2.replay)\n a: {\n var replay = task2.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage3(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task2.node;\n task2.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task2, key, type, props, ref);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw task2.node === keyOrIndex ? task2.replay = replay : childIndex.splice(node, 1), x2;\n task2.replay.pendingTasks--;\n props = getThrownInfo(task2.componentStack);\n key = request;\n request = task2.blockedBoundary;\n type = x2;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task2.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage3(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 = null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task2.keyPath, prevContext = task2.formatContext, prevRow = task2.row, previousReplaySet = task2.replay, parentBoundary = task2.blockedBoundary, parentHoistableState = task2.hoistableState, content = props.children, fallback = props.fallback, fallbackAbortSet = /* @__PURE__ */ new Set();\n props = 2 > task2.formatContext.insertionMode ? createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n ) : createSuspenseBoundary(\n request,\n task2.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = true;\n props.rootSegmentID = type;\n task2.blockedBoundary = props;\n task2.hoistableState = props.contentState;\n task2.keyPath = key;\n task2.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task2.row = null;\n task2.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task2, content, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n props.status = 4, childNodes = getThrownInfo(task2.componentStack), replay = logRecoverableError(\n request,\n error,\n childNodes\n ), props.errorDigest = replay, task2.replay.pendingTasks--, request.clientRenderedBoundaries.push(props);\n } finally {\n task2.blockedBoundary = parentBoundary, task2.hoistableState = parentHoistableState, task2.replay = previousReplaySet, task2.keyPath = prevKeyPath, task2.formatContext = prevContext, task2.row = prevRow;\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task2.formatContext\n ),\n task2.context,\n task2.treeContext,\n task2.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task2.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task2, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage3(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task2, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task2, node, childIndex);\n return;\n }\n if (childNodes = getIteratorFn(node)) {\n if (childNodes = childNodes.call(node)) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do\n props.push(node.value), node = childNodes.next();\n while (!node.done);\n renderChildrenArray(request, task2, props, childIndex);\n }\n return;\n }\n }\n if (\"function\" === typeof node.then)\n return task2.thenableState = null, renderNodeDestructive(request, task2, unwrapThenable(node), childIndex);\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task2,\n node._currentValue,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage3(\n 31,\n \"[object Object]\" === childIndex ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\" : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n childIndex = task2.blockedSegment, null !== childIndex && (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n }\n function renderChildrenArray(request, task2, children, childIndex) {\n var prevKeyPath = task2.keyPath;\n if (-1 !== childIndex && (task2.keyPath = [task2.keyPath, \"Fragment\", childIndex], null !== task2.replay)) {\n for (var replay = task2.replay, replayNodes = replay.nodes, j = 0; j < replayNodes.length; j++) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task2.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task2, children, -1);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n } catch (x2) {\n if (\"object\" === typeof x2 && null !== x2 && (x2 === SuspenseException || \"function\" === typeof x2.then))\n throw x2;\n task2.replay.pendingTasks--;\n children = getThrownInfo(task2.componentStack);\n var boundary = task2.blockedBoundary, error = x2;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task2.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task2.keyPath = prevKeyPath;\n return;\n }\n replay = task2.treeContext;\n replayNodes = children.length;\n if (null !== task2.replay && (j = task2.replay.slots, null !== j && \"object\" === typeof j)) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n node = children[childIndex], task2.treeContext = pushTreeContext(replay, replayNodes, childIndex), boundary = j[childIndex], \"number\" === typeof boundary ? (resumeNode(request, task2, boundary, node, childIndex), delete j[childIndex]) : renderNode(request, task2, node, childIndex);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n childIndex = children[j], task2.treeContext = pushTreeContext(replay, replayNodes, j), renderNode(request, task2, childIndex, j);\n task2.treeContext = replay;\n task2.keyPath = prevKeyPath;\n }\n function trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage3(486));\n var fallbackReplayNode = boundary.trackedFallbackNode, children = [], boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ], trackedPostpones.workingMap.set(request, boundary), addToReplayParent(boundary, request[0], trackedPostpones), boundary;\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n }\n function trackPostpone(request, trackedPostpones, task2, segment) {\n segment.status = 5;\n var keyPath = task2.keyPath, boundary = task2.blockedBoundary;\n if (null === boundary)\n segment.id = request.nextSegmentId++, trackedPostpones.rootSlots = segment.id, null !== request.completedRootSegment && (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (boundary.trackedContentKeyPath === keyPath && -1 === task2.childIndex) {\n -1 === segment.id && (segment.id = segment.parentFlushed ? boundary.rootSegmentID : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id && (segment.id = segment.parentFlushed && null !== boundary ? boundary.rootSegmentID : request.nextSegmentId++);\n if (-1 === task2.childIndex)\n null === keyPath ? trackedPostpones.rootSlots = segment.id : (task2 = trackedPostpones.workingMap.get(keyPath), void 0 === task2 ? (task2 = [keyPath[1], keyPath[2], [], segment.id], addToReplayParent(task2, keyPath[0], trackedPostpones)) : task2[3] = segment.id);\n else {\n if (null === keyPath)\n if (request = trackedPostpones.rootSlots, null === request)\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n }\n else if (boundary = trackedPostpones.workingMap, boundaryNode = boundary.get(keyPath), void 0 === boundaryNode)\n request = {}, boundaryNode = [keyPath[1], keyPath[2], [], request], boundary.set(keyPath, boundaryNode), addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (request = boundaryNode[3], null === request)\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage3(491));\n request[task2.childIndex] = segment.id;\n }\n }\n }\n function untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request && (boundary = boundary.trackedContentKeyPath, null !== boundary && (boundary = request.workingMap.get(boundary), void 0 !== boundary && (boundary.length = 4, boundary[2] = [], boundary[3] = null)));\n }\n function spawnNewSuspendedReplayTask(request, task2, thenableState2) {\n return createReplayTask(\n request,\n thenableState2,\n task2.replay,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function spawnNewSuspendedRenderTask(request, task2, thenableState2) {\n var segment = task2.blockedSegment, newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task2.formatContext,\n segment.lastPushedText,\n true\n );\n segment.children.push(newSegment);\n segment.lastPushedText = false;\n return createRenderTask(\n request,\n thenableState2,\n task2.node,\n task2.childIndex,\n task2.blockedBoundary,\n newSegment,\n task2.blockedPreamble,\n task2.hoistableState,\n task2.abortSet,\n task2.keyPath,\n task2.formatContext,\n task2.context,\n task2.treeContext,\n task2.row,\n task2.componentStack\n );\n }\n function renderNode(request, task2, node, childIndex) {\n var previousFormatContext = task2.formatContext, previousContext = task2.context, previousKeyPath = task2.keyPath, previousTreeContext = task2.treeContext, previousComponentStack = task2.componentStack, segment = task2.blockedSegment;\n if (null === segment) {\n segment = task2.replay;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue) {\n if (resetHooksState(), node = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n childIndex = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedReplayTask(request, task2, childIndex).ping;\n node.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n node = spawnNewSuspendedReplayTask(request, task2, node);\n request.pingedTasks.push(node);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n task2.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length, chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task2, node, childIndex);\n } catch (thrownValue$63) {\n if (resetHooksState(), segment.children.length = childrenLength, segment.chunks.length = chunkLength, node = thrownValue$63 === SuspenseException ? getSuspendedThenable() : thrownValue$63, 12 !== request.status && \"object\" === typeof node && null !== node) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;\n request = spawnNewSuspendedRenderTask(request, task2, node).ping;\n segment.then(request, request);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment = thrownValue$63 === SuspenseException ? getThenableStateAfterSuspending() : null;\n segment = spawnNewSuspendedRenderTask(request, task2, segment);\n request.pingedTasks.push(segment);\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n task2.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task2.formatContext = previousFormatContext;\n task2.context = previousContext;\n task2.keyPath = previousKeyPath;\n task2.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n }\n function abortTaskSoft(task2) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n null !== segment && (segment.status = 3, finishedTask(this, boundary, task2.row, segment));\n }\n function abortRemainingReplayNodes(request$jscomp$0, boundary, nodes, slots, error, errorDigest$jscomp$0) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0, errorDigest = errorDigest$jscomp$0, resumedBoundary = createSuspenseBoundary(\n request,\n null,\n /* @__PURE__ */ new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = true;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed && request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage3(487));\n 4 !== boundary.status && (boundary.status = 4, boundary.errorDigest = errorDigest$jscomp$0, boundary.parentFlushed && request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index2 in slots) delete slots[index2];\n }\n }\n function abortTask(task2, request, error) {\n var boundary = task2.blockedBoundary, segment = task2.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task2.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task2.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment ? (boundary = request.trackedPostpones, logRecoverableError(request, error, errorInfo), trackPostpone(request, boundary, task2, segment), finishedTask(request, null, task2.row, segment)) : (logRecoverableError(request, error, errorInfo), fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks && 0 < boundary.nodes.length && (segment = logRecoverableError(request, error, errorInfo), abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$64 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$64 && null !== segment)\n return logRecoverableError(request, error, errorInfo), trackPostpone(request, trackedPostpones$64, task2, segment), boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }), boundary.fallbackAbortableTasks.clear(), finishedTask(request, boundary, task2.row, segment);\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function(fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task2 = task2.row;\n null !== task2 && 0 === --task2.pendingTasks && finishSuspenseListRow(request, task2);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n }\n function safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState, onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.fontPreloads);\n headers.highImagePreloads && (linkHeader && (linkHeader += \", \"), linkHeader += headers.highImagePreloads);\n if (!shellComplete) {\n var queueIter = renderState.styles.values(), queueStep = queueIter.next();\n b: for (; 0 < headers.remainingCapacity && !queueStep.done; queueStep = queueIter.next())\n for (var sheetIter = queueStep.value.sheets.values(), sheetStep = sheetIter.next(); 0 < headers.remainingCapacity && !sheetStep.done; sheetStep = sheetIter.next()) {\n var sheet = sheetStep.value, props = sheet.props, key = props.href, props$jscomp$0 = sheet.props, header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n renderState.resets.style[key] = PRELOAD_NO_CREDS, linkHeader && (linkHeader += \", \"), linkHeader += header, renderState.resets.style[key] = \"string\" === typeof props.crossOrigin || \"string\" === typeof props.integrity ? [props.crossOrigin, props.integrity] : PRELOAD_NO_CREDS;\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n }\n function completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, true);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop7;\n request = request.onShellReady;\n request();\n }\n function completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones ? true : null === request.completedRootSegment || 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n }\n function queueCompletedSegment(boundary, segment) {\n if (0 === segment.chunks.length && 1 === segment.children.length && null === segment.children[0].boundary && -1 === segment.children[0].id) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = true;\n 1 !== childSegment.status && 3 !== childSegment.status && 4 !== childSegment.status || queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n }\n function finishedSegment(request, boundary, segment) {\n if (null !== byteLengthOfChunk) {\n segment = segment.chunks;\n for (var segmentByteSize = 0, i = 0; i < segment.length; i++)\n segmentByteSize += segment[i].byteLength;\n null === boundary ? request.byteSize += segmentByteSize : boundary.byteSize += segmentByteSize;\n }\n }\n function finishedTask(request, boundary, row, segment) {\n null !== row && (0 === --row.pendingTasks ? finishSuspenseListRow(request, row) : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage3(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if (boundary.pendingTasks--, 4 !== boundary.status)\n if (0 === boundary.pendingTasks)\n if (0 === boundary.status && (boundary.status = 1), null !== segment && segment.parentFlushed && (1 === segment.status || 3 === segment.status) && queueCompletedSegment(boundary, segment), boundary.parentFlushed && request.completedBoundaries.push(boundary), 1 === boundary.status)\n row = boundary.row, null !== row && hoistHoistables(row.hoistables, boundary.contentState), isEligibleForOutlining(request, boundary) || (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), boundary.fallbackAbortableTasks.clear(), null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row)), 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary.contentPreamble && preparePreamble(request);\n else {\n if (5 === boundary.status && (boundary = boundary.row, null !== boundary)) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (null !== postponedRow && (segment = postponedRow.boundaries, null !== segment))\n for (postponedRow.boundaries = null, postponedRow = 0; postponedRow < segment.length; postponedRow++) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks && finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment || !segment.parentFlushed || 1 !== segment.status && 3 !== segment.status || (queueCompletedSegment(boundary, segment), 1 === boundary.completedSegments.length && boundary.parentFlushed && request.partialBoundaries.push(boundary)), boundary = boundary.row, null !== boundary && boundary.together && tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n }\n function performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot, prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks, i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task2 = pingedTasks[i], request = request$jscomp$2, segment = task2.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task2.replay.pendingTasks) {\n switchContext(task2.context);\n try {\n \"number\" === typeof task2.replay.slots ? resumeNode(\n request$jscomp$0,\n task2,\n task2.replay.slots,\n task2.node,\n task2.childIndex\n ) : retryNode(request$jscomp$0, task2);\n if (1 === task2.replay.pendingTasks && 0 < task2.replay.nodes.length)\n throw Error(formatProdErrorMessage3(488));\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n finishedTask(\n request$jscomp$0,\n task2.blockedBoundary,\n task2.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x2 = thrownValue === SuspenseException ? getSuspendedThenable() : thrownValue;\n if (\"object\" === typeof x2 && null !== x2 && \"function\" === typeof x2.then) {\n var ping = task2.ping;\n x2.then(ping, ping);\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n } else {\n task2.replay.pendingTasks--;\n task2.abortSet.delete(task2);\n var errorInfo = getThrownInfo(task2.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0, boundary = task2.blockedBoundary, error$jscomp$0 = 12 === request$jscomp$0.status ? request$jscomp$0.fatalError : x2, replayNodes = task2.replay.nodes, resumeSlots = task2.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks && completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks && completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (request$jscomp$0 = void 0, request$jscomp$1 = segment, 0 === request$jscomp$1.status) {\n request$jscomp$1.status = 6;\n switchContext(task2.context);\n var childrenLength = request$jscomp$1.children.length, chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task2), request$jscomp$1.lastPushedText && request$jscomp$1.textEmbedded && request$jscomp$1.chunks.push(textSeparator), task2.abortSet.delete(task2), request$jscomp$1.status = 1, finishedSegment(request, task2.blockedBoundary, request$jscomp$1), finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 = thrownValue === SuspenseException ? getSuspendedThenable() : 12 === request.status ? request.fatalError : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones, thrownInfo = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task2, request$jscomp$1);\n finishedTask(\n request,\n task2.blockedBoundary,\n task2.row,\n request$jscomp$1\n );\n } else if (\"object\" === typeof x$jscomp$0 && null !== x$jscomp$0 && \"function\" === typeof x$jscomp$0.then) {\n request$jscomp$1.status = 0;\n task2.thenableState = thrownValue === SuspenseException ? getThenableStateAfterSuspending() : null;\n var ping$jscomp$0 = task2.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task2.componentStack);\n task2.abortSet.delete(task2);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task2.blockedBoundary, row = task2.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (boundary$jscomp$0.pendingTasks--, 4 !== boundary$jscomp$0.status) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow && 0 === --boundaryRow.pendingTasks && finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed && request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks && null === request.trackedPostpones && null !== boundary$jscomp$0.contentPreamble && preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination && flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}), fatalError(request$jscomp$2, error);\n } finally {\n currentResumableState = prevResumableState, ReactSharedInternals.H = prevDispatcher, ReactSharedInternals.A = prevAsyncDispatcher, prevDispatcher === HooksDispatcher && switchContext(prevContext), currentRequest = prevRequest;\n }\n }\n }\n function preparePreambleFromSubtree(request, segment, collectedPreambleSegments) {\n segment.preambleChildren.length && collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = false, i = 0; i < segment.children.length; i++)\n pendingPreambles = preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n }\n function preparePreambleFromSegment(request, segment, collectedPreambleSegments) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble, fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return false;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage3(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return true;\n case 4:\n if (1 === segment.status)\n return hoistPreambleState(request.renderState, fallbackPreamble), preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n default:\n return true;\n }\n }\n function preparePreamble(request) {\n if (request.completedRootSegment && null === request.completedPreambleSegments) {\n var collectedPreambleSegments = [], originalRequestByteSize = request.byteSize, hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ), preamble = request.renderState.preamble;\n false === hasPendingPreambles || preamble.headChunks && preamble.bodyChunks ? request.completedPreambleSegments = collectedPreambleSegments : request.byteSize = originalRequestByteSize;\n }\n }\n function flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = true;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return hoistableState = segment.id, segment.lastPushedText = false, segment.textEmbedded = false, request = request.renderState, writeChunk(destination, placeholder1), writeChunk(destination, request.placeholderPrefix), request = stringToChunk(hoistableState.toString(16)), writeChunk(destination, request), writeChunkAndReturn(destination, placeholder2);\n case 1:\n segment.status = 2;\n var r2 = true, chunks = segment.chunks, chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r2 = segment[childIdx]; chunkIdx < r2.index; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n r2 = flushSegment(request, destination, r2, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n chunkIdx < chunks.length && (r2 = writeChunkAndReturn(destination, chunks[chunkIdx]));\n return r2;\n case 3:\n return true;\n default:\n throw Error(formatProdErrorMessage3(390));\n }\n }\n var flushedByteSize = 0;\n function flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = true;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row && 0 === --row.pendingTasks && finishSuspenseListRow(request, row);\n boundary = boundary.errorDigest;\n writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);\n writeChunk(destination, clientRenderedSuspenseBoundaryError1);\n boundary && (writeChunk(destination, clientRenderedSuspenseBoundaryError1A), writeChunk(destination, stringToChunk(escapeTextForBrowser(boundary))), writeChunk(\n destination,\n clientRenderedSuspenseBoundaryErrorAttrInterstitial\n ));\n writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2);\n flushSubtree(request, destination, segment, hoistableState);\n } else if (1 !== boundary.status)\n 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), 0 < boundary.completedSegments.length && request.partialBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), hoistableState && hoistHoistables(hoistableState, boundary.fallbackState), flushSubtree(request, destination, segment, hoistableState);\n else if (!flushingPartialBoundaries && isEligibleForOutlining(request, boundary) && (flushedByteSize + boundary.byteSize > request.progressiveChunkSize || hasSuspenseyContent(boundary.contentState)))\n boundary.rootSegmentID = request.nextSegmentId++, request.completedBoundaries.push(boundary), writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ), flushSubtree(request, destination, segment, hoistableState);\n else {\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment && isEligibleForOutlining(request, boundary) && 0 === --segment.pendingTasks && finishSuspenseListRow(request, segment);\n writeChunkAndReturn(destination, startCompletedSuspenseBoundary);\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage3(391));\n flushSegment(request, destination, segment[0], hoistableState);\n }\n return writeChunkAndReturn(destination, endSuspenseBoundary);\n }\n function flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n }\n function flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (var completedSegments = boundary.completedSegments, i = 0; i < completedSegments.length; i++)\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments && isEligibleForOutlining(request, boundary) && 0 === --completedSegments.pendingTasks && finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = false;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n requiresStyleInsertion ? (0 === (completedSegments.instructions & 4) && (completedSegments.instructions |= 4, writeChunk(destination, clientRenderScriptFunctionOnly)), 0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk(destination, completeBoundaryScriptFunctionOnly)), 0 === (completedSegments.instructions & 8) ? (completedSegments.instructions |= 8, writeChunk(destination, completeBoundaryWithStylesScript1FullPartial)) : writeChunk(destination, completeBoundaryWithStylesScript1Partial)) : (0 === (completedSegments.instructions & 2) && (completedSegments.instructions |= 2, writeChunk(destination, completeBoundaryScriptFunctionOnly)), writeChunk(destination, completeBoundaryScript1Partial));\n completedSegments = stringToChunk(i.toString(16));\n writeChunk(destination, request.boundaryPrefix);\n writeChunk(destination, completedSegments);\n writeChunk(destination, completeBoundaryScript2);\n writeChunk(destination, request.segmentPrefix);\n writeChunk(destination, completedSegments);\n requiresStyleInsertion ? (writeChunk(destination, completeBoundaryScript3a), writeStyleResourceDependenciesInJS(destination, boundary)) : writeChunk(destination, completeBoundaryScript3b);\n boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd);\n return writeBootstrap(destination, request) && boundary;\n }\n function flushPartiallyCompletedSegment(request, destination, boundary, segment) {\n if (2 === segment.status) return true;\n var hoistableState = boundary.contentState, segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage3(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n 0 === (boundary.instructions & 1) ? (boundary.instructions |= 1, writeChunk(destination, completeSegmentScript1Full)) : writeChunk(destination, completeSegmentScript1Partial);\n writeChunk(destination, request.segmentPrefix);\n segmentID = stringToChunk(segmentID.toString(16));\n writeChunk(destination, segmentID);\n writeChunk(destination, completeSegmentScript2);\n writeChunk(destination, request.placeholderPrefix);\n writeChunk(destination, segmentID);\n destination = writeChunkAndReturn(destination, completeSegmentScriptEnd);\n return destination;\n }\n var flushingPartialBoundaries = false;\n function flushCompletedQueues(request, destination) {\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i, completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState, renderState = request.renderState, preamble = renderState.preamble, htmlChunks = preamble.htmlChunks, headChunks = preamble.headChunks, i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n writeChunk(destination, htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n else\n writeChunk(destination, startChunkForTag(\"head\")), writeChunk(destination, endOfStartTag);\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n writeChunk(destination, charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n writeChunk(destination, viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n writeChunk(destination, importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n htmlChunks || headChunks || (resumableState.instructions |= 32);\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n writeChunk(destination, hoistableChunks[i$jscomp$0]);\n for (resumableState = hoistableChunks.length = 0; resumableState < completedPreambleSegments.length; resumableState++) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble, headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) && writeChunk(destination, endChunkForTag(\"head\"));\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (completedPreambleSegments = 0; completedPreambleSegments < bodyChunks.length; completedPreambleSegments++)\n writeChunk(destination, bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (0 !== request.allPendingTasks || 0 !== request.clientRenderedBoundaries.length || 0 !== request.completedBoundaries.length || null !== request.trackedPostpones && (0 !== request.trackedPostpones.rootNodes.length || null !== request.trackedPostpones.rootSlots)) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n writeChunk(destination, renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n writeChunk(destination, completedShellIdAttributeStart);\n writeChunk(\n destination,\n stringToChunk(escapeTextForBrowser(shellId))\n );\n writeChunk(destination, attributeEnd);\n }\n writeChunk(destination, endOfStartTag);\n writeChunk(destination, shellTimeRuntimeScript);\n writeChunkAndReturn(destination, endInlineScript);\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (completedRootSegment = 0; completedRootSegment < viewportChunks$jscomp$0.length; completedRootSegment++)\n writeChunk(destination, viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (completedRootSegment = 0; completedRootSegment < hoistableChunks$jscomp$0.length; completedRootSegment++)\n writeChunk(destination, hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState, renderState$jscomp$2 = request.renderState, id = boundary.rootSegmentID, errorDigest = boundary.errorDigest;\n writeChunk(\n renderState$jscomp$1,\n renderState$jscomp$2.startInlineScript\n );\n writeChunk(renderState$jscomp$1, endOfStartTag);\n 0 === (resumableState$jscomp$1.instructions & 4) ? (resumableState$jscomp$1.instructions |= 4, writeChunk(renderState$jscomp$1, clientRenderScript1Full)) : writeChunk(renderState$jscomp$1, clientRenderScript1Partial);\n writeChunk(renderState$jscomp$1, renderState$jscomp$2.boundaryPrefix);\n writeChunk(renderState$jscomp$1, stringToChunk(id.toString(16)));\n writeChunk(renderState$jscomp$1, clientRenderScript1A);\n errorDigest && (writeChunk(\n renderState$jscomp$1,\n clientRenderErrorScriptArgInterstitial\n ), writeChunk(\n renderState$jscomp$1,\n stringToChunk(\n escapeJSStringsForInstructionScripts(errorDigest || \"\")\n )\n ));\n var JSCompiler_inline_result = writeChunkAndReturn(\n renderState$jscomp$1,\n clientRenderScriptEnd\n );\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, completedBoundaries[i])) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n completeWriting(destination);\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n flushingPartialBoundaries = true;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$70 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$70.byteSize;\n var completedSegments = boundary$70.completedSegments;\n for (JSCompiler_inline_result = 0; JSCompiler_inline_result < completedSegments.length; JSCompiler_inline_result++)\n if (!flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$70,\n completedSegments[JSCompiler_inline_result]\n )) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = false;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$70.row;\n null !== row && row.together && 1 === boundary$70.pendingTasks && (1 === row.pendingTasks ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n ) : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$70.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = false;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n flushingPartialBoundaries = false, 0 === request.allPendingTasks && 0 === request.clientRenderedBoundaries.length && 0 === request.completedBoundaries.length ? (request.flushScheduled = false, i = request.resumableState, i.hasBody && writeChunk(destination, endChunkForTag(\"body\")), i.hasHtml && writeChunk(destination, endChunkForTag(\"html\")), completeWriting(destination), request.status = 14, destination.close(), request.destination = null) : completeWriting(destination);\n }\n }\n function startWork(request) {\n request.flushScheduled = null !== request.destination;\n scheduleMicrotask(function() {\n return performWork(request);\n });\n scheduleWork(function() {\n 10 === request.status && (request.status = 11);\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);\n });\n }\n function enqueueFlush(request) {\n false === request.flushScheduled && 0 === request.pingedTasks.length && null !== request.destination && (request.flushScheduled = true, scheduleWork(function() {\n var destination = request.destination;\n destination ? flushCompletedQueues(request, destination) : request.flushScheduled = false;\n }));\n }\n function startFlowing(request, destination) {\n if (13 === request.status)\n request.status = 14, closeWithError(destination, request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n }\n function abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error = void 0 === reason ? Error(formatProdErrorMessage3(432)) : \"object\" === typeof reason && null !== reason && \"function\" === typeof reason.then ? Error(formatProdErrorMessage3(530)) : reason;\n request.fatalError = error;\n abortableTasks.forEach(function(task2) {\n return abortTask(task2, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination && flushCompletedQueues(request, request.destination);\n } catch (error$72) {\n logRecoverableError(request, error$72, {}), fatalError(request, error$72);\n }\n }\n function addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap, parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode && (parentNode = [parentKeyPath[1], parentKeyPath[2], [], null], workingMap.set(parentKeyPath, parentNode), addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n }\n function getPostponedState(request) {\n var trackedPostpones = request.trackedPostpones;\n if (null === trackedPostpones || 0 === trackedPostpones.rootNodes.length && null === trackedPostpones.rootSlots)\n return request.trackedPostpones = null;\n if (null === request.completedRootSegment || 5 !== request.completedRootSegment.status && null !== request.completedPreambleSegments) {\n var nextSegmentId = request.nextSegmentId;\n var replaySlots = trackedPostpones.rootSlots;\n var resumableState = request.resumableState;\n resumableState.bootstrapScriptContent = void 0;\n resumableState.bootstrapScripts = void 0;\n resumableState.bootstrapModules = void 0;\n } else {\n nextSegmentId = 0;\n replaySlots = -1;\n resumableState = request.resumableState;\n var renderState = request.renderState;\n resumableState.nextFormID = 0;\n resumableState.hasBody = false;\n resumableState.hasHtml = false;\n resumableState.unknownResources = { font: renderState.resets.font };\n resumableState.dnsResources = renderState.resets.dns;\n resumableState.connectResources = renderState.resets.connect;\n resumableState.imageResources = renderState.resets.image;\n resumableState.styleResources = renderState.resets.style;\n resumableState.scriptResources = {};\n resumableState.moduleUnknownResources = {};\n resumableState.moduleScriptResources = {};\n resumableState.instructions = 0;\n }\n return {\n nextSegmentId,\n rootFormatContext: request.rootFormatContext,\n progressiveChunkSize: request.progressiveChunkSize,\n resumableState: request.resumableState,\n replayNodes: trackedPostpones.rootNodes,\n replaySlots\n };\n }\n function ensureCorrectIsomorphicReactVersion() {\n var isomorphicReactPackageVersion = React137.version;\n if (\"19.2.5\" !== isomorphicReactPackageVersion)\n throw Error(\n formatProdErrorMessage3(\n 527,\n isomorphicReactPackageVersion,\n \"19.2.5\"\n )\n );\n }\n ensureCorrectIsomorphicReactVersion();\n ensureCorrectIsomorphicReactVersion();\n exports.prerender = function(children, options2) {\n return new Promise(function(resolve, reject) {\n var onHeaders = options2 ? options2.onHeaders : void 0, onHeadersImpl;\n onHeaders && (onHeadersImpl = function(headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resources = createResumableState(\n options2 ? options2.identifierPrefix : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.bootstrapScriptContent : void 0,\n options2 ? options2.bootstrapScripts : void 0,\n options2 ? options2.bootstrapModules : void 0\n ), request = createPrerenderRequest(\n children,\n resources,\n createRenderState(\n resources,\n void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.importMap : void 0,\n onHeadersImpl,\n options2 ? options2.maxHeadersLength : void 0\n ),\n createRootFormatContext(options2 ? options2.namespaceURI : void 0),\n options2 ? options2.progressiveChunkSize : void 0,\n options2 ? options2.onError : void 0,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.renderToReadableStream = function(children, options2) {\n return new Promise(function(resolve, reject) {\n var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }), onHeaders = options2 ? options2.onHeaders : void 0, onHeadersImpl;\n onHeaders && (onHeadersImpl = function(headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resumableState = createResumableState(\n options2 ? options2.identifierPrefix : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.bootstrapScriptContent : void 0,\n options2 ? options2.bootstrapScripts : void 0,\n options2 ? options2.bootstrapModules : void 0\n ), request = createRequest(\n children,\n resumableState,\n createRenderState(\n resumableState,\n options2 ? options2.nonce : void 0,\n options2 ? options2.unstable_externalRuntimeSrc : void 0,\n options2 ? options2.importMap : void 0,\n onHeadersImpl,\n options2 ? options2.maxHeadersLength : void 0\n ),\n createRootFormatContext(options2 ? options2.namespaceURI : void 0),\n options2 ? options2.progressiveChunkSize : void 0,\n options2 ? options2.onError : void 0,\n onAllReady,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function(error) {\n allReady.catch(function() {\n });\n reject(error);\n },\n onFatalError,\n options2 ? options2.onPostpone : void 0,\n options2 ? options2.formState : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.resume = function(children, postponedState, options2) {\n return new Promise(function(resolve, reject) {\n var onFatalError, onAllReady, allReady = new Promise(function(res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }), request = resumeRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n options2 ? options2.nonce : void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options2 ? options2.onError : void 0,\n onAllReady,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function(error) {\n allReady.catch(function() {\n });\n reject(error);\n },\n onFatalError,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.resumeAndPrerender = function(children, postponedState, options2) {\n return new Promise(function(resolve, reject) {\n var request = resumeAndPrerenderRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options2 ? options2.onError : void 0,\n function() {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function(controller) {\n startFlowing(request, controller);\n },\n cancel: function(reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options2 ? options2.onPostpone : void 0\n );\n if (options2 && options2.signal) {\n var signal = options2.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener2 = function() {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener2);\n };\n signal.addEventListener(\"abort\", listener2);\n }\n }\n startWork(request);\n });\n };\n exports.version = \"19.2.5\";\n }\n });\n\n // ../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/server.browser.js\n var require_server_browser = __commonJS({\n \"../../../node_modules/.bun/react-dom@19.2.5+3f10a4be4e334a9b/node_modules/react-dom/server.browser.js\"(exports) {\n \"use strict\";\n var l;\n var s2;\n if (true) {\n l = require_react_dom_server_legacy_browser_production();\n s2 = require_react_dom_server_browser_production();\n } else {\n l = null;\n s2 = null;\n }\n exports.version = l.version;\n exports.renderToString = l.renderToString;\n exports.renderToStaticMarkup = l.renderToStaticMarkup;\n exports.renderToReadableStream = s2.renderToReadableStream;\n exports.resume = s2.resume;\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js\n var require_react_jsx_runtime_production = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js\"(exports) {\n \"use strict\";\n var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.transitional.element\");\n var REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n function 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,\n key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n }\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = jsxProd;\n exports.jsxs = jsxProd;\n }\n });\n\n // ../../../node_modules/.bun/react@19.2.5/node_modules/react/jsx-runtime.js\n var require_jsx_runtime = __commonJS({\n \"../../../node_modules/.bun/react@19.2.5/node_modules/react/jsx-runtime.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_jsx_runtime_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\n var require_resolve_uri_umd = __commonJS({\n \"../../../node_modules/.bun/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\"(exports, module) {\n (function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? module.exports = factory() : typeof define === \"function\" && define.amd ? define(factory) : (global = typeof globalThis !== \"undefined\" ? globalThis : global || self, global.resolveURI = factory());\n })(exports, (function() {\n \"use strict\";\n const schemeRegex = /^[\\w+.-]+:\\/\\//;\n const urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n const fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n function isAbsoluteUrl(input2) {\n return schemeRegex.test(input2);\n }\n function isSchemeRelativeUrl(input2) {\n return input2.startsWith(\"//\");\n }\n function isAbsolutePath(input2) {\n return input2.startsWith(\"/\");\n }\n function isFileUrl(input2) {\n return input2.startsWith(\"file:\");\n }\n function isRelative(input2) {\n return /^[.?#]/.test(input2);\n }\n function parseAbsoluteUrl(input2) {\n const match2 = urlRegex.exec(input2);\n return makeUrl(match2[1], match2[2] || \"\", match2[3], match2[4] || \"\", match2[5] || \"/\", match2[6] || \"\", match2[7] || \"\");\n }\n function parseFileUrl(input2) {\n const match2 = fileRegex.exec(input2);\n const path2 = match2[2];\n return makeUrl(\"file:\", \"\", match2[1] || \"\", \"\", isAbsolutePath(path2) ? path2 : \"/\" + path2, match2[3] || \"\", match2[4] || \"\");\n }\n function makeUrl(scheme, user, host, port, path2, query, hash) {\n return {\n scheme,\n user,\n host,\n port,\n path: path2,\n query,\n hash,\n type: 7\n };\n }\n function parseUrl(input2) {\n if (isSchemeRelativeUrl(input2)) {\n const url2 = parseAbsoluteUrl(\"http:\" + input2);\n url2.scheme = \"\";\n url2.type = 6;\n return url2;\n }\n if (isAbsolutePath(input2)) {\n const url2 = parseAbsoluteUrl(\"http://foo.com\" + input2);\n url2.scheme = \"\";\n url2.host = \"\";\n url2.type = 5;\n return url2;\n }\n if (isFileUrl(input2))\n return parseFileUrl(input2);\n if (isAbsoluteUrl(input2))\n return parseAbsoluteUrl(input2);\n const url = parseAbsoluteUrl(\"http://foo.com/\" + input2);\n url.scheme = \"\";\n url.host = \"\";\n url.type = input2 ? input2.startsWith(\"?\") ? 3 : input2.startsWith(\"#\") ? 2 : 4 : 1;\n return url;\n }\n function stripPathFilename(path2) {\n if (path2.endsWith(\"/..\"))\n return path2;\n const index2 = path2.lastIndexOf(\"/\");\n return path2.slice(0, index2 + 1);\n }\n function mergePaths(url, base) {\n normalizePath(base, base.type);\n if (url.path === \"/\") {\n url.path = base.path;\n } else {\n url.path = stripPathFilename(base.path) + url.path;\n }\n }\n function normalizePath(url, type) {\n const rel = type <= 4;\n const pieces = url.path.split(\"/\");\n let pointer = 1;\n let positive = 0;\n let addTrailingSlash = false;\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n addTrailingSlash = false;\n if (piece === \".\")\n continue;\n if (piece === \"..\") {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n pieces[pointer++] = piece;\n }\n continue;\n }\n pieces[pointer++] = piece;\n positive++;\n }\n let path2 = \"\";\n for (let i = 1; i < pointer; i++) {\n path2 += \"/\" + pieces[i];\n }\n if (!path2 || addTrailingSlash && !path2.endsWith(\"/..\")) {\n path2 += \"/\";\n }\n url.path = path2;\n }\n function resolve(input2, base) {\n if (!input2 && !base)\n return \"\";\n const url = parseUrl(input2);\n let inputType = url.type;\n if (base && inputType !== 7) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n switch (inputType) {\n case 1:\n url.hash = baseUrl.hash;\n // fall through\n case 2:\n url.query = baseUrl.query;\n // fall through\n case 3:\n case 4:\n mergePaths(url, baseUrl);\n // fall through\n case 5:\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n case 6:\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType)\n inputType = baseType;\n }\n normalizePath(url, inputType);\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n case 2:\n case 3:\n return queryHash;\n case 4: {\n const path2 = url.path.slice(1);\n if (!path2)\n return queryHash || \".\";\n if (isRelative(base || input2) && !isRelative(path2)) {\n return \"./\" + path2 + queryHash;\n }\n return path2 + queryHash;\n }\n case 5:\n return url.path + queryHash;\n default:\n return url.scheme + \"//\" + url.user + url.host + url.port + url.path + queryHash;\n }\n }\n return resolve;\n }));\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/util.js\n var require_util = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/util.js\"(exports) {\n \"use strict\";\n var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {\n d2.__proto__ = b2;\n } || function(d2, b2) {\n for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p];\n };\n return extendStatics(d, b);\n };\n return function(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.DetailContext = exports.NoopContext = exports.VError = void 0;\n var VError = (\n /** @class */\n (function(_super) {\n __extends(VError2, _super);\n function VError2(path2, message) {\n var _this = _super.call(this, message) || this;\n _this.path = path2;\n Object.setPrototypeOf(_this, VError2.prototype);\n return _this;\n }\n return VError2;\n })(Error)\n );\n exports.VError = VError;\n var NoopContext = (\n /** @class */\n (function() {\n function NoopContext2() {\n }\n NoopContext2.prototype.fail = function(relPath, message, score) {\n return false;\n };\n NoopContext2.prototype.unionResolver = function() {\n return this;\n };\n NoopContext2.prototype.createContext = function() {\n return this;\n };\n NoopContext2.prototype.resolveUnion = function(ur) {\n };\n return NoopContext2;\n })()\n );\n exports.NoopContext = NoopContext;\n var DetailContext = (\n /** @class */\n (function() {\n function DetailContext2() {\n this._propNames = [\"\"];\n this._messages = [null];\n this._score = 0;\n }\n DetailContext2.prototype.fail = function(relPath, message, score) {\n this._propNames.push(relPath);\n this._messages.push(message);\n this._score += score;\n return false;\n };\n DetailContext2.prototype.unionResolver = function() {\n return new DetailUnionResolver();\n };\n DetailContext2.prototype.resolveUnion = function(unionResolver) {\n var _a, _b;\n var u = unionResolver;\n var best = null;\n for (var _i = 0, _c = u.contexts; _i < _c.length; _i++) {\n var ctx = _c[_i];\n if (!best || ctx._score >= best._score) {\n best = ctx;\n }\n }\n if (best && best._score > 0) {\n (_a = this._propNames).push.apply(_a, best._propNames);\n (_b = this._messages).push.apply(_b, best._messages);\n }\n };\n DetailContext2.prototype.getError = function(path2) {\n var msgParts = [];\n for (var i = this._propNames.length - 1; i >= 0; i--) {\n var p = this._propNames[i];\n path2 += typeof p === \"number\" ? \"[\" + p + \"]\" : p ? \".\" + p : \"\";\n var m = this._messages[i];\n if (m) {\n msgParts.push(path2 + \" \" + m);\n }\n }\n return new VError(path2, msgParts.join(\"; \"));\n };\n DetailContext2.prototype.getErrorDetail = function(path2) {\n var details = [];\n for (var i = this._propNames.length - 1; i >= 0; i--) {\n var p = this._propNames[i];\n path2 += typeof p === \"number\" ? \"[\" + p + \"]\" : p ? \".\" + p : \"\";\n var message = this._messages[i];\n if (message) {\n details.push({ path: path2, message });\n }\n }\n var detail = null;\n for (var i = details.length - 1; i >= 0; i--) {\n if (detail) {\n details[i].nested = [detail];\n }\n detail = details[i];\n }\n return detail;\n };\n return DetailContext2;\n })()\n );\n exports.DetailContext = DetailContext;\n var DetailUnionResolver = (\n /** @class */\n (function() {\n function DetailUnionResolver2() {\n this.contexts = [];\n }\n DetailUnionResolver2.prototype.createContext = function() {\n var ctx = new DetailContext();\n this.contexts.push(ctx);\n return ctx;\n };\n return DetailUnionResolver2;\n })()\n );\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/types.js\n var require_types = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/types.js\"(exports) {\n \"use strict\";\n var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {\n d2.__proto__ = b2;\n } || function(d2, b2) {\n for (var p in b2) if (b2.hasOwnProperty(p)) d2[p] = b2[p];\n };\n return extendStatics(d, b);\n };\n return function(d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.basicTypes = exports.BasicType = exports.TParamList = exports.TParam = exports.param = exports.TFunc = exports.func = exports.TProp = exports.TOptional = exports.opt = exports.TIface = exports.iface = exports.TEnumLiteral = exports.enumlit = exports.TEnumType = exports.enumtype = exports.TIntersection = exports.intersection = exports.TUnion = exports.union = exports.TTuple = exports.tuple = exports.TArray = exports.array = exports.TLiteral = exports.lit = exports.TName = exports.name = exports.TType = void 0;\n var util_1 = require_util();\n var TType = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TType2() {\n }\n return TType2;\n })()\n );\n exports.TType = TType;\n function parseSpec(typeSpec) {\n return typeof typeSpec === \"string\" ? name(typeSpec) : typeSpec;\n }\n function getNamedType(suite, name2) {\n var ttype = suite[name2];\n if (!ttype) {\n throw new Error(\"Unknown type \" + name2);\n }\n return ttype;\n }\n function name(value) {\n return new TName(value);\n }\n exports.name = name;\n var TName = (\n /** @class */\n (function(_super) {\n __extends(TName2, _super);\n function TName2(name2) {\n var _this = _super.call(this) || this;\n _this.name = name2;\n _this._failMsg = \"is not a \" + name2;\n return _this;\n }\n TName2.prototype.getChecker = function(suite, strict, allowedProps) {\n var _this = this;\n var ttype = getNamedType(suite, this.name);\n var checker = ttype.getChecker(suite, strict, allowedProps);\n if (ttype instanceof BasicType || ttype instanceof TName2) {\n return checker;\n }\n return function(value, ctx) {\n return checker(value, ctx) ? true : ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TName2;\n })(TType)\n );\n exports.TName = TName;\n function lit2(value) {\n return new TLiteral(value);\n }\n exports.lit = lit2;\n var TLiteral = (\n /** @class */\n (function(_super) {\n __extends(TLiteral2, _super);\n function TLiteral2(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n _this.name = JSON.stringify(value);\n _this._failMsg = \"is not \" + _this.name;\n return _this;\n }\n TLiteral2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return value === _this.value ? true : ctx.fail(null, _this._failMsg, -1);\n };\n };\n return TLiteral2;\n })(TType)\n );\n exports.TLiteral = TLiteral;\n function array2(typeSpec) {\n return new TArray(parseSpec(typeSpec));\n }\n exports.array = array2;\n var TArray = (\n /** @class */\n (function(_super) {\n __extends(TArray2, _super);\n function TArray2(ttype) {\n var _this = _super.call(this) || this;\n _this.ttype = ttype;\n return _this;\n }\n TArray2.prototype.getChecker = function(suite, strict) {\n var itemChecker = this.ttype.getChecker(suite, strict);\n return function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < value.length; i++) {\n var ok = itemChecker(value[i], ctx);\n if (!ok) {\n return ctx.fail(i, null, 1);\n }\n }\n return true;\n };\n };\n return TArray2;\n })(TType)\n );\n exports.TArray = TArray;\n function tuple() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TTuple(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.tuple = tuple;\n var TTuple = (\n /** @class */\n (function(_super) {\n __extends(TTuple2, _super);\n function TTuple2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n return _this;\n }\n TTuple2.prototype.getChecker = function(suite, strict) {\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict);\n });\n var checker = function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < itemCheckers.length; i++) {\n var ok = itemCheckers[i](value[i], ctx);\n if (!ok) {\n return ctx.fail(i, null, 1);\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n return value.length <= itemCheckers.length ? true : ctx.fail(itemCheckers.length, \"is extraneous\", 2);\n };\n };\n return TTuple2;\n })(TType)\n );\n exports.TTuple = TTuple;\n function union2() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TUnion(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.union = union2;\n var TUnion = (\n /** @class */\n (function(_super) {\n __extends(TUnion2, _super);\n function TUnion2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n var names = ttypes.map(function(t2) {\n return t2 instanceof TName || t2 instanceof TLiteral ? t2.name : null;\n }).filter(function(n) {\n return n;\n });\n var otherTypes = ttypes.length - names.length;\n if (names.length) {\n if (otherTypes > 0) {\n names.push(otherTypes + \" more\");\n }\n _this._failMsg = \"is none of \" + names.join(\", \");\n } else {\n _this._failMsg = \"is none of \" + otherTypes + \" types\";\n }\n return _this;\n }\n TUnion2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict);\n });\n return function(value, ctx) {\n var ur = ctx.unionResolver();\n for (var i = 0; i < itemCheckers.length; i++) {\n var ok = itemCheckers[i](value, ur.createContext());\n if (ok) {\n return true;\n }\n }\n ctx.resolveUnion(ur);\n return ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TUnion2;\n })(TType)\n );\n exports.TUnion = TUnion;\n function intersection() {\n var typeSpec = [];\n for (var _i2 = 0; _i2 < arguments.length; _i2++) {\n typeSpec[_i2] = arguments[_i2];\n }\n return new TIntersection(typeSpec.map(function(t2) {\n return parseSpec(t2);\n }));\n }\n exports.intersection = intersection;\n var TIntersection = (\n /** @class */\n (function(_super) {\n __extends(TIntersection2, _super);\n function TIntersection2(ttypes) {\n var _this = _super.call(this) || this;\n _this.ttypes = ttypes;\n return _this;\n }\n TIntersection2.prototype.getChecker = function(suite, strict) {\n var allowedProps = /* @__PURE__ */ new Set();\n var itemCheckers = this.ttypes.map(function(t2) {\n return t2.getChecker(suite, strict, allowedProps);\n });\n return function(value, ctx) {\n var ok = itemCheckers.every(function(checker) {\n return checker(value, ctx);\n });\n if (ok) {\n return true;\n }\n return ctx.fail(null, null, 0);\n };\n };\n return TIntersection2;\n })(TType)\n );\n exports.TIntersection = TIntersection;\n function enumtype(values) {\n return new TEnumType(values);\n }\n exports.enumtype = enumtype;\n var TEnumType = (\n /** @class */\n (function(_super) {\n __extends(TEnumType2, _super);\n function TEnumType2(members) {\n var _this = _super.call(this) || this;\n _this.members = members;\n _this.validValues = /* @__PURE__ */ new Set();\n _this._failMsg = \"is not a valid enum value\";\n _this.validValues = new Set(Object.keys(members).map(function(name2) {\n return members[name2];\n }));\n return _this;\n }\n TEnumType2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return _this.validValues.has(value) ? true : ctx.fail(null, _this._failMsg, 0);\n };\n };\n return TEnumType2;\n })(TType)\n );\n exports.TEnumType = TEnumType;\n function enumlit(name2, prop) {\n return new TEnumLiteral(name2, prop);\n }\n exports.enumlit = enumlit;\n var TEnumLiteral = (\n /** @class */\n (function(_super) {\n __extends(TEnumLiteral2, _super);\n function TEnumLiteral2(enumName, prop) {\n var _this = _super.call(this) || this;\n _this.enumName = enumName;\n _this.prop = prop;\n _this._failMsg = \"is not \" + enumName + \".\" + prop;\n return _this;\n }\n TEnumLiteral2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var ttype = getNamedType(suite, this.enumName);\n if (!(ttype instanceof TEnumType)) {\n throw new Error(\"Type \" + this.enumName + \" used in enumlit is not an enum type\");\n }\n var val = ttype.members[this.prop];\n if (!ttype.members.hasOwnProperty(this.prop)) {\n throw new Error(\"Unknown value \" + this.enumName + \".\" + this.prop + \" used in enumlit\");\n }\n return function(value, ctx) {\n return value === val ? true : ctx.fail(null, _this._failMsg, -1);\n };\n };\n return TEnumLiteral2;\n })(TType)\n );\n exports.TEnumLiteral = TEnumLiteral;\n function makeIfaceProps(props) {\n return Object.keys(props).map(function(name2) {\n return makeIfaceProp(name2, props[name2]);\n });\n }\n function makeIfaceProp(name2, prop) {\n return prop instanceof TOptional ? new TProp(name2, prop.ttype, true) : new TProp(name2, parseSpec(prop), false);\n }\n function iface2(bases, props) {\n return new TIface(bases, makeIfaceProps(props));\n }\n exports.iface = iface2;\n var TIface = (\n /** @class */\n (function(_super) {\n __extends(TIface2, _super);\n function TIface2(bases, props) {\n var _this = _super.call(this) || this;\n _this.bases = bases;\n _this.props = props;\n _this.propSet = new Set(props.map(function(p) {\n return p.name;\n }));\n return _this;\n }\n TIface2.prototype.getChecker = function(suite, strict, allowedProps) {\n var _this = this;\n var baseCheckers = this.bases.map(function(b) {\n return getNamedType(suite, b).getChecker(suite, strict);\n });\n var propCheckers = this.props.map(function(prop) {\n return prop.ttype.getChecker(suite, strict);\n });\n var testCtx = new util_1.NoopContext();\n var isPropRequired = this.props.map(function(prop, i) {\n return !prop.isOpt && !propCheckers[i](void 0, testCtx);\n });\n var checker = function(value, ctx) {\n if (typeof value !== \"object\" || value === null) {\n return ctx.fail(null, \"is not an object\", 0);\n }\n for (var i = 0; i < baseCheckers.length; i++) {\n if (!baseCheckers[i](value, ctx)) {\n return false;\n }\n }\n for (var i = 0; i < propCheckers.length; i++) {\n var name_1 = _this.props[i].name;\n var v = value[name_1];\n if (v === void 0) {\n if (isPropRequired[i]) {\n return ctx.fail(name_1, \"is missing\", 1);\n }\n } else {\n var ok = propCheckers[i](v, ctx);\n if (!ok) {\n return ctx.fail(name_1, null, 1);\n }\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n var propSet = this.propSet;\n if (allowedProps) {\n this.propSet.forEach(function(prop) {\n return allowedProps.add(prop);\n });\n propSet = allowedProps;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n for (var prop in value) {\n if (!propSet.has(prop)) {\n return ctx.fail(prop, \"is extraneous\", 2);\n }\n }\n return true;\n };\n };\n return TIface2;\n })(TType)\n );\n exports.TIface = TIface;\n function opt2(typeSpec) {\n return new TOptional(parseSpec(typeSpec));\n }\n exports.opt = opt2;\n var TOptional = (\n /** @class */\n (function(_super) {\n __extends(TOptional2, _super);\n function TOptional2(ttype) {\n var _this = _super.call(this) || this;\n _this.ttype = ttype;\n return _this;\n }\n TOptional2.prototype.getChecker = function(suite, strict) {\n var itemChecker = this.ttype.getChecker(suite, strict);\n return function(value, ctx) {\n return value === void 0 || itemChecker(value, ctx);\n };\n };\n return TOptional2;\n })(TType)\n );\n exports.TOptional = TOptional;\n var TProp = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TProp2(name2, ttype, isOpt) {\n this.name = name2;\n this.ttype = ttype;\n this.isOpt = isOpt;\n }\n return TProp2;\n })()\n );\n exports.TProp = TProp;\n function func(resultSpec) {\n var params = [];\n for (var _i2 = 1; _i2 < arguments.length; _i2++) {\n params[_i2 - 1] = arguments[_i2];\n }\n return new TFunc(new TParamList(params), parseSpec(resultSpec));\n }\n exports.func = func;\n var TFunc = (\n /** @class */\n (function(_super) {\n __extends(TFunc2, _super);\n function TFunc2(paramList, result) {\n var _this = _super.call(this) || this;\n _this.paramList = paramList;\n _this.result = result;\n return _this;\n }\n TFunc2.prototype.getChecker = function(suite, strict) {\n return function(value, ctx) {\n return typeof value === \"function\" ? true : ctx.fail(null, \"is not a function\", 0);\n };\n };\n return TFunc2;\n })(TType)\n );\n exports.TFunc = TFunc;\n function param(name2, typeSpec, isOpt) {\n return new TParam(name2, parseSpec(typeSpec), Boolean(isOpt));\n }\n exports.param = param;\n var TParam = (\n /** @class */\n /* @__PURE__ */ (function() {\n function TParam2(name2, ttype, isOpt) {\n this.name = name2;\n this.ttype = ttype;\n this.isOpt = isOpt;\n }\n return TParam2;\n })()\n );\n exports.TParam = TParam;\n var TParamList = (\n /** @class */\n (function(_super) {\n __extends(TParamList2, _super);\n function TParamList2(params) {\n var _this = _super.call(this) || this;\n _this.params = params;\n return _this;\n }\n TParamList2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n var itemCheckers = this.params.map(function(t2) {\n return t2.ttype.getChecker(suite, strict);\n });\n var testCtx = new util_1.NoopContext();\n var isParamRequired = this.params.map(function(param2, i) {\n return !param2.isOpt && !itemCheckers[i](void 0, testCtx);\n });\n var checker = function(value, ctx) {\n if (!Array.isArray(value)) {\n return ctx.fail(null, \"is not an array\", 0);\n }\n for (var i = 0; i < itemCheckers.length; i++) {\n var p = _this.params[i];\n if (value[i] === void 0) {\n if (isParamRequired[i]) {\n return ctx.fail(p.name, \"is missing\", 1);\n }\n } else {\n var ok = itemCheckers[i](value[i], ctx);\n if (!ok) {\n return ctx.fail(p.name, null, 1);\n }\n }\n }\n return true;\n };\n if (!strict) {\n return checker;\n }\n return function(value, ctx) {\n if (!checker(value, ctx)) {\n return false;\n }\n return value.length <= itemCheckers.length ? true : ctx.fail(itemCheckers.length, \"is extraneous\", 2);\n };\n };\n return TParamList2;\n })(TType)\n );\n exports.TParamList = TParamList;\n var BasicType = (\n /** @class */\n (function(_super) {\n __extends(BasicType2, _super);\n function BasicType2(validator, message) {\n var _this = _super.call(this) || this;\n _this.validator = validator;\n _this.message = message;\n return _this;\n }\n BasicType2.prototype.getChecker = function(suite, strict) {\n var _this = this;\n return function(value, ctx) {\n return _this.validator(value) ? true : ctx.fail(null, _this.message, 0);\n };\n };\n return BasicType2;\n })(TType)\n );\n exports.BasicType = BasicType;\n exports.basicTypes = {\n any: new BasicType(function(v) {\n return true;\n }, \"is invalid\"),\n number: new BasicType(function(v) {\n return typeof v === \"number\";\n }, \"is not a number\"),\n object: new BasicType(function(v) {\n return typeof v === \"object\" && v;\n }, \"is not an object\"),\n boolean: new BasicType(function(v) {\n return typeof v === \"boolean\";\n }, \"is not a boolean\"),\n string: new BasicType(function(v) {\n return typeof v === \"string\";\n }, \"is not a string\"),\n symbol: new BasicType(function(v) {\n return typeof v === \"symbol\";\n }, \"is not a symbol\"),\n void: new BasicType(function(v) {\n return v == null;\n }, \"is not void\"),\n undefined: new BasicType(function(v) {\n return v === void 0;\n }, \"is not undefined\"),\n null: new BasicType(function(v) {\n return v === null;\n }, \"is not null\"),\n never: new BasicType(function(v) {\n return false;\n }, \"is unexpected\"),\n Date: new BasicType(getIsNativeChecker(\"[object Date]\"), \"is not a Date\"),\n RegExp: new BasicType(getIsNativeChecker(\"[object RegExp]\"), \"is not a RegExp\")\n };\n var nativeToString = Object.prototype.toString;\n function getIsNativeChecker(tag) {\n return function(v) {\n return typeof v === \"object\" && v && nativeToString.call(v) === tag;\n };\n }\n if (typeof Buffer !== \"undefined\") {\n exports.basicTypes.Buffer = new BasicType(function(v) {\n return Buffer.isBuffer(v);\n }, \"is not a Buffer\");\n }\n var _loop_1 = function(array_12) {\n exports.basicTypes[array_12.name] = new BasicType(function(v) {\n return v instanceof array_12;\n }, \"is not a \" + array_12.name);\n };\n for (_i = 0, _a = [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n ArrayBuffer\n ]; _i < _a.length; _i++) {\n array_1 = _a[_i];\n _loop_1(array_1);\n }\n var array_1;\n var _i;\n var _a;\n }\n });\n\n // ../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/index.js\n var require_dist = __commonJS({\n \"../../../node_modules/.bun/ts-interface-checker@0.1.13/node_modules/ts-interface-checker/dist/index.js\"(exports) {\n \"use strict\";\n var __spreadArrays = exports && exports.__spreadArrays || function() {\n for (var s2 = 0, i = 0, il = arguments.length; i < il; i++) s2 += arguments[i].length;\n for (var r2 = Array(s2), k2 = 0, i = 0; i < il; i++)\n for (var a2 = arguments[i], j = 0, jl = a2.length; j < jl; j++, k2++)\n r2[k2] = a2[j];\n return r2;\n };\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.Checker = exports.createCheckers = void 0;\n var types_1 = require_types();\n var util_1 = require_util();\n var types_2 = require_types();\n Object.defineProperty(exports, \"TArray\", { enumerable: true, get: function() {\n return types_2.TArray;\n } });\n Object.defineProperty(exports, \"TEnumType\", { enumerable: true, get: function() {\n return types_2.TEnumType;\n } });\n Object.defineProperty(exports, \"TEnumLiteral\", { enumerable: true, get: function() {\n return types_2.TEnumLiteral;\n } });\n Object.defineProperty(exports, \"TFunc\", { enumerable: true, get: function() {\n return types_2.TFunc;\n } });\n Object.defineProperty(exports, \"TIface\", { enumerable: true, get: function() {\n return types_2.TIface;\n } });\n Object.defineProperty(exports, \"TLiteral\", { enumerable: true, get: function() {\n return types_2.TLiteral;\n } });\n Object.defineProperty(exports, \"TName\", { enumerable: true, get: function() {\n return types_2.TName;\n } });\n Object.defineProperty(exports, \"TOptional\", { enumerable: true, get: function() {\n return types_2.TOptional;\n } });\n Object.defineProperty(exports, \"TParam\", { enumerable: true, get: function() {\n return types_2.TParam;\n } });\n Object.defineProperty(exports, \"TParamList\", { enumerable: true, get: function() {\n return types_2.TParamList;\n } });\n Object.defineProperty(exports, \"TProp\", { enumerable: true, get: function() {\n return types_2.TProp;\n } });\n Object.defineProperty(exports, \"TTuple\", { enumerable: true, get: function() {\n return types_2.TTuple;\n } });\n Object.defineProperty(exports, \"TType\", { enumerable: true, get: function() {\n return types_2.TType;\n } });\n Object.defineProperty(exports, \"TUnion\", { enumerable: true, get: function() {\n return types_2.TUnion;\n } });\n Object.defineProperty(exports, \"TIntersection\", { enumerable: true, get: function() {\n return types_2.TIntersection;\n } });\n Object.defineProperty(exports, \"array\", { enumerable: true, get: function() {\n return types_2.array;\n } });\n Object.defineProperty(exports, \"enumlit\", { enumerable: true, get: function() {\n return types_2.enumlit;\n } });\n Object.defineProperty(exports, \"enumtype\", { enumerable: true, get: function() {\n return types_2.enumtype;\n } });\n Object.defineProperty(exports, \"func\", { enumerable: true, get: function() {\n return types_2.func;\n } });\n Object.defineProperty(exports, \"iface\", { enumerable: true, get: function() {\n return types_2.iface;\n } });\n Object.defineProperty(exports, \"lit\", { enumerable: true, get: function() {\n return types_2.lit;\n } });\n Object.defineProperty(exports, \"name\", { enumerable: true, get: function() {\n return types_2.name;\n } });\n Object.defineProperty(exports, \"opt\", { enumerable: true, get: function() {\n return types_2.opt;\n } });\n Object.defineProperty(exports, \"param\", { enumerable: true, get: function() {\n return types_2.param;\n } });\n Object.defineProperty(exports, \"tuple\", { enumerable: true, get: function() {\n return types_2.tuple;\n } });\n Object.defineProperty(exports, \"union\", { enumerable: true, get: function() {\n return types_2.union;\n } });\n Object.defineProperty(exports, \"intersection\", { enumerable: true, get: function() {\n return types_2.intersection;\n } });\n Object.defineProperty(exports, \"BasicType\", { enumerable: true, get: function() {\n return types_2.BasicType;\n } });\n var util_2 = require_util();\n Object.defineProperty(exports, \"VError\", { enumerable: true, get: function() {\n return util_2.VError;\n } });\n function createCheckers2() {\n var typeSuite = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n typeSuite[_i] = arguments[_i];\n }\n var fullSuite = Object.assign.apply(Object, __spreadArrays([{}, types_1.basicTypes], typeSuite));\n var checkers = {};\n for (var _a = 0, typeSuite_1 = typeSuite; _a < typeSuite_1.length; _a++) {\n var suite_1 = typeSuite_1[_a];\n for (var _b = 0, _c = Object.keys(suite_1); _b < _c.length; _b++) {\n var name = _c[_b];\n checkers[name] = new Checker(fullSuite, suite_1[name]);\n }\n }\n return checkers;\n }\n exports.createCheckers = createCheckers2;\n var Checker = (\n /** @class */\n (function() {\n function Checker2(suite, ttype, _path) {\n if (_path === void 0) {\n _path = \"value\";\n }\n this.suite = suite;\n this.ttype = ttype;\n this._path = _path;\n this.props = /* @__PURE__ */ new Map();\n if (ttype instanceof types_1.TIface) {\n for (var _i = 0, _a = ttype.props; _i < _a.length; _i++) {\n var p = _a[_i];\n this.props.set(p.name, p.ttype);\n }\n }\n this.checkerPlain = this.ttype.getChecker(suite, false);\n this.checkerStrict = this.ttype.getChecker(suite, true);\n }\n Checker2.prototype.setReportedPath = function(path2) {\n this._path = path2;\n };\n Checker2.prototype.check = function(value) {\n return this._doCheck(this.checkerPlain, value);\n };\n Checker2.prototype.test = function(value) {\n return this.checkerPlain(value, new util_1.NoopContext());\n };\n Checker2.prototype.validate = function(value) {\n return this._doValidate(this.checkerPlain, value);\n };\n Checker2.prototype.strictCheck = function(value) {\n return this._doCheck(this.checkerStrict, value);\n };\n Checker2.prototype.strictTest = function(value) {\n return this.checkerStrict(value, new util_1.NoopContext());\n };\n Checker2.prototype.strictValidate = function(value) {\n return this._doValidate(this.checkerStrict, value);\n };\n Checker2.prototype.getProp = function(prop) {\n var ttype = this.props.get(prop);\n if (!ttype) {\n throw new Error(\"Type has no property \" + prop);\n }\n return new Checker2(this.suite, ttype, this._path + \".\" + prop);\n };\n Checker2.prototype.methodArgs = function(methodName) {\n var tfunc = this._getMethod(methodName);\n return new Checker2(this.suite, tfunc.paramList);\n };\n Checker2.prototype.methodResult = function(methodName) {\n var tfunc = this._getMethod(methodName);\n return new Checker2(this.suite, tfunc.result);\n };\n Checker2.prototype.getArgs = function() {\n if (!(this.ttype instanceof types_1.TFunc)) {\n throw new Error(\"getArgs() applied to non-function\");\n }\n return new Checker2(this.suite, this.ttype.paramList);\n };\n Checker2.prototype.getResult = function() {\n if (!(this.ttype instanceof types_1.TFunc)) {\n throw new Error(\"getResult() applied to non-function\");\n }\n return new Checker2(this.suite, this.ttype.result);\n };\n Checker2.prototype.getType = function() {\n return this.ttype;\n };\n Checker2.prototype._doCheck = function(checkerFunc, value) {\n var noopCtx = new util_1.NoopContext();\n if (!checkerFunc(value, noopCtx)) {\n var detailCtx = new util_1.DetailContext();\n checkerFunc(value, detailCtx);\n throw detailCtx.getError(this._path);\n }\n };\n Checker2.prototype._doValidate = function(checkerFunc, value) {\n var noopCtx = new util_1.NoopContext();\n if (checkerFunc(value, noopCtx)) {\n return null;\n }\n var detailCtx = new util_1.DetailContext();\n checkerFunc(value, detailCtx);\n return detailCtx.getErrorDetail(this._path);\n };\n Checker2.prototype._getMethod = function(methodName) {\n var ttype = this.props.get(methodName);\n if (!ttype) {\n throw new Error(\"Type has no property \" + methodName);\n }\n if (!(ttype instanceof types_1.TFunc)) {\n throw new Error(\"Property \" + methodName + \" is not a method\");\n }\n return ttype;\n };\n return Checker2;\n })()\n );\n exports.Checker = Checker;\n }\n });\n\n // ../../../node_modules/.bun/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js\n var require_build = __commonJS({\n \"../../../node_modules/.bun/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js\"(exports) {\n \"use strict\";\n exports.__esModule = true;\n exports.LinesAndColumns = void 0;\n var LF = \"\\n\";\n var CR = \"\\r\";\n var LinesAndColumns2 = (\n /** @class */\n (function() {\n function LinesAndColumns3(string) {\n this.string = string;\n var offsets = [0];\n for (var offset4 = 0; offset4 < string.length; ) {\n switch (string[offset4]) {\n case LF:\n offset4 += LF.length;\n offsets.push(offset4);\n break;\n case CR:\n offset4 += CR.length;\n if (string[offset4] === LF) {\n offset4 += LF.length;\n }\n offsets.push(offset4);\n break;\n default:\n offset4++;\n break;\n }\n }\n this.offsets = offsets;\n }\n LinesAndColumns3.prototype.locationForIndex = function(index2) {\n if (index2 < 0 || index2 > this.string.length) {\n return null;\n }\n var line = 0;\n var offsets = this.offsets;\n while (offsets[line + 1] <= index2) {\n line++;\n }\n var column = index2 - offsets[line];\n return { line, column };\n };\n LinesAndColumns3.prototype.indexForLocation = function(location) {\n var line = location.line, column = location.column;\n if (line < 0 || line >= this.offsets.length) {\n return null;\n }\n if (column < 0 || column > this.lengthOfLine(line)) {\n return null;\n }\n return this.offsets[line] + column;\n };\n LinesAndColumns3.prototype.lengthOfLine = function(line) {\n var offset4 = this.offsets[line];\n var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];\n return nextOffset - offset4;\n };\n return LinesAndColumns3;\n })()\n );\n exports.LinesAndColumns = LinesAndColumns2;\n exports[\"default\"] = LinesAndColumns2;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js\n var require_use_sync_external_store_shim_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useState51 = React137.useState;\n var useEffect61 = React137.useEffect;\n var useLayoutEffect13 = React137.useLayoutEffect;\n var useDebugValue2 = React137.useDebugValue;\n function useSyncExternalStore$2(subscribe2, getSnapshot) {\n var value = getSnapshot(), _useState = useState51({ inst: { value, getSnapshot } }), inst = _useState[0].inst, forceUpdate = _useState[1];\n useLayoutEffect13(\n function() {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n },\n [subscribe2, value, getSnapshot]\n );\n useEffect61(\n function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n return subscribe2(function() {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst });\n });\n },\n [subscribe2]\n );\n useDebugValue2(value);\n return value;\n }\n function 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 true;\n }\n }\n function useSyncExternalStore$1(subscribe2, getSnapshot) {\n return getSnapshot();\n }\n var shim = \"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;\n exports.useSyncExternalStore = void 0 !== React137.useSyncExternalStore ? React137.useSyncExternalStore : shim;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/index.js\n var require_shim = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_use_sync_external_store_shim_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js\n var require_isUnsafeProperty = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isUnsafeProperty(key) {\n return key === \"__proto__\";\n }\n exports.isUnsafeProperty = isUnsafeProperty;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js\n var require_isDeepKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isDeepKey(key) {\n switch (typeof key) {\n case \"number\":\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return key.includes(\".\") || key.includes(\"[\") || key.includes(\"]\");\n }\n }\n }\n exports.isDeepKey = isDeepKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toKey.js\n var require_toKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toKey(value) {\n if (typeof value === \"string\" || typeof value === \"symbol\") {\n return value;\n }\n if (Object.is(value?.valueOf?.(), -0)) {\n return \"-0\";\n }\n return String(value);\n }\n exports.toKey = toKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toString.js\n var require_toString = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toString.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toString(value) {\n if (value == null) {\n return \"\";\n }\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(toString).join(\",\");\n }\n const result = String(value);\n if (result === \"0\" && Object.is(Number(value), -0)) {\n return \"-0\";\n }\n return result;\n }\n exports.toString = toString;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toPath.js\n var require_toPath = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toPath.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toString = require_toString();\n var toKey = require_toKey();\n function toPath(deepKey) {\n if (Array.isArray(deepKey)) {\n return deepKey.map(toKey.toKey);\n }\n if (typeof deepKey === \"symbol\") {\n return [deepKey];\n }\n deepKey = toString.toString(deepKey);\n const result = [];\n const length = deepKey.length;\n if (length === 0) {\n return result;\n }\n let index2 = 0;\n let key = \"\";\n let quoteChar = \"\";\n let bracket = false;\n if (deepKey.charCodeAt(0) === 46) {\n result.push(\"\");\n index2++;\n }\n while (index2 < length) {\n const char = deepKey[index2];\n if (quoteChar) {\n if (char === \"\\\\\" && index2 + 1 < length) {\n index2++;\n key += deepKey[index2];\n } else if (char === quoteChar) {\n quoteChar = \"\";\n } else {\n key += char;\n }\n } else if (bracket) {\n if (char === '\"' || char === \"'\") {\n quoteChar = char;\n } else if (char === \"]\") {\n bracket = false;\n result.push(key);\n key = \"\";\n } else {\n key += char;\n }\n } else {\n if (char === \"[\") {\n bracket = true;\n if (key) {\n result.push(key);\n key = \"\";\n }\n } else if (char === \".\") {\n if (key) {\n result.push(key);\n key = \"\";\n }\n } else {\n key += char;\n }\n }\n index2++;\n }\n if (key) {\n result.push(key);\n }\n return result;\n }\n exports.toPath = toPath;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/get.js\n var require_get = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/get.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isUnsafeProperty = require_isUnsafeProperty();\n var isDeepKey = require_isDeepKey();\n var toKey = require_toKey();\n var toPath = require_toPath();\n function get9(object, path2, defaultValue) {\n if (object == null) {\n return defaultValue;\n }\n switch (typeof path2) {\n case \"string\": {\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return defaultValue;\n }\n const result = object[path2];\n if (result === void 0) {\n if (isDeepKey.isDeepKey(path2)) {\n return get9(object, toPath.toPath(path2), defaultValue);\n } else {\n return defaultValue;\n }\n }\n return result;\n }\n case \"number\":\n case \"symbol\": {\n if (typeof path2 === \"number\") {\n path2 = toKey.toKey(path2);\n }\n const result = object[path2];\n if (result === void 0) {\n return defaultValue;\n }\n return result;\n }\n default: {\n if (Array.isArray(path2)) {\n return getWithPath(object, path2, defaultValue);\n }\n if (Object.is(path2?.valueOf(), -0)) {\n path2 = \"-0\";\n } else {\n path2 = String(path2);\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return defaultValue;\n }\n const result = object[path2];\n if (result === void 0) {\n return defaultValue;\n }\n return result;\n }\n }\n }\n function getWithPath(object, path2, defaultValue) {\n if (path2.length === 0) {\n return defaultValue;\n }\n let current3 = object;\n for (let index2 = 0; index2 < path2.length; index2++) {\n if (current3 == null) {\n return defaultValue;\n }\n if (isUnsafeProperty.isUnsafeProperty(path2[index2])) {\n return defaultValue;\n }\n current3 = current3[path2[index2]];\n }\n if (current3 === void 0) {\n return defaultValue;\n }\n return current3;\n }\n exports.get = get9;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/get.js\n var require_get2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/get.js\"(exports, module) {\n module.exports = require_get().get;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/uniqBy.js\n var require_uniqBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/uniqBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function uniqBy2(arr, mapper) {\n const map2 = /* @__PURE__ */ new Map();\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n const key = mapper(item, i, arr);\n if (!map2.has(key)) {\n map2.set(key, item);\n }\n }\n return Array.from(map2.values());\n }\n exports.uniqBy = uniqBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/ary.js\n var require_ary = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/ary.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function ary(func, n) {\n return function(...args) {\n return func.apply(this, args.slice(0, n));\n };\n }\n exports.ary = ary;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/identity.js\n var require_identity = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/identity.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function identity3(x2) {\n return x2;\n }\n exports.identity = identity3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.js\n var require_isLength = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n }\n exports.isLength = isLength;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js\n var require_isArrayLike = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isLength = require_isLength();\n function isArrayLike(value) {\n return value != null && typeof value !== \"function\" && isLength.isLength(value.length);\n }\n exports.isArrayLike = isArrayLike;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js\n var require_isObjectLike = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isObjectLike(value) {\n return typeof value === \"object\" && value !== null;\n }\n exports.isObjectLike = isObjectLike;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js\n var require_isArrayLikeObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isArrayLike = require_isArrayLike();\n var isObjectLike = require_isObjectLike();\n function isArrayLikeObject(value) {\n return isObjectLike.isObjectLike(value) && isArrayLike.isArrayLike(value);\n }\n exports.isArrayLikeObject = isArrayLikeObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/property.js\n var require_property = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/property.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var get9 = require_get();\n function property(path2) {\n return function(object) {\n return get9.get(object, path2);\n };\n }\n exports.property = property;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObject.js\n var require_isObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isObject(value) {\n return value !== null && (typeof value === \"object\" || typeof value === \"function\");\n }\n exports.isObject = isObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isPrimitive.js\n var require_isPrimitive = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isPrimitive.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPrimitive(value) {\n return value == null || typeof value !== \"object\" && typeof value !== \"function\";\n }\n exports.isPrimitive = isPrimitive;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js\n var require_isEqualsSameValueZero = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isEqualsSameValueZero(value, other) {\n return value === other || Number.isNaN(value) && Number.isNaN(other);\n }\n exports.isEqualsSameValueZero = isEqualsSameValueZero;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js\n var require_isMatchWith = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isObject = require_isObject();\n var isPrimitive = require_isPrimitive();\n var isEqualsSameValueZero = require_isEqualsSameValueZero();\n function isMatchWith(target, source, compare) {\n if (typeof compare !== \"function\") {\n return isMatchWith(target, source, () => void 0);\n }\n return isMatchWithInternal(target, source, function doesMatch(objValue, srcValue, key, object, source2, stack) {\n const isEqual = compare(objValue, srcValue, key, object, source2, stack);\n if (isEqual !== void 0) {\n return Boolean(isEqual);\n }\n return isMatchWithInternal(objValue, srcValue, doesMatch, stack);\n }, /* @__PURE__ */ new Map());\n }\n function isMatchWithInternal(target, source, compare, stack) {\n if (source === target) {\n return true;\n }\n switch (typeof source) {\n case \"object\": {\n return isObjectMatch(target, source, compare, stack);\n }\n case \"function\": {\n const sourceKeys = Object.keys(source);\n if (sourceKeys.length > 0) {\n return isMatchWithInternal(target, { ...source }, compare, stack);\n }\n return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n }\n default: {\n if (!isObject.isObject(target)) {\n return isEqualsSameValueZero.isEqualsSameValueZero(target, source);\n }\n if (typeof source === \"string\") {\n return source === \"\";\n }\n return true;\n }\n }\n }\n function isObjectMatch(target, source, compare, stack) {\n if (source == null) {\n return true;\n }\n if (Array.isArray(source)) {\n return isArrayMatch(target, source, compare, stack);\n }\n if (source instanceof Map) {\n return isMapMatch(target, source, compare, stack);\n }\n if (source instanceof Set) {\n return isSetMatch(target, source, compare, stack);\n }\n const keys = Object.keys(source);\n if (target == null || isPrimitive.isPrimitive(target)) {\n return keys.length === 0;\n }\n if (keys.length === 0) {\n return true;\n }\n if (stack?.has(source)) {\n return stack.get(source) === target;\n }\n stack?.set(source, target);\n try {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!isPrimitive.isPrimitive(target) && !(key in target)) {\n return false;\n }\n if (source[key] === void 0 && target[key] !== void 0) {\n return false;\n }\n if (source[key] === null && target[key] !== null) {\n return false;\n }\n const isEqual = compare(target[key], source[key], key, target, source, stack);\n if (!isEqual) {\n return false;\n }\n }\n return true;\n } finally {\n stack?.delete(source);\n }\n }\n function isMapMatch(target, source, compare, stack) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Map)) {\n return false;\n }\n for (const [key, sourceValue] of source.entries()) {\n const targetValue = target.get(key);\n const isEqual = compare(targetValue, sourceValue, key, target, source, stack);\n if (isEqual === false) {\n return false;\n }\n }\n return true;\n }\n function isArrayMatch(target, source, compare, stack) {\n if (source.length === 0) {\n return true;\n }\n if (!Array.isArray(target)) {\n return false;\n }\n const countedIndex = /* @__PURE__ */ new Set();\n for (let i = 0; i < source.length; i++) {\n const sourceItem = source[i];\n let found = false;\n for (let j = 0; j < target.length; j++) {\n if (countedIndex.has(j)) {\n continue;\n }\n const targetItem = target[j];\n let matches2 = false;\n const isEqual = compare(targetItem, sourceItem, i, target, source, stack);\n if (isEqual) {\n matches2 = true;\n }\n if (matches2) {\n countedIndex.add(j);\n found = true;\n break;\n }\n }\n if (!found) {\n return false;\n }\n }\n return true;\n }\n function isSetMatch(target, source, compare, stack) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Set)) {\n return false;\n }\n return isArrayMatch([...target], [...source], compare, stack);\n }\n exports.isMatchWith = isMatchWith;\n exports.isSetMatch = isSetMatch;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatch.js\n var require_isMatch = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isMatch.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatchWith = require_isMatchWith();\n function isMatch(target, source) {\n return isMatchWith.isMatchWith(target, source, () => void 0);\n }\n exports.isMatch = isMatch;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js\n var require_getSymbols = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));\n }\n exports.getSymbols = getSymbols;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.js\n var require_getTag = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getTag(value) {\n if (value == null) {\n return value === void 0 ? \"[object Undefined]\" : \"[object Null]\";\n }\n return Object.prototype.toString.call(value);\n }\n exports.getTag = getTag;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/tags.js\n var require_tags = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/tags.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var regexpTag = \"[object RegExp]\";\n var stringTag = \"[object String]\";\n var numberTag = \"[object Number]\";\n var booleanTag = \"[object Boolean]\";\n var argumentsTag = \"[object Arguments]\";\n var symbolTag = \"[object Symbol]\";\n var dateTag = \"[object Date]\";\n var mapTag = \"[object Map]\";\n var setTag = \"[object Set]\";\n var arrayTag = \"[object Array]\";\n var functionTag = \"[object Function]\";\n var arrayBufferTag = \"[object ArrayBuffer]\";\n var objectTag = \"[object Object]\";\n var errorTag = \"[object Error]\";\n var dataViewTag = \"[object DataView]\";\n var uint8ArrayTag = \"[object Uint8Array]\";\n var uint8ClampedArrayTag = \"[object Uint8ClampedArray]\";\n var uint16ArrayTag = \"[object Uint16Array]\";\n var uint32ArrayTag = \"[object Uint32Array]\";\n var bigUint64ArrayTag = \"[object BigUint64Array]\";\n var int8ArrayTag = \"[object Int8Array]\";\n var int16ArrayTag = \"[object Int16Array]\";\n var int32ArrayTag = \"[object Int32Array]\";\n var bigInt64ArrayTag = \"[object BigInt64Array]\";\n var float32ArrayTag = \"[object Float32Array]\";\n var float64ArrayTag = \"[object Float64Array]\";\n exports.argumentsTag = argumentsTag;\n exports.arrayBufferTag = arrayBufferTag;\n exports.arrayTag = arrayTag;\n exports.bigInt64ArrayTag = bigInt64ArrayTag;\n exports.bigUint64ArrayTag = bigUint64ArrayTag;\n exports.booleanTag = booleanTag;\n exports.dataViewTag = dataViewTag;\n exports.dateTag = dateTag;\n exports.errorTag = errorTag;\n exports.float32ArrayTag = float32ArrayTag;\n exports.float64ArrayTag = float64ArrayTag;\n exports.functionTag = functionTag;\n exports.int16ArrayTag = int16ArrayTag;\n exports.int32ArrayTag = int32ArrayTag;\n exports.int8ArrayTag = int8ArrayTag;\n exports.mapTag = mapTag;\n exports.numberTag = numberTag;\n exports.objectTag = objectTag;\n exports.regexpTag = regexpTag;\n exports.setTag = setTag;\n exports.stringTag = stringTag;\n exports.symbolTag = symbolTag;\n exports.uint16ArrayTag = uint16ArrayTag;\n exports.uint32ArrayTag = uint32ArrayTag;\n exports.uint8ArrayTag = uint8ArrayTag;\n exports.uint8ClampedArrayTag = uint8ClampedArrayTag;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.js\n var require_isTypedArray = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isTypedArray(x2) {\n return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);\n }\n exports.isTypedArray = isTypedArray;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeepWith.js\n var require_cloneDeepWith = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeepWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getSymbols = require_getSymbols();\n var getTag = require_getTag();\n var tags = require_tags();\n var isPrimitive = require_isPrimitive();\n var isTypedArray = require_isTypedArray();\n function cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), cloneValue);\n }\n function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== void 0) {\n return cloned;\n }\n if (isPrimitive.isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, \"index\")) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, \"input\")) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = /* @__PURE__ */ new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = /* @__PURE__ */ new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== \"undefined\" && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray.isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== \"undefined\" && valueToClone instanceof SharedArrayBuffer) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== \"undefined\" && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof Blob !== \"undefined\" && valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = structuredClone(valueToClone);\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n result.constructor = valueToClone.constructor;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Boolean) {\n const result = new Boolean(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Number) {\n const result = new Number(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof String) {\n const result = new String(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === \"object\" && isCloneableObject(valueToClone)) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n }\n function copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols.getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n }\n function isCloneableObject(object) {\n switch (getTag.getTag(object)) {\n case tags.argumentsTag:\n case tags.arrayTag:\n case tags.arrayBufferTag:\n case tags.dataViewTag:\n case tags.booleanTag:\n case tags.dateTag:\n case tags.float32ArrayTag:\n case tags.float64ArrayTag:\n case tags.int8ArrayTag:\n case tags.int16ArrayTag:\n case tags.int32ArrayTag:\n case tags.mapTag:\n case tags.numberTag:\n case tags.objectTag:\n case tags.regexpTag:\n case tags.setTag:\n case tags.stringTag:\n case tags.symbolTag:\n case tags.uint8ArrayTag:\n case tags.uint8ClampedArrayTag:\n case tags.uint16ArrayTag:\n case tags.uint32ArrayTag: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n exports.cloneDeepWith = cloneDeepWith;\n exports.cloneDeepWithImpl = cloneDeepWithImpl;\n exports.copyProperties = copyProperties;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeep.js\n var require_cloneDeep = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeep.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith();\n function cloneDeep(obj) {\n return cloneDeepWith.cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);\n }\n exports.cloneDeep = cloneDeep;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matches.js\n var require_matches = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matches.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatch = require_isMatch();\n var cloneDeep = require_cloneDeep();\n function matches2(source) {\n source = cloneDeep.cloneDeep(source);\n return (target) => {\n return isMatch.isMatch(target, source);\n };\n }\n exports.matches = matches2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js\n var require_cloneDeepWith2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith$1 = require_cloneDeepWith();\n var getTag = require_getTag();\n var tags = require_tags();\n function cloneDeepWith(obj, customizer) {\n return cloneDeepWith$1.cloneDeepWith(obj, (value, key, object, stack) => {\n const cloned = customizer?.(value, key, object, stack);\n if (cloned !== void 0) {\n return cloned;\n }\n if (typeof obj !== \"object\") {\n return void 0;\n }\n if (getTag.getTag(obj) === tags.objectTag && typeof obj.constructor !== \"function\") {\n const result = {};\n stack.set(obj, result);\n cloneDeepWith$1.copyProperties(result, obj, object, stack);\n return result;\n }\n switch (Object.prototype.toString.call(obj)) {\n case tags.numberTag:\n case tags.stringTag:\n case tags.booleanTag: {\n const result = new obj.constructor(obj?.valueOf());\n cloneDeepWith$1.copyProperties(result, obj);\n return result;\n }\n case tags.argumentsTag: {\n const result = {};\n cloneDeepWith$1.copyProperties(result, obj);\n result.length = obj.length;\n result[Symbol.iterator] = obj[Symbol.iterator];\n return result;\n }\n default: {\n return void 0;\n }\n }\n });\n }\n exports.cloneDeepWith = cloneDeepWith;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.js\n var require_cloneDeep2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith2();\n function cloneDeep(obj) {\n return cloneDeepWith.cloneDeepWith(obj);\n }\n exports.cloneDeep = cloneDeep;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIndex.js\n var require_isIndex = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIndex.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\n function isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n switch (typeof value) {\n case \"number\": {\n return Number.isInteger(value) && value >= 0 && value < length;\n }\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return IS_UNSIGNED_INTEGER.test(value);\n }\n }\n }\n exports.isIndex = isIndex;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.js\n var require_isArguments = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getTag = require_getTag();\n function isArguments(value) {\n return value !== null && typeof value === \"object\" && getTag.getTag(value) === \"[object Arguments]\";\n }\n exports.isArguments = isArguments;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/has.js\n var require_has = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/has.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isDeepKey = require_isDeepKey();\n var isIndex = require_isIndex();\n var isArguments = require_isArguments();\n var toPath = require_toPath();\n function has3(object, path2) {\n let resolvedPath;\n if (Array.isArray(path2)) {\n resolvedPath = path2;\n } else if (typeof path2 === \"string\" && isDeepKey.isDeepKey(path2) && object?.[path2] == null) {\n resolvedPath = toPath.toPath(path2);\n } else {\n resolvedPath = [path2];\n }\n if (resolvedPath.length === 0) {\n return false;\n }\n let current3 = object;\n for (let i = 0; i < resolvedPath.length; i++) {\n const key = resolvedPath[i];\n if (current3 == null || !Object.hasOwn(current3, key)) {\n const isSparseIndex = (Array.isArray(current3) || isArguments.isArguments(current3)) && isIndex.isIndex(key) && key < current3.length;\n if (!isSparseIndex) {\n return false;\n }\n }\n current3 = current3[key];\n }\n return true;\n }\n exports.has = has3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js\n var require_matchesProperty = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isMatch = require_isMatch();\n var toKey = require_toKey();\n var cloneDeep = require_cloneDeep2();\n var get9 = require_get();\n var has3 = require_has();\n function matchesProperty(property, source) {\n switch (typeof property) {\n case \"object\": {\n if (Object.is(property?.valueOf(), -0)) {\n property = \"-0\";\n }\n break;\n }\n case \"number\": {\n property = toKey.toKey(property);\n break;\n }\n }\n source = cloneDeep.cloneDeep(source);\n return function(target) {\n const result = get9.get(target, property);\n if (result === void 0) {\n return has3.has(target, property);\n }\n if (source === void 0) {\n return result === void 0;\n }\n return isMatch.isMatch(result, source);\n };\n }\n exports.matchesProperty = matchesProperty;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/iteratee.js\n var require_iteratee = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/iteratee.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var identity3 = require_identity();\n var property = require_property();\n var matches2 = require_matches();\n var matchesProperty = require_matchesProperty();\n function iteratee(value) {\n if (value == null) {\n return identity3.identity;\n }\n switch (typeof value) {\n case \"function\": {\n return value;\n }\n case \"object\": {\n if (Array.isArray(value) && value.length === 2) {\n return matchesProperty.matchesProperty(value[0], value[1]);\n }\n return matches2.matches(value);\n }\n case \"string\":\n case \"symbol\":\n case \"number\": {\n return property.property(value);\n }\n }\n }\n exports.iteratee = iteratee;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/uniqBy.js\n var require_uniqBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/uniqBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var uniqBy$1 = require_uniqBy();\n var ary = require_ary();\n var identity3 = require_identity();\n var isArrayLikeObject = require_isArrayLikeObject();\n var iteratee = require_iteratee();\n function uniqBy2(array2, iteratee$1 = identity3.identity) {\n if (!isArrayLikeObject.isArrayLikeObject(array2)) {\n return [];\n }\n return uniqBy$1.uniqBy(Array.from(array2), ary.ary(iteratee.iteratee(iteratee$1), 1));\n }\n exports.uniqBy = uniqBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/uniqBy.js\n var require_uniqBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/uniqBy.js\"(exports, module) {\n module.exports = require_uniqBy2().uniqBy;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js\n var require_with_selector_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n var shim = require_shim();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useSyncExternalStore5 = shim.useSyncExternalStore;\n var useRef57 = React137.useRef;\n var useEffect61 = React137.useEffect;\n var useMemo33 = React137.useMemo;\n var useDebugValue2 = React137.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {\n var instRef = useRef57(null);\n if (null === instRef.current) {\n var inst = { hasValue: false, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo33(\n function() {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = true;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return memoizedSelection = currentSelection;\n }\n return memoizedSelection = nextSnapshot;\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return memoizedSnapshot = nextSnapshot, currentSelection;\n memoizedSnapshot = nextSnapshot;\n return memoizedSelection = nextSelection;\n }\n var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function() {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot ? void 0 : function() {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore5(subscribe2, instRef[0], instRef[1]);\n useEffect61(\n function() {\n inst.hasValue = true;\n inst.value = value;\n },\n [value]\n );\n useDebugValue2(value);\n return value;\n };\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/with-selector.js\n var require_with_selector = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/shim/with-selector.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_with_selector_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/compareValues.js\n var require_compareValues = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/compareValues.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function getPriority(a2) {\n if (typeof a2 === \"symbol\") {\n return 1;\n }\n if (a2 === null) {\n return 2;\n }\n if (a2 === void 0) {\n return 3;\n }\n if (a2 !== a2) {\n return 4;\n }\n return 0;\n }\n var compareValues = (a2, b, order) => {\n if (a2 !== b) {\n const aPriority = getPriority(a2);\n const bPriority = getPriority(b);\n if (aPriority === bPriority && aPriority === 0) {\n if (a2 < b) {\n return order === \"desc\" ? 1 : -1;\n }\n if (a2 > b) {\n return order === \"desc\" ? -1 : 1;\n }\n }\n return order === \"desc\" ? bPriority - aPriority : aPriority - bPriority;\n }\n return 0;\n };\n exports.compareValues = compareValues;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js\n var require_isSymbol = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isSymbol(value) {\n return typeof value === \"symbol\" || value instanceof Symbol;\n }\n exports.isSymbol = isSymbol;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isKey.js\n var require_isKey = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isKey.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isSymbol = require_isSymbol();\n var regexIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/;\n var regexIsPlainProp = /^\\w*$/;\n function isKey(value, object) {\n if (Array.isArray(value)) {\n return false;\n }\n if (typeof value === \"number\" || typeof value === \"boolean\" || value == null || isSymbol.isSymbol(value)) {\n return true;\n }\n return typeof value === \"string\" && (regexIsPlainProp.test(value) || !regexIsDeepProp.test(value)) || object != null && Object.hasOwn(object, value);\n }\n exports.isKey = isKey;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/orderBy.js\n var require_orderBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/orderBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var compareValues = require_compareValues();\n var isKey = require_isKey();\n var toPath = require_toPath();\n function orderBy(collection, criteria, orders, guard) {\n if (collection == null) {\n return [];\n }\n orders = guard ? void 0 : orders;\n if (!Array.isArray(collection)) {\n collection = Object.values(collection);\n }\n if (!Array.isArray(criteria)) {\n criteria = criteria == null ? [null] : [criteria];\n }\n if (criteria.length === 0) {\n criteria = [null];\n }\n if (!Array.isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n orders = orders.map((order) => String(order));\n const getValueByNestedPath = (object, path2) => {\n let target = object;\n for (let i = 0; i < path2.length && target != null; ++i) {\n target = target[path2[i]];\n }\n return target;\n };\n const getValueByCriterion = (criterion, object) => {\n if (object == null || criterion == null) {\n return object;\n }\n if (typeof criterion === \"object\" && \"key\" in criterion) {\n if (Object.hasOwn(object, criterion.key)) {\n return object[criterion.key];\n }\n return getValueByNestedPath(object, criterion.path);\n }\n if (typeof criterion === \"function\") {\n return criterion(object);\n }\n if (Array.isArray(criterion)) {\n return getValueByNestedPath(object, criterion);\n }\n if (typeof object === \"object\") {\n return object[criterion];\n }\n return object;\n };\n const preparedCriteria = criteria.map((criterion) => {\n if (Array.isArray(criterion) && criterion.length === 1) {\n criterion = criterion[0];\n }\n if (criterion == null || typeof criterion === \"function\" || Array.isArray(criterion) || isKey.isKey(criterion)) {\n return criterion;\n }\n return { key: criterion, path: toPath.toPath(criterion) };\n });\n const preparedCollection = collection.map((item) => ({\n original: item,\n criteria: preparedCriteria.map((criterion) => getValueByCriterion(criterion, item))\n }));\n return preparedCollection.slice().sort((a2, b) => {\n for (let i = 0; i < preparedCriteria.length; i++) {\n const comparedResult = compareValues.compareValues(a2.criteria[i], b.criteria[i], orders[i]);\n if (comparedResult !== 0) {\n return comparedResult;\n }\n }\n return 0;\n }).map((item) => item.original);\n }\n exports.orderBy = orderBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/flatten.js\n var require_flatten = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/flatten.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function flatten(arr, depth = 1) {\n const result = [];\n const flooredDepth = Math.floor(depth);\n const recursive = (arr2, currentDepth) => {\n for (let i = 0; i < arr2.length; i++) {\n const item = arr2[i];\n if (Array.isArray(item) && currentDepth < flooredDepth) {\n recursive(item, currentDepth + 1);\n } else {\n result.push(item);\n }\n }\n };\n recursive(arr, 0);\n return result;\n }\n exports.flatten = flatten;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js\n var require_isIterateeCall = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isIndex = require_isIndex();\n var isArrayLike = require_isArrayLike();\n var isObject = require_isObject();\n var isEqualsSameValueZero = require_isEqualsSameValueZero();\n function isIterateeCall(value, index2, object) {\n if (!isObject.isObject(object)) {\n return false;\n }\n if (typeof index2 === \"number\" && isArrayLike.isArrayLike(object) && isIndex.isIndex(index2) && index2 < object.length || typeof index2 === \"string\" && index2 in object) {\n return isEqualsSameValueZero.isEqualsSameValueZero(object[index2], value);\n }\n return false;\n }\n exports.isIterateeCall = isIterateeCall;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/sortBy.js\n var require_sortBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/sortBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var orderBy = require_orderBy();\n var flatten = require_flatten();\n var isIterateeCall = require_isIterateeCall();\n function sortBy6(collection, ...criteria) {\n const length = criteria.length;\n if (length > 1 && isIterateeCall.isIterateeCall(collection, criteria[0], criteria[1])) {\n criteria = [];\n } else if (length > 2 && isIterateeCall.isIterateeCall(criteria[0], criteria[1], criteria[2])) {\n criteria = [criteria[0]];\n }\n return orderBy.orderBy(collection, flatten.flatten(criteria), [\"asc\"]);\n }\n exports.sortBy = sortBy6;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/sortBy.js\n var require_sortBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/sortBy.js\"(exports, module) {\n module.exports = require_sortBy().sortBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/debounce.js\n var require_debounce = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/function/debounce.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function debounce(func, debounceMs, { signal, edges } = {}) {\n let pendingThis = void 0;\n let pendingArgs = null;\n const leading = edges != null && edges.includes(\"leading\");\n const trailing = edges == null || edges.includes(\"trailing\");\n const invoke = () => {\n if (pendingArgs !== null) {\n func.apply(pendingThis, pendingArgs);\n pendingThis = void 0;\n pendingArgs = null;\n }\n };\n const onTimerEnd = () => {\n if (trailing) {\n invoke();\n }\n cancel();\n };\n let timeoutId4 = null;\n const schedule = () => {\n if (timeoutId4 != null) {\n clearTimeout(timeoutId4);\n }\n timeoutId4 = setTimeout(() => {\n timeoutId4 = null;\n onTimerEnd();\n }, debounceMs);\n };\n const cancelTimer = () => {\n if (timeoutId4 !== null) {\n clearTimeout(timeoutId4);\n timeoutId4 = null;\n }\n };\n const cancel = () => {\n cancelTimer();\n pendingThis = void 0;\n pendingArgs = null;\n };\n const flush = () => {\n invoke();\n };\n const debounced = function(...args) {\n if (signal?.aborted) {\n return;\n }\n pendingThis = this;\n pendingArgs = args;\n const isFirstCall = timeoutId4 == null;\n schedule();\n if (leading && isFirstCall) {\n invoke();\n }\n };\n debounced.schedule = schedule;\n debounced.cancel = cancel;\n debounced.flush = flush;\n signal?.addEventListener(\"abort\", cancel, { once: true });\n return debounced;\n }\n exports.debounce = debounce;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/debounce.js\n var require_debounce2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/debounce.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var debounce$1 = require_debounce();\n function debounce(func, debounceMs = 0, options2 = {}) {\n if (typeof options2 !== \"object\") {\n options2 = {};\n }\n const { leading = false, trailing = true, maxWait } = options2;\n const edges = Array(2);\n if (leading) {\n edges[0] = \"leading\";\n }\n if (trailing) {\n edges[1] = \"trailing\";\n }\n let result = void 0;\n let pendingAt = null;\n const _debounced = debounce$1.debounce(function(...args) {\n result = func.apply(this, args);\n pendingAt = null;\n }, debounceMs, { edges });\n const debounced = function(...args) {\n if (maxWait != null) {\n if (pendingAt === null) {\n pendingAt = Date.now();\n }\n if (Date.now() - pendingAt >= maxWait) {\n result = func.apply(this, args);\n pendingAt = Date.now();\n _debounced.cancel();\n _debounced.schedule();\n return result;\n }\n }\n _debounced.apply(this, args);\n return result;\n };\n const flush = () => {\n _debounced.flush();\n return result;\n };\n debounced.cancel = _debounced.cancel;\n debounced.flush = flush;\n return debounced;\n }\n exports.debounce = debounce;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/throttle.js\n var require_throttle = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/function/throttle.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var debounce = require_debounce2();\n function throttle2(func, throttleMs = 0, options2 = {}) {\n const { leading = true, trailing = true } = options2;\n return debounce.debounce(func, throttleMs, {\n leading,\n maxWait: throttleMs,\n trailing\n });\n }\n exports.throttle = throttle2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/throttle.js\n var require_throttle2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/throttle.js\"(exports, module) {\n module.exports = require_throttle().throttle;\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js\n var require_use_sync_external_store_with_selector_production = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js\"(exports) {\n \"use strict\";\n var React137 = require_react();\n function is4(x2, y2) {\n return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;\n }\n var objectIs = \"function\" === typeof Object.is ? Object.is : is4;\n var useSyncExternalStore5 = React137.useSyncExternalStore;\n var useRef57 = React137.useRef;\n var useEffect61 = React137.useEffect;\n var useMemo33 = React137.useMemo;\n var useDebugValue2 = React137.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {\n var instRef = useRef57(null);\n if (null === instRef.current) {\n var inst = { hasValue: false, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo33(\n function() {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = true;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return memoizedSelection = currentSelection;\n }\n return memoizedSelection = nextSnapshot;\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return memoizedSnapshot = nextSnapshot, currentSelection;\n memoizedSnapshot = nextSnapshot;\n return memoizedSelection = nextSelection;\n }\n var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function() {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot ? void 0 : function() {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore5(subscribe2, instRef[0], instRef[1]);\n useEffect61(\n function() {\n inst.hasValue = true;\n inst.value = value;\n },\n [value]\n );\n useDebugValue2(value);\n return value;\n };\n }\n });\n\n // ../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/with-selector.js\n var require_with_selector2 = __commonJS({\n \"../../../node_modules/.bun/use-sync-external-store@1.6.0+3f10a4be4e334a9b/node_modules/use-sync-external-store/with-selector.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_use_sync_external_store_with_selector_production();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toNumber.js\n var require_toNumber = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toNumber.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isSymbol = require_isSymbol();\n function toNumber(value) {\n if (isSymbol.isSymbol(value)) {\n return NaN;\n }\n return Number(value);\n }\n exports.toNumber = toNumber;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toFinite.js\n var require_toFinite = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toFinite.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toNumber = require_toNumber();\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber.toNumber(value);\n if (value === Infinity || value === -Infinity) {\n const sign2 = value < 0 ? -1 : 1;\n return sign2 * Number.MAX_VALUE;\n }\n return value === value ? value : 0;\n }\n exports.toFinite = toFinite;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/range.js\n var require_range = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/range.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isIterateeCall = require_isIterateeCall();\n var toFinite = require_toFinite();\n function range4(start, end, step) {\n if (step && typeof step !== \"number\" && isIterateeCall.isIterateeCall(start, end, step)) {\n end = step = void 0;\n }\n start = toFinite.toFinite(start);\n if (end === void 0) {\n end = start;\n start = 0;\n } else {\n end = toFinite.toFinite(end);\n }\n step = step === void 0 ? start < end ? 1 : -1 : toFinite.toFinite(step);\n const length = Math.max(Math.ceil((end - start) / (step || 1)), 0);\n const result = new Array(length);\n for (let index2 = 0; index2 < length; index2++) {\n result[index2] = start;\n start += step;\n }\n return result;\n }\n exports.range = range4;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/range.js\n var require_range2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/range.js\"(exports, module) {\n module.exports = require_range().range;\n }\n });\n\n // ../../../node_modules/.bun/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js\n var require_decimal = __commonJS({\n \"../../../node_modules/.bun/decimal.js-light@2.5.1/node_modules/decimal.js-light/decimal.js\"(exports, module) {\n (function(globalScope) {\n \"use strict\";\n var MAX_DIGITS = 1e9, Decimal3 = {\n // These values must be integers within the stated ranges (inclusive).\n // Most of these values can be changed during run-time using `Decimal.config`.\n // The maximum number of significant digits of the result of a calculation or base conversion.\n // E.g. `Decimal.config({ precision: 20 });`\n precision: 20,\n // 1 to MAX_DIGITS\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\n //\n // ROUND_UP 0 Away from zero.\n // ROUND_DOWN 1 Towards zero.\n // ROUND_CEIL 2 Towards +Infinity.\n // ROUND_FLOOR 3 Towards -Infinity.\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\n //\n // E.g.\n // `Decimal.rounding = 4;`\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\n rounding: 4,\n // 0 to 8\n // The exponent value at and beneath which `toString` returns exponential notation.\n // JavaScript numbers: -7\n toExpNeg: -7,\n // 0 to -MAX_E\n // The exponent value at and above which `toString` returns exponential notation.\n // JavaScript numbers: 21\n toExpPos: 21,\n // 0 to MAX_E\n // The natural logarithm of 10.\n // 115 digits\n LN10: \"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286\"\n }, external = true, decimalError = \"[DecimalError] \", invalidArgument = decimalError + \"Invalid argument: \", exponentOutOfRange = decimalError + \"Exponent out of range: \", mathfloor = Math.floor, mathpow = Math.pow, isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i, ONE, BASE = 1e7, LOG_BASE = 7, MAX_SAFE_INTEGER = 9007199254740991, MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), P = {};\n P.absoluteValue = P.abs = function() {\n var x2 = new this.constructor(this);\n if (x2.s) x2.s = 1;\n return x2;\n };\n P.comparedTo = P.cmp = function(y2) {\n var i, j, xdL, ydL, x2 = this;\n y2 = new x2.constructor(y2);\n if (x2.s !== y2.s) return x2.s || -y2.s;\n if (x2.e !== y2.e) return x2.e > y2.e ^ x2.s < 0 ? 1 : -1;\n xdL = x2.d.length;\n ydL = y2.d.length;\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\n if (x2.d[i] !== y2.d[i]) return x2.d[i] > y2.d[i] ^ x2.s < 0 ? 1 : -1;\n }\n return xdL === ydL ? 0 : xdL > ydL ^ x2.s < 0 ? 1 : -1;\n };\n P.decimalPlaces = P.dp = function() {\n var x2 = this, w = x2.d.length - 1, dp = (w - x2.e) * LOG_BASE;\n w = x2.d[w];\n if (w) for (; w % 10 == 0; w /= 10) dp--;\n return dp < 0 ? 0 : dp;\n };\n P.dividedBy = P.div = function(y2) {\n return divide(this, new this.constructor(y2));\n };\n P.dividedToIntegerBy = P.idiv = function(y2) {\n var x2 = this, Ctor = x2.constructor;\n return round3(divide(x2, new Ctor(y2), 0, 1), Ctor.precision);\n };\n P.equals = P.eq = function(y2) {\n return !this.cmp(y2);\n };\n P.exponent = function() {\n return getBase10Exponent(this);\n };\n P.greaterThan = P.gt = function(y2) {\n return this.cmp(y2) > 0;\n };\n P.greaterThanOrEqualTo = P.gte = function(y2) {\n return this.cmp(y2) >= 0;\n };\n P.isInteger = P.isint = function() {\n return this.e > this.d.length - 2;\n };\n P.isNegative = P.isneg = function() {\n return this.s < 0;\n };\n P.isPositive = P.ispos = function() {\n return this.s > 0;\n };\n P.isZero = function() {\n return this.s === 0;\n };\n P.lessThan = P.lt = function(y2) {\n return this.cmp(y2) < 0;\n };\n P.lessThanOrEqualTo = P.lte = function(y2) {\n return this.cmp(y2) < 1;\n };\n P.logarithm = P.log = function(base) {\n var r2, x2 = this, Ctor = x2.constructor, pr = Ctor.precision, wpr = pr + 5;\n if (base === void 0) {\n base = new Ctor(10);\n } else {\n base = new Ctor(base);\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + \"NaN\");\n }\n if (x2.s < 1) throw Error(decimalError + (x2.s ? \"NaN\" : \"-Infinity\"));\n if (x2.eq(ONE)) return new Ctor(0);\n external = false;\n r2 = divide(ln(x2, wpr), ln(base, wpr), wpr);\n external = true;\n return round3(r2, pr);\n };\n P.minus = P.sub = function(y2) {\n var x2 = this;\n y2 = new x2.constructor(y2);\n return x2.s == y2.s ? subtract(x2, y2) : add(x2, (y2.s = -y2.s, y2));\n };\n P.modulo = P.mod = function(y2) {\n var q, x2 = this, Ctor = x2.constructor, pr = Ctor.precision;\n y2 = new Ctor(y2);\n if (!y2.s) throw Error(decimalError + \"NaN\");\n if (!x2.s) return round3(new Ctor(x2), pr);\n external = false;\n q = divide(x2, y2, 0, 1).times(y2);\n external = true;\n return x2.minus(q);\n };\n P.naturalExponential = P.exp = function() {\n return exp(this);\n };\n P.naturalLogarithm = P.ln = function() {\n return ln(this);\n };\n P.negated = P.neg = function() {\n var x2 = new this.constructor(this);\n x2.s = -x2.s || 0;\n return x2;\n };\n P.plus = P.add = function(y2) {\n var x2 = this;\n y2 = new x2.constructor(y2);\n return x2.s == y2.s ? add(x2, y2) : subtract(x2, (y2.s = -y2.s, y2));\n };\n P.precision = P.sd = function(z) {\n var e, sd, w, x2 = this;\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\n e = getBase10Exponent(x2) + 1;\n w = x2.d.length - 1;\n sd = w * LOG_BASE + 1;\n w = x2.d[w];\n if (w) {\n for (; w % 10 == 0; w /= 10) sd--;\n for (w = x2.d[0]; w >= 10; w /= 10) sd++;\n }\n return z && e > sd ? e : sd;\n };\n P.squareRoot = P.sqrt = function() {\n var e, n, pr, r2, s2, t2, wpr, x2 = this, Ctor = x2.constructor;\n if (x2.s < 1) {\n if (!x2.s) return new Ctor(0);\n throw Error(decimalError + \"NaN\");\n }\n e = getBase10Exponent(x2);\n external = false;\n s2 = Math.sqrt(+x2);\n if (s2 == 0 || s2 == 1 / 0) {\n n = digitsToString(x2.d);\n if ((n.length + e) % 2 == 0) n += \"0\";\n s2 = Math.sqrt(n);\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\n if (s2 == 1 / 0) {\n n = \"5e\" + e;\n } else {\n n = s2.toExponential();\n n = n.slice(0, n.indexOf(\"e\") + 1) + e;\n }\n r2 = new Ctor(n);\n } else {\n r2 = new Ctor(s2.toString());\n }\n pr = Ctor.precision;\n s2 = wpr = pr + 3;\n for (; ; ) {\n t2 = r2;\n r2 = t2.plus(divide(x2, t2, wpr + 2)).times(0.5);\n if (digitsToString(t2.d).slice(0, wpr) === (n = digitsToString(r2.d)).slice(0, wpr)) {\n n = n.slice(wpr - 3, wpr + 1);\n if (s2 == wpr && n == \"4999\") {\n round3(t2, pr + 1, 0);\n if (t2.times(t2).eq(x2)) {\n r2 = t2;\n break;\n }\n } else if (n != \"9999\") {\n break;\n }\n wpr += 4;\n }\n }\n external = true;\n return round3(r2, pr);\n };\n P.times = P.mul = function(y2) {\n var carry, e, i, k2, r2, rL, t2, xdL, ydL, x2 = this, Ctor = x2.constructor, xd = x2.d, yd = (y2 = new Ctor(y2)).d;\n if (!x2.s || !y2.s) return new Ctor(0);\n y2.s *= x2.s;\n e = x2.e + y2.e;\n xdL = xd.length;\n ydL = yd.length;\n if (xdL < ydL) {\n r2 = xd;\n xd = yd;\n yd = r2;\n rL = xdL;\n xdL = ydL;\n ydL = rL;\n }\n r2 = [];\n rL = xdL + ydL;\n for (i = rL; i--; ) r2.push(0);\n for (i = ydL; --i >= 0; ) {\n carry = 0;\n for (k2 = xdL + i; k2 > i; ) {\n t2 = r2[k2] + yd[i] * xd[k2 - i - 1] + carry;\n r2[k2--] = t2 % BASE | 0;\n carry = t2 / BASE | 0;\n }\n r2[k2] = (r2[k2] + carry) % BASE | 0;\n }\n for (; !r2[--rL]; ) r2.pop();\n if (carry) ++e;\n else r2.shift();\n y2.d = r2;\n y2.e = e;\n return external ? round3(y2, Ctor.precision) : y2;\n };\n P.toDecimalPlaces = P.todp = function(dp, rm) {\n var x2 = this, Ctor = x2.constructor;\n x2 = new Ctor(x2);\n if (dp === void 0) return x2;\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n return round3(x2, dp + getBase10Exponent(x2) + 1, rm);\n };\n P.toExponential = function(dp, rm) {\n var str, x2 = this, Ctor = x2.constructor;\n if (dp === void 0) {\n str = toString(x2, true);\n } else {\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n x2 = round3(new Ctor(x2), dp + 1, rm);\n str = toString(x2, true, dp + 1);\n }\n return str;\n };\n P.toFixed = function(dp, rm) {\n var str, y2, x2 = this, Ctor = x2.constructor;\n if (dp === void 0) return toString(x2);\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n y2 = round3(new Ctor(x2), dp + getBase10Exponent(x2) + 1, rm);\n str = toString(y2.abs(), false, dp + getBase10Exponent(y2) + 1);\n return x2.isneg() && !x2.isZero() ? \"-\" + str : str;\n };\n P.toInteger = P.toint = function() {\n var x2 = this, Ctor = x2.constructor;\n return round3(new Ctor(x2), getBase10Exponent(x2) + 1, Ctor.rounding);\n };\n P.toNumber = function() {\n return +this;\n };\n P.toPower = P.pow = function(y2) {\n var e, k2, pr, r2, sign2, yIsInt, x2 = this, Ctor = x2.constructor, guard = 12, yn = +(y2 = new Ctor(y2));\n if (!y2.s) return new Ctor(ONE);\n x2 = new Ctor(x2);\n if (!x2.s) {\n if (y2.s < 1) throw Error(decimalError + \"Infinity\");\n return x2;\n }\n if (x2.eq(ONE)) return x2;\n pr = Ctor.precision;\n if (y2.eq(ONE)) return round3(x2, pr);\n e = y2.e;\n k2 = y2.d.length - 1;\n yIsInt = e >= k2;\n sign2 = x2.s;\n if (!yIsInt) {\n if (sign2 < 0) throw Error(decimalError + \"NaN\");\n } else if ((k2 = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\n r2 = new Ctor(ONE);\n e = Math.ceil(pr / LOG_BASE + 4);\n external = false;\n for (; ; ) {\n if (k2 % 2) {\n r2 = r2.times(x2);\n truncate(r2.d, e);\n }\n k2 = mathfloor(k2 / 2);\n if (k2 === 0) break;\n x2 = x2.times(x2);\n truncate(x2.d, e);\n }\n external = true;\n return y2.s < 0 ? new Ctor(ONE).div(r2) : round3(r2, pr);\n }\n sign2 = sign2 < 0 && y2.d[Math.max(e, k2)] & 1 ? -1 : 1;\n x2.s = 1;\n external = false;\n r2 = y2.times(ln(x2, pr + guard));\n external = true;\n r2 = exp(r2);\n r2.s = sign2;\n return r2;\n };\n P.toPrecision = function(sd, rm) {\n var e, str, x2 = this, Ctor = x2.constructor;\n if (sd === void 0) {\n e = getBase10Exponent(x2);\n str = toString(x2, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n x2 = round3(new Ctor(x2), sd, rm);\n e = getBase10Exponent(x2);\n str = toString(x2, sd <= e || e <= Ctor.toExpNeg, sd);\n }\n return str;\n };\n P.toSignificantDigits = P.tosd = function(sd, rm) {\n var x2 = this, Ctor = x2.constructor;\n if (sd === void 0) {\n sd = Ctor.precision;\n rm = Ctor.rounding;\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;\n else checkInt32(rm, 0, 8);\n }\n return round3(new Ctor(x2), sd, rm);\n };\n P.toString = P.valueOf = P.val = P.toJSON = function() {\n var x2 = this, e = getBase10Exponent(x2), Ctor = x2.constructor;\n return toString(x2, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n };\n function add(x2, y2) {\n var carry, d, e, i, k2, len, xd, yd, Ctor = x2.constructor, pr = Ctor.precision;\n if (!x2.s || !y2.s) {\n if (!y2.s) y2 = new Ctor(x2);\n return external ? round3(y2, pr) : y2;\n }\n xd = x2.d;\n yd = y2.d;\n k2 = x2.e;\n e = y2.e;\n xd = xd.slice();\n i = k2 - e;\n if (i) {\n if (i < 0) {\n d = xd;\n i = -i;\n len = yd.length;\n } else {\n d = yd;\n e = k2;\n len = xd.length;\n }\n k2 = Math.ceil(pr / LOG_BASE);\n len = k2 > len ? k2 + 1 : len + 1;\n if (i > len) {\n i = len;\n d.length = 1;\n }\n d.reverse();\n for (; i--; ) d.push(0);\n d.reverse();\n }\n len = xd.length;\n i = yd.length;\n if (len - i < 0) {\n i = len;\n d = yd;\n yd = xd;\n xd = d;\n }\n for (carry = 0; i; ) {\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\n xd[i] %= BASE;\n }\n if (carry) {\n xd.unshift(carry);\n ++e;\n }\n for (len = xd.length; xd[--len] == 0; ) xd.pop();\n y2.d = xd;\n y2.e = e;\n return external ? round3(y2, pr) : y2;\n }\n function checkInt32(i, min3, max3) {\n if (i !== ~~i || i < min3 || i > max3) {\n throw Error(invalidArgument + i);\n }\n }\n function digitsToString(d) {\n var i, k2, ws, indexOfLastWord = d.length - 1, str = \"\", w = d[0];\n if (indexOfLastWord > 0) {\n str += w;\n for (i = 1; i < indexOfLastWord; i++) {\n ws = d[i] + \"\";\n k2 = LOG_BASE - ws.length;\n if (k2) str += getZeroString(k2);\n str += ws;\n }\n w = d[i];\n ws = w + \"\";\n k2 = LOG_BASE - ws.length;\n if (k2) str += getZeroString(k2);\n } else if (w === 0) {\n return \"0\";\n }\n for (; w % 10 === 0; ) w /= 10;\n return str + w;\n }\n var divide = /* @__PURE__ */ (function() {\n function multiplyInteger(x2, k2) {\n var temp, carry = 0, i = x2.length;\n for (x2 = x2.slice(); i--; ) {\n temp = x2[i] * k2 + carry;\n x2[i] = temp % BASE | 0;\n carry = temp / BASE | 0;\n }\n if (carry) x2.unshift(carry);\n return x2;\n }\n function compare(a2, b, aL, bL) {\n var i, r2;\n if (aL != bL) {\n r2 = aL > bL ? 1 : -1;\n } else {\n for (i = r2 = 0; i < aL; i++) {\n if (a2[i] != b[i]) {\n r2 = a2[i] > b[i] ? 1 : -1;\n break;\n }\n }\n }\n return r2;\n }\n function subtract2(a2, b, aL) {\n var i = 0;\n for (; aL--; ) {\n a2[aL] -= i;\n i = a2[aL] < b[aL] ? 1 : 0;\n a2[aL] = i * BASE + a2[aL] - b[aL];\n }\n for (; !a2[0] && a2.length > 1; ) a2.shift();\n }\n return function(x2, y2, pr, dp) {\n var cmp, e, i, k2, prod, prodL, q, qd, rem, remL, rem0, sd, t2, xi, xL, yd0, yL, yz, Ctor = x2.constructor, sign2 = x2.s == y2.s ? 1 : -1, xd = x2.d, yd = y2.d;\n if (!x2.s) return new Ctor(x2);\n if (!y2.s) throw Error(decimalError + \"Division by zero\");\n e = x2.e - y2.e;\n yL = yd.length;\n xL = xd.length;\n q = new Ctor(sign2);\n qd = q.d = [];\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\n if (yd[i] > (xd[i] || 0)) --e;\n if (pr == null) {\n sd = pr = Ctor.precision;\n } else if (dp) {\n sd = pr + (getBase10Exponent(x2) - getBase10Exponent(y2)) + 1;\n } else {\n sd = pr;\n }\n if (sd < 0) return new Ctor(0);\n sd = sd / LOG_BASE + 2 | 0;\n i = 0;\n if (yL == 1) {\n k2 = 0;\n yd = yd[0];\n sd++;\n for (; (i < xL || k2) && sd--; i++) {\n t2 = k2 * BASE + (xd[i] || 0);\n qd[i] = t2 / yd | 0;\n k2 = t2 % yd | 0;\n }\n } else {\n k2 = BASE / (yd[0] + 1) | 0;\n if (k2 > 1) {\n yd = multiplyInteger(yd, k2);\n xd = multiplyInteger(xd, k2);\n yL = yd.length;\n xL = xd.length;\n }\n xi = yL;\n rem = xd.slice(0, yL);\n remL = rem.length;\n for (; remL < yL; ) rem[remL++] = 0;\n yz = yd.slice();\n yz.unshift(0);\n yd0 = yd[0];\n if (yd[1] >= BASE / 2) ++yd0;\n do {\n k2 = 0;\n cmp = compare(yd, rem, yL, remL);\n if (cmp < 0) {\n rem0 = rem[0];\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\n k2 = rem0 / yd0 | 0;\n if (k2 > 1) {\n if (k2 >= BASE) k2 = BASE - 1;\n prod = multiplyInteger(yd, k2);\n prodL = prod.length;\n remL = rem.length;\n cmp = compare(prod, rem, prodL, remL);\n if (cmp == 1) {\n k2--;\n subtract2(prod, yL < prodL ? yz : yd, prodL);\n }\n } else {\n if (k2 == 0) cmp = k2 = 1;\n prod = yd.slice();\n }\n prodL = prod.length;\n if (prodL < remL) prod.unshift(0);\n subtract2(rem, prod, remL);\n if (cmp == -1) {\n remL = rem.length;\n cmp = compare(yd, rem, yL, remL);\n if (cmp < 1) {\n k2++;\n subtract2(rem, yL < remL ? yz : yd, remL);\n }\n }\n remL = rem.length;\n } else if (cmp === 0) {\n k2++;\n rem = [0];\n }\n qd[i++] = k2;\n if (cmp && rem[0]) {\n rem[remL++] = xd[xi] || 0;\n } else {\n rem = [xd[xi]];\n remL = 1;\n }\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\n }\n if (!qd[0]) qd.shift();\n q.e = e;\n return round3(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\n };\n })();\n function exp(x2, sd) {\n var denominator, guard, pow2, sum, t2, wpr, i = 0, k2 = 0, Ctor = x2.constructor, pr = Ctor.precision;\n if (getBase10Exponent(x2) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x2));\n if (!x2.s) return new Ctor(ONE);\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n t2 = new Ctor(0.03125);\n while (x2.abs().gte(0.1)) {\n x2 = x2.times(t2);\n k2 += 5;\n }\n guard = Math.log(mathpow(2, k2)) / Math.LN10 * 2 + 5 | 0;\n wpr += guard;\n denominator = pow2 = sum = new Ctor(ONE);\n Ctor.precision = wpr;\n for (; ; ) {\n pow2 = round3(pow2.times(x2), wpr);\n denominator = denominator.times(++i);\n t2 = sum.plus(divide(pow2, denominator, wpr));\n if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n while (k2--) sum = round3(sum.times(sum), wpr);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(sum, pr)) : sum;\n }\n sum = t2;\n }\n }\n function getBase10Exponent(x2) {\n var e = x2.e * LOG_BASE, w = x2.d[0];\n for (; w >= 10; w /= 10) e++;\n return e;\n }\n function getLn10(Ctor, sd, pr) {\n if (sd > Ctor.LN10.sd()) {\n external = true;\n if (pr) Ctor.precision = pr;\n throw Error(decimalError + \"LN10 precision limit exceeded\");\n }\n return round3(new Ctor(Ctor.LN10), sd);\n }\n function getZeroString(k2) {\n var zs = \"\";\n for (; k2--; ) zs += \"0\";\n return zs;\n }\n function ln(y2, sd) {\n var c2, c0, denominator, e, numerator, sum, t2, wpr, x2, n = 1, guard = 10, x3 = y2, xd = x3.d, Ctor = x3.constructor, pr = Ctor.precision;\n if (x3.s < 1) throw Error(decimalError + (x3.s ? \"NaN\" : \"-Infinity\"));\n if (x3.eq(ONE)) return new Ctor(0);\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n if (x3.eq(10)) {\n if (sd == null) external = true;\n return getLn10(Ctor, wpr);\n }\n wpr += guard;\n Ctor.precision = wpr;\n c2 = digitsToString(xd);\n c0 = c2.charAt(0);\n e = getBase10Exponent(x3);\n if (Math.abs(e) < 15e14) {\n while (c0 < 7 && c0 != 1 || c0 == 1 && c2.charAt(1) > 3) {\n x3 = x3.times(y2);\n c2 = digitsToString(x3.d);\n c0 = c2.charAt(0);\n n++;\n }\n e = getBase10Exponent(x3);\n if (c0 > 1) {\n x3 = new Ctor(\"0.\" + c2);\n e++;\n } else {\n x3 = new Ctor(c0 + \".\" + c2.slice(1));\n }\n } else {\n t2 = getLn10(Ctor, wpr + 2, pr).times(e + \"\");\n x3 = ln(new Ctor(c0 + \".\" + c2.slice(1)), wpr - guard).plus(t2);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(x3, pr)) : x3;\n }\n sum = numerator = x3 = divide(x3.minus(ONE), x3.plus(ONE), wpr);\n x2 = round3(x3.times(x3), wpr);\n denominator = 3;\n for (; ; ) {\n numerator = round3(numerator.times(x2), wpr);\n t2 = sum.plus(divide(numerator, new Ctor(denominator), wpr));\n if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n sum = sum.times(2);\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + \"\"));\n sum = divide(sum, new Ctor(n), wpr);\n Ctor.precision = pr;\n return sd == null ? (external = true, round3(sum, pr)) : sum;\n }\n sum = t2;\n denominator += 2;\n }\n }\n function parseDecimal(x2, str) {\n var e, i, len;\n if ((e = str.indexOf(\".\")) > -1) str = str.replace(\".\", \"\");\n if ((i = str.search(/e/i)) > 0) {\n if (e < 0) e = i;\n e += +str.slice(i + 1);\n str = str.substring(0, i);\n } else if (e < 0) {\n e = str.length;\n }\n for (i = 0; str.charCodeAt(i) === 48; ) ++i;\n for (len = str.length; str.charCodeAt(len - 1) === 48; ) --len;\n str = str.slice(i, len);\n if (str) {\n len -= i;\n e = e - i - 1;\n x2.e = mathfloor(e / LOG_BASE);\n x2.d = [];\n i = (e + 1) % LOG_BASE;\n if (e < 0) i += LOG_BASE;\n if (i < len) {\n if (i) x2.d.push(+str.slice(0, i));\n for (len -= LOG_BASE; i < len; ) x2.d.push(+str.slice(i, i += LOG_BASE));\n str = str.slice(i);\n i = LOG_BASE - str.length;\n } else {\n i -= len;\n }\n for (; i--; ) str += \"0\";\n x2.d.push(+str);\n if (external && (x2.e > MAX_E || x2.e < -MAX_E)) throw Error(exponentOutOfRange + e);\n } else {\n x2.s = 0;\n x2.e = 0;\n x2.d = [0];\n }\n return x2;\n }\n function round3(x2, sd, rm) {\n var i, j, k2, n, rd, doRound, w, xdi, xd = x2.d;\n for (n = 1, k2 = xd[0]; k2 >= 10; k2 /= 10) n++;\n i = sd - n;\n if (i < 0) {\n i += LOG_BASE;\n j = sd;\n w = xd[xdi = 0];\n } else {\n xdi = Math.ceil((i + 1) / LOG_BASE);\n k2 = xd.length;\n if (xdi >= k2) return x2;\n w = k2 = xd[xdi];\n for (n = 1; k2 >= 10; k2 /= 10) n++;\n i %= LOG_BASE;\n j = i - LOG_BASE + n;\n }\n if (rm !== void 0) {\n k2 = mathpow(10, n - j - 1);\n rd = w / k2 % 10 | 0;\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k2;\n doRound = rm < 4 ? (rd || doRound) && (rm == 0 || rm == (x2.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.\n (i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x2.s < 0 ? 8 : 7));\n }\n if (sd < 1 || !xd[0]) {\n if (doRound) {\n k2 = getBase10Exponent(x2);\n xd.length = 1;\n sd = sd - k2 - 1;\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\n x2.e = mathfloor(-sd / LOG_BASE) || 0;\n } else {\n xd.length = 1;\n xd[0] = x2.e = x2.s = 0;\n }\n return x2;\n }\n if (i == 0) {\n xd.length = xdi;\n k2 = 1;\n xdi--;\n } else {\n xd.length = xdi + 1;\n k2 = mathpow(10, LOG_BASE - i);\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k2 : 0;\n }\n if (doRound) {\n for (; ; ) {\n if (xdi == 0) {\n if ((xd[0] += k2) == BASE) {\n xd[0] = 1;\n ++x2.e;\n }\n break;\n } else {\n xd[xdi] += k2;\n if (xd[xdi] != BASE) break;\n xd[xdi--] = 0;\n k2 = 1;\n }\n }\n }\n for (i = xd.length; xd[--i] === 0; ) xd.pop();\n if (external && (x2.e > MAX_E || x2.e < -MAX_E)) {\n throw Error(exponentOutOfRange + getBase10Exponent(x2));\n }\n return x2;\n }\n function subtract(x2, y2) {\n var d, e, i, j, k2, len, xd, xe, xLTy, yd, Ctor = x2.constructor, pr = Ctor.precision;\n if (!x2.s || !y2.s) {\n if (y2.s) y2.s = -y2.s;\n else y2 = new Ctor(x2);\n return external ? round3(y2, pr) : y2;\n }\n xd = x2.d;\n yd = y2.d;\n e = y2.e;\n xe = x2.e;\n xd = xd.slice();\n k2 = xe - e;\n if (k2) {\n xLTy = k2 < 0;\n if (xLTy) {\n d = xd;\n k2 = -k2;\n len = yd.length;\n } else {\n d = yd;\n e = xe;\n len = xd.length;\n }\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\n if (k2 > i) {\n k2 = i;\n d.length = 1;\n }\n d.reverse();\n for (i = k2; i--; ) d.push(0);\n d.reverse();\n } else {\n i = xd.length;\n len = yd.length;\n xLTy = i < len;\n if (xLTy) len = i;\n for (i = 0; i < len; i++) {\n if (xd[i] != yd[i]) {\n xLTy = xd[i] < yd[i];\n break;\n }\n }\n k2 = 0;\n }\n if (xLTy) {\n d = xd;\n xd = yd;\n yd = d;\n y2.s = -y2.s;\n }\n len = xd.length;\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\n for (i = yd.length; i > k2; ) {\n if (xd[--i] < yd[i]) {\n for (j = i; j && xd[--j] === 0; ) xd[j] = BASE - 1;\n --xd[j];\n xd[i] += BASE;\n }\n xd[i] -= yd[i];\n }\n for (; xd[--len] === 0; ) xd.pop();\n for (; xd[0] === 0; xd.shift()) --e;\n if (!xd[0]) return new Ctor(0);\n y2.d = xd;\n y2.e = e;\n return external ? round3(y2, pr) : y2;\n }\n function toString(x2, isExp, sd) {\n var k2, e = getBase10Exponent(x2), str = digitsToString(x2.d), len = str.length;\n if (isExp) {\n if (sd && (k2 = sd - len) > 0) {\n str = str.charAt(0) + \".\" + str.slice(1) + getZeroString(k2);\n } else if (len > 1) {\n str = str.charAt(0) + \".\" + str.slice(1);\n }\n str = str + (e < 0 ? \"e\" : \"e+\") + e;\n } else if (e < 0) {\n str = \"0.\" + getZeroString(-e - 1) + str;\n if (sd && (k2 = sd - len) > 0) str += getZeroString(k2);\n } else if (e >= len) {\n str += getZeroString(e + 1 - len);\n if (sd && (k2 = sd - e - 1) > 0) str = str + \".\" + getZeroString(k2);\n } else {\n if ((k2 = e + 1) < len) str = str.slice(0, k2) + \".\" + str.slice(k2);\n if (sd && (k2 = sd - len) > 0) {\n if (e + 1 === len) str += \".\";\n str += getZeroString(k2);\n }\n }\n return x2.s < 0 ? \"-\" + str : str;\n }\n function truncate(arr, len) {\n if (arr.length > len) {\n arr.length = len;\n return true;\n }\n }\n function clone(obj) {\n var i, p, ps;\n function Decimal4(value) {\n var x2 = this;\n if (!(x2 instanceof Decimal4)) return new Decimal4(value);\n x2.constructor = Decimal4;\n if (value instanceof Decimal4) {\n x2.s = value.s;\n x2.e = value.e;\n x2.d = (value = value.d) ? value.slice() : value;\n return;\n }\n if (typeof value === \"number\") {\n if (value * 0 !== 0) {\n throw Error(invalidArgument + value);\n }\n if (value > 0) {\n x2.s = 1;\n } else if (value < 0) {\n value = -value;\n x2.s = -1;\n } else {\n x2.s = 0;\n x2.e = 0;\n x2.d = [0];\n return;\n }\n if (value === ~~value && value < 1e7) {\n x2.e = 0;\n x2.d = [value];\n return;\n }\n return parseDecimal(x2, value.toString());\n } else if (typeof value !== \"string\") {\n throw Error(invalidArgument + value);\n }\n if (value.charCodeAt(0) === 45) {\n value = value.slice(1);\n x2.s = -1;\n } else {\n x2.s = 1;\n }\n if (isDecimal.test(value)) parseDecimal(x2, value);\n else throw Error(invalidArgument + value);\n }\n Decimal4.prototype = P;\n Decimal4.ROUND_UP = 0;\n Decimal4.ROUND_DOWN = 1;\n Decimal4.ROUND_CEIL = 2;\n Decimal4.ROUND_FLOOR = 3;\n Decimal4.ROUND_HALF_UP = 4;\n Decimal4.ROUND_HALF_DOWN = 5;\n Decimal4.ROUND_HALF_EVEN = 6;\n Decimal4.ROUND_HALF_CEIL = 7;\n Decimal4.ROUND_HALF_FLOOR = 8;\n Decimal4.clone = clone;\n Decimal4.config = Decimal4.set = config;\n if (obj === void 0) obj = {};\n if (obj) {\n ps = [\"precision\", \"rounding\", \"toExpNeg\", \"toExpPos\", \"LN10\"];\n for (i = 0; i < ps.length; ) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\n }\n Decimal4.config(obj);\n return Decimal4;\n }\n function config(obj) {\n if (!obj || typeof obj !== \"object\") {\n throw Error(decimalError + \"Object expected\");\n }\n var i, p, v, ps = [\n \"precision\",\n 1,\n MAX_DIGITS,\n \"rounding\",\n 0,\n 8,\n \"toExpNeg\",\n -1 / 0,\n 0,\n \"toExpPos\",\n 0,\n 1 / 0\n ];\n for (i = 0; i < ps.length; i += 3) {\n if ((v = obj[p = ps[i]]) !== void 0) {\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\n else throw Error(invalidArgument + p + \": \" + v);\n }\n }\n if ((v = obj[p = \"LN10\"]) !== void 0) {\n if (v == Math.LN10) this[p] = new this(v);\n else throw Error(invalidArgument + p + \": \" + v);\n }\n return this;\n }\n Decimal3 = clone(Decimal3);\n Decimal3[\"default\"] = Decimal3.Decimal = Decimal3;\n ONE = new Decimal3(1);\n if (typeof define == \"function\" && define.amd) {\n define(function() {\n return Decimal3;\n });\n } else if (typeof module != \"undefined\" && module.exports) {\n module.exports = Decimal3;\n } else {\n if (!globalScope) {\n globalScope = typeof self != \"undefined\" && self && self.self == self ? self : Function(\"return this\")();\n }\n globalScope.Decimal = Decimal3;\n }\n })(exports);\n }\n });\n\n // ../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.js\n var require_eventemitter3 = __commonJS({\n \"../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.js\"(exports, module) {\n \"use strict\";\n var has3 = Object.prototype.hasOwnProperty;\n var prefix2 = \"~\";\n function Events() {\n }\n if (Object.create) {\n Events.prototype = /* @__PURE__ */ Object.create(null);\n if (!new Events().__proto__) prefix2 = false;\n }\n function EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n }\n function addListener2(emitter, event, fn, context, once) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"The listener must be a function\");\n }\n var listener2 = new EE(fn, context || emitter, once), evt = prefix2 ? prefix2 + event : event;\n if (!emitter._events[evt]) emitter._events[evt] = listener2, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener2);\n else emitter._events[evt] = [emitter._events[evt], listener2];\n return emitter;\n }\n function clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n }\n function EventEmitter2() {\n this._events = new Events();\n this._eventsCount = 0;\n }\n EventEmitter2.prototype.eventNames = function eventNames() {\n var names = [], events, name;\n if (this._eventsCount === 0) return names;\n for (name in events = this._events) {\n if (has3.call(events, name)) names.push(prefix2 ? name.slice(1) : name);\n }\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n return names;\n };\n EventEmitter2.prototype.listeners = function listeners(event) {\n var evt = prefix2 ? prefix2 + event : event, handlers = this._events[evt];\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n return ee;\n };\n EventEmitter2.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix2 ? prefix2 + event : event, listeners = this._events[evt];\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n };\n EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix2 ? prefix2 + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt], len = arguments.length, args, i;\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, void 0, true);\n switch (len) {\n case 1:\n return listeners.fn.call(listeners.context), true;\n case 2:\n return listeners.fn.call(listeners.context, a1), true;\n case 3:\n return listeners.fn.call(listeners.context, a1, a2), true;\n case 4:\n return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length, j;\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, void 0, true);\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n default:\n if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n return true;\n };\n EventEmitter2.prototype.on = function on(event, fn, context) {\n return addListener2(this, event, fn, context, false);\n };\n EventEmitter2.prototype.once = function once(event, fn, context) {\n return addListener2(this, event, fn, context, true);\n };\n EventEmitter2.prototype.removeListener = function removeListener2(event, fn, context, once) {\n var evt = prefix2 ? prefix2 + event : event;\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n var listeners = this._events[evt];\n if (listeners.fn) {\n if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {\n events.push(listeners[i]);\n }\n }\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n return this;\n };\n EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n if (event) {\n evt = prefix2 ? prefix2 + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n return this;\n };\n EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;\n EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;\n EventEmitter2.prefixed = prefix2;\n EventEmitter2.EventEmitter = EventEmitter2;\n if (\"undefined\" !== typeof module) {\n module.exports = EventEmitter2;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/maxBy.js\n var require_maxBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/maxBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function maxBy2(items, getValue) {\n if (items.length === 0) {\n return void 0;\n }\n let maxElement = items[0];\n let max3 = getValue(maxElement, 0, items);\n for (let i = 1; i < items.length; i++) {\n const element = items[i];\n const value = getValue(element, i, items);\n if (value > max3) {\n max3 = value;\n maxElement = element;\n }\n }\n return maxElement;\n }\n exports.maxBy = maxBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/maxBy.js\n var require_maxBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/maxBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var maxBy$1 = require_maxBy();\n var identity3 = require_identity();\n var iteratee = require_iteratee();\n function maxBy2(items, iteratee$1) {\n if (items == null) {\n return void 0;\n }\n return maxBy$1.maxBy(Array.from(items), iteratee.iteratee(iteratee$1 ?? identity3.identity));\n }\n exports.maxBy = maxBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/maxBy.js\n var require_maxBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/maxBy.js\"(exports, module) {\n module.exports = require_maxBy2().maxBy;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/minBy.js\n var require_minBy = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/minBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function minBy2(items, getValue) {\n if (items.length === 0) {\n return void 0;\n }\n let minElement = items[0];\n let min3 = getValue(minElement, 0, items);\n for (let i = 1; i < items.length; i++) {\n const element = items[i];\n const value = getValue(element, i, items);\n if (value < min3) {\n min3 = value;\n minElement = element;\n }\n }\n return minElement;\n }\n exports.minBy = minBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/minBy.js\n var require_minBy2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/math/minBy.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var minBy$1 = require_minBy();\n var identity3 = require_identity();\n var iteratee = require_iteratee();\n function minBy2(items, iteratee$1) {\n if (items == null) {\n return void 0;\n }\n return minBy$1.minBy(Array.from(items), iteratee.iteratee(iteratee$1 ?? identity3.identity));\n }\n exports.minBy = minBy2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/minBy.js\n var require_minBy3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/minBy.js\"(exports, module) {\n module.exports = require_minBy2().minBy;\n }\n });\n\n // ../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/cjs/react-is.production.min.js\n var require_react_is_production_min = __commonJS({\n \"../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/cjs/react-is.production.min.js\"(exports) {\n \"use strict\";\n var b = /* @__PURE__ */ Symbol.for(\"react.element\");\n var c2 = /* @__PURE__ */ Symbol.for(\"react.portal\");\n var d = /* @__PURE__ */ Symbol.for(\"react.fragment\");\n var e = /* @__PURE__ */ Symbol.for(\"react.strict_mode\");\n var f = /* @__PURE__ */ Symbol.for(\"react.profiler\");\n var g = /* @__PURE__ */ Symbol.for(\"react.provider\");\n var h = /* @__PURE__ */ Symbol.for(\"react.context\");\n var k2 = /* @__PURE__ */ Symbol.for(\"react.server_context\");\n var l = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var m = /* @__PURE__ */ Symbol.for(\"react.suspense\");\n var n = /* @__PURE__ */ Symbol.for(\"react.suspense_list\");\n var p = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var q = /* @__PURE__ */ Symbol.for(\"react.lazy\");\n var t2 = /* @__PURE__ */ Symbol.for(\"react.offscreen\");\n var u;\n u = /* @__PURE__ */ Symbol.for(\"react.module.reference\");\n function v(a2) {\n if (\"object\" === typeof a2 && null !== a2) {\n var r2 = a2.$$typeof;\n switch (r2) {\n case b:\n switch (a2 = a2.type, a2) {\n case d:\n case f:\n case e:\n case m:\n case n:\n return a2;\n default:\n switch (a2 = a2 && a2.$$typeof, a2) {\n case k2:\n case h:\n case l:\n case q:\n case p:\n case g:\n return a2;\n default:\n return r2;\n }\n }\n case c2:\n return r2;\n }\n }\n }\n exports.ContextConsumer = h;\n exports.ContextProvider = g;\n exports.Element = b;\n exports.ForwardRef = l;\n exports.Fragment = d;\n exports.Lazy = q;\n exports.Memo = p;\n exports.Portal = c2;\n exports.Profiler = f;\n exports.StrictMode = e;\n exports.Suspense = m;\n exports.SuspenseList = n;\n exports.isAsyncMode = function() {\n return false;\n };\n exports.isConcurrentMode = function() {\n return false;\n };\n exports.isContextConsumer = function(a2) {\n return v(a2) === h;\n };\n exports.isContextProvider = function(a2) {\n return v(a2) === g;\n };\n exports.isElement = function(a2) {\n return \"object\" === typeof a2 && null !== a2 && a2.$$typeof === b;\n };\n exports.isForwardRef = function(a2) {\n return v(a2) === l;\n };\n exports.isFragment = function(a2) {\n return v(a2) === d;\n };\n exports.isLazy = function(a2) {\n return v(a2) === q;\n };\n exports.isMemo = function(a2) {\n return v(a2) === p;\n };\n exports.isPortal = function(a2) {\n return v(a2) === c2;\n };\n exports.isProfiler = function(a2) {\n return v(a2) === f;\n };\n exports.isStrictMode = function(a2) {\n return v(a2) === e;\n };\n exports.isSuspense = function(a2) {\n return v(a2) === m;\n };\n exports.isSuspenseList = function(a2) {\n return v(a2) === n;\n };\n exports.isValidElementType = function(a2) {\n return \"string\" === typeof a2 || \"function\" === typeof a2 || a2 === d || a2 === f || a2 === e || a2 === m || a2 === n || a2 === t2 || \"object\" === typeof a2 && null !== a2 && (a2.$$typeof === q || a2.$$typeof === p || a2.$$typeof === g || a2.$$typeof === h || a2.$$typeof === l || a2.$$typeof === u || void 0 !== a2.getModuleId) ? true : false;\n };\n exports.typeOf = v;\n }\n });\n\n // ../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/index.js\n var require_react_is = __commonJS({\n \"../../../node_modules/.bun/react-is@18.3.1/node_modules/react-is/index.js\"(exports, module) {\n \"use strict\";\n if (true) {\n module.exports = require_react_is_production_min();\n } else {\n module.exports = null;\n }\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js\n var require_isPlainObject = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPlainObject6(object) {\n if (typeof object !== \"object\") {\n return false;\n }\n if (object == null) {\n return false;\n }\n if (Object.getPrototypeOf(object) === null) {\n return true;\n }\n if (Object.prototype.toString.call(object) !== \"[object Object]\") {\n const tag = object[Symbol.toStringTag];\n if (tag == null) {\n return false;\n }\n const isTagReadonly = !Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable;\n if (isTagReadonly) {\n return false;\n }\n return object.toString() === `[object ${tag}]`;\n }\n let proto2 = object;\n while (Object.getPrototypeOf(proto2) !== null) {\n proto2 = Object.getPrototypeOf(proto2);\n }\n return Object.getPrototypeOf(object) === proto2;\n }\n exports.isPlainObject = isPlainObject6;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/isPlainObject.js\n var require_isPlainObject2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/isPlainObject.js\"(exports, module) {\n module.exports = require_isPlainObject().isPlainObject;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/last.js\n var require_last = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/last.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function last2(arr) {\n return arr[arr.length - 1];\n }\n exports.last = last2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toArray.js\n var require_toArray = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/toArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function toArray2(value) {\n return Array.isArray(value) ? value : Array.from(value);\n }\n exports.toArray = toArray2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/last.js\n var require_last2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/last.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var last$1 = require_last();\n var toArray2 = require_toArray();\n var isArrayLike = require_isArrayLike();\n function last2(array2) {\n if (!isArrayLike.isArrayLike(array2)) {\n return void 0;\n }\n return last$1.last(toArray2.toArray(array2));\n }\n exports.last = last2;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/last.js\n var require_last3 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/last.js\"(exports, module) {\n module.exports = require_last2().last;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isBuffer.js\n var require_isBuffer = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isBuffer.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isBuffer(x2) {\n return typeof Buffer !== \"undefined\" && Buffer.isBuffer(x2);\n }\n exports.isBuffer = isBuffer;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js\n var require_isPrototype = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n function isPrototype(value) {\n const constructor = value?.constructor;\n const prototype = typeof constructor === \"function\" ? constructor.prototype : Object.prototype;\n return value === prototype;\n }\n exports.isPrototype = isPrototype;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js\n var require_isTypedArray2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isTypedArray$1 = require_isTypedArray();\n function isTypedArray(x2) {\n return isTypedArray$1.isTypedArray(x2);\n }\n exports.isTypedArray = isTypedArray;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toInteger.js\n var require_toInteger = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/toInteger.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toFinite = require_toFinite();\n function toInteger(value) {\n const finite = toFinite.toFinite(value);\n const remainder = finite % 1;\n return remainder ? finite - remainder : finite;\n }\n exports.toInteger = toInteger;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/times.js\n var require_times = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/util/times.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var toInteger = require_toInteger();\n function times(n, getValue) {\n n = toInteger.toInteger(n);\n if (n < 1 || !Number.isSafeInteger(n)) {\n return [];\n }\n const result = new Array(n);\n for (let i = 0; i < n; i++) {\n result[i] = typeof getValue === \"function\" ? getValue(i) : i;\n }\n return result;\n }\n exports.times = times;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/keysIn.js\n var require_keysIn = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/keysIn.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isBuffer = require_isBuffer();\n var isPrototype = require_isPrototype();\n var isArrayLike = require_isArrayLike();\n var isTypedArray = require_isTypedArray2();\n var times = require_times();\n function keysIn(object) {\n if (object == null) {\n return [];\n }\n switch (typeof object) {\n case \"object\":\n case \"function\": {\n if (isArrayLike.isArrayLike(object)) {\n return arrayLikeKeysIn(object);\n }\n if (isPrototype.isPrototype(object)) {\n return prototypeKeysIn(object);\n }\n return keysInImpl(object);\n }\n default: {\n return keysInImpl(Object(object));\n }\n }\n }\n function keysInImpl(object) {\n const result = [];\n for (const key in object) {\n result.push(key);\n }\n return result;\n }\n function prototypeKeysIn(object) {\n const keys = keysInImpl(object);\n return keys.filter((key) => key !== \"constructor\");\n }\n function arrayLikeKeysIn(object) {\n const indices = times.times(object.length, (index2) => `${index2}`);\n const filteredKeys = new Set(indices);\n if (isBuffer.isBuffer(object)) {\n filteredKeys.add(\"offset\");\n filteredKeys.add(\"parent\");\n }\n if (isTypedArray.isTypedArray(object)) {\n filteredKeys.add(\"buffer\");\n filteredKeys.add(\"byteLength\");\n filteredKeys.add(\"byteOffset\");\n }\n const inheritedKeys = keysInImpl(object).filter((key) => !filteredKeys.has(key));\n if (Array.isArray(object)) {\n return [...indices, ...inheritedKeys];\n }\n return [...indices.filter((index2) => Object.hasOwn(object, index2)), ...inheritedKeys];\n }\n exports.keysIn = keysIn;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/unset.js\n var require_unset = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/unset.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var get9 = require_get();\n var isUnsafeProperty = require_isUnsafeProperty();\n var isDeepKey = require_isDeepKey();\n var toKey = require_toKey();\n var toPath = require_toPath();\n function unset(obj, path2) {\n if (obj == null) {\n return true;\n }\n switch (typeof path2) {\n case \"symbol\":\n case \"number\":\n case \"object\": {\n if (Array.isArray(path2)) {\n return unsetWithPath(obj, path2);\n }\n if (typeof path2 === \"number\") {\n path2 = toKey.toKey(path2);\n } else if (typeof path2 === \"object\") {\n if (Object.is(path2?.valueOf(), -0)) {\n path2 = \"-0\";\n } else {\n path2 = String(path2);\n }\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return false;\n }\n if (obj?.[path2] === void 0) {\n return true;\n }\n try {\n delete obj[path2];\n return true;\n } catch {\n return false;\n }\n }\n case \"string\": {\n if (obj?.[path2] === void 0 && isDeepKey.isDeepKey(path2)) {\n return unsetWithPath(obj, toPath.toPath(path2));\n }\n if (isUnsafeProperty.isUnsafeProperty(path2)) {\n return false;\n }\n try {\n delete obj[path2];\n return true;\n } catch {\n return false;\n }\n }\n }\n }\n function unsetWithPath(obj, path2) {\n const parent = path2.length === 1 ? obj : get9.get(obj, path2.slice(0, -1));\n const lastKey = path2[path2.length - 1];\n if (parent?.[lastKey] === void 0) {\n return true;\n }\n if (isUnsafeProperty.isUnsafeProperty(lastKey)) {\n return false;\n }\n try {\n delete parent[lastKey];\n return true;\n } catch {\n return false;\n }\n }\n exports.unset = unset;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js\n var require_getSymbolsIn = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbolsIn.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var getSymbols = require_getSymbols();\n function getSymbolsIn(object) {\n const result = [];\n while (object) {\n result.push(...getSymbols.getSymbols(object));\n object = Object.getPrototypeOf(object);\n }\n return result;\n }\n exports.getSymbolsIn = getSymbolsIn;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/flatten.js\n var require_flatten2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/array/flatten.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var isArrayLike = require_isArrayLike();\n function flatten(value, depth = 1) {\n const result = [];\n const flooredDepth = Math.floor(depth);\n if (!isArrayLike.isArrayLike(value)) {\n return result;\n }\n const recursive = (arr, currentDepth) => {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n if (currentDepth < flooredDepth && (Array.isArray(item) || Boolean(item?.[Symbol.isConcatSpreadable]) || item !== null && typeof item === \"object\" && Object.prototype.toString.call(item) === \"[object Arguments]\")) {\n if (Array.isArray(item)) {\n recursive(item, currentDepth + 1);\n } else {\n recursive(Array.from(item), currentDepth + 1);\n }\n } else {\n result.push(item);\n }\n }\n };\n recursive(Array.from(value), 0);\n return result;\n }\n exports.flatten = flatten;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/omit.js\n var require_omit = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/object/omit.js\"(exports) {\n \"use strict\";\n Object.defineProperty(exports, Symbol.toStringTag, { value: \"Module\" });\n var cloneDeepWith = require_cloneDeepWith2();\n var keysIn = require_keysIn();\n var unset = require_unset();\n var getSymbolsIn = require_getSymbolsIn();\n var isDeepKey = require_isDeepKey();\n var flatten = require_flatten2();\n var isPlainObject6 = require_isPlainObject();\n function omit3(obj, ...keysArr) {\n if (obj == null) {\n return {};\n }\n keysArr = flatten.flatten(keysArr);\n const result = cloneInOmit(obj, keysArr);\n for (let i = 0; i < keysArr.length; i++) {\n let keys = keysArr[i];\n switch (typeof keys) {\n case \"object\": {\n if (!Array.isArray(keys)) {\n keys = Array.from(keys);\n }\n for (let j = 0; j < keys.length; j++) {\n const key = keys[j];\n unset.unset(result, key);\n }\n break;\n }\n case \"string\":\n case \"symbol\":\n case \"number\": {\n unset.unset(result, keys);\n break;\n }\n }\n }\n return result;\n }\n function cloneInOmit(obj, keys) {\n const hasDeepKey = keys.some((key) => Array.isArray(key) || isDeepKey.isDeepKey(key));\n if (hasDeepKey) {\n return deepCloneInOmit(obj);\n }\n return shallowCloneInOmit(obj);\n }\n function shallowCloneInOmit(obj) {\n const result = {};\n const keysToCopy = [...keysIn.keysIn(obj), ...getSymbolsIn.getSymbolsIn(obj)];\n for (let i = 0; i < keysToCopy.length; i++) {\n const key = keysToCopy[i];\n result[key] = obj[key];\n }\n return result;\n }\n function deepCloneInOmit(obj) {\n const result = {};\n const keysToCopy = [...keysIn.keysIn(obj), ...getSymbolsIn.getSymbolsIn(obj)];\n for (let i = 0; i < keysToCopy.length; i++) {\n const key = keysToCopy[i];\n result[key] = cloneDeepWith.cloneDeepWith(obj[key], (valueToClone) => {\n if (isPlainObject6.isPlainObject(valueToClone)) {\n return void 0;\n }\n return valueToClone;\n });\n }\n return result;\n }\n exports.omit = omit3;\n }\n });\n\n // ../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/omit.js\n var require_omit2 = __commonJS({\n \"../../../node_modules/.bun/es-toolkit@1.45.1/node_modules/es-toolkit/compat/omit.js\"(exports, module) {\n module.exports = require_omit().omit;\n }\n });\n\n // src/shell/smoke-harness-shims.ts\n var sandboxGlobal = globalThis;\n var asMicrotask = (callback) => {\n void Promise.resolve().then(() => {\n try {\n callback();\n } catch {\n }\n });\n };\n var installSchedulingShims = () => {\n if (typeof sandboxGlobal[\"setTimeout\"] === \"undefined\") {\n sandboxGlobal[\"setTimeout\"] = (callback) => {\n asMicrotask(callback);\n return 0;\n };\n sandboxGlobal[\"clearTimeout\"] = () => {\n };\n sandboxGlobal[\"setInterval\"] = () => 0;\n sandboxGlobal[\"clearInterval\"] = () => {\n };\n }\n if (typeof sandboxGlobal[\"setImmediate\"] === \"undefined\") {\n sandboxGlobal[\"setImmediate\"] = (callback) => {\n asMicrotask(callback);\n return 0;\n };\n }\n if (typeof sandboxGlobal[\"queueMicrotask\"] === \"undefined\") {\n sandboxGlobal[\"queueMicrotask\"] = asMicrotask;\n }\n if (typeof sandboxGlobal[\"MessageChannel\"] === \"undefined\") {\n sandboxGlobal[\"MessageChannel\"] = class {\n port1;\n port2;\n constructor() {\n let onmessage = null;\n this.port1 = {\n get onmessage() {\n return onmessage;\n },\n set onmessage(handler) {\n onmessage = handler;\n },\n close: () => {\n }\n };\n this.port2 = {\n postMessage: (data) => {\n asMicrotask(() => onmessage?.({ data }));\n },\n close: () => {\n }\n };\n }\n };\n }\n };\n var installTextCodecShims = () => {\n if (typeof sandboxGlobal[\"TextEncoder\"] === \"undefined\") {\n sandboxGlobal[\"TextEncoder\"] = class {\n encoding = \"utf-8\";\n encode(input2 = \"\") {\n const source = String(input2);\n const bytes = [];\n for (let index2 = 0; index2 < source.length; index2 += 1) {\n const code = source.charCodeAt(index2);\n if (code < 128) {\n bytes.push(code);\n } else if (code < 2048) {\n bytes.push(192 | code >> 6, 128 | code & 63);\n } else if (code >= 55296 && code < 56320 && index2 + 1 < source.length) {\n const low = source.charCodeAt(index2 + 1);\n index2 += 1;\n const point4 = (code - 55296 << 10) + (low - 56320) + 65536;\n bytes.push(\n 240 | point4 >> 18,\n 128 | point4 >> 12 & 63,\n 128 | point4 >> 6 & 63,\n 128 | point4 & 63\n );\n } else {\n bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);\n }\n }\n return new Uint8Array(bytes);\n }\n encodeInto(source, destination) {\n const encoded = this.encode(source);\n const written = Math.min(encoded.length, destination.length);\n destination.set(encoded.subarray(0, written));\n return { read: source.length, written };\n }\n };\n }\n if (typeof sandboxGlobal[\"TextDecoder\"] === \"undefined\") {\n sandboxGlobal[\"TextDecoder\"] = class {\n encoding = \"utf-8\";\n decode(input2) {\n if (!input2) return \"\";\n const bytes = input2 instanceof Uint8Array ? input2 : new Uint8Array(\n input2 instanceof ArrayBuffer ? input2 : input2.buffer\n );\n let out = \"\";\n let index2 = 0;\n while (index2 < bytes.length) {\n const byte = bytes[index2] ?? 0;\n index2 += 1;\n if (byte < 128) {\n out += String.fromCharCode(byte);\n } else if (byte < 224) {\n out += String.fromCharCode((byte & 31) << 6 | (bytes[index2] ?? 0) & 63);\n index2 += 1;\n } else if (byte < 240) {\n out += String.fromCharCode(\n (byte & 15) << 12 | ((bytes[index2] ?? 0) & 63) << 6 | (bytes[index2 + 1] ?? 0) & 63\n );\n index2 += 2;\n } else {\n const point4 = ((byte & 7) << 18 | ((bytes[index2] ?? 0) & 63) << 12 | ((bytes[index2 + 1] ?? 0) & 63) << 6 | (bytes[index2 + 2] ?? 0) & 63) - 65536;\n index2 += 3;\n out += String.fromCharCode(55296 + (point4 >> 10), 56320 + (point4 & 1023));\n }\n }\n return out;\n }\n };\n }\n };\n var installStreamShim = () => {\n if (typeof sandboxGlobal[\"ReadableStream\"] !== \"undefined\") return;\n sandboxGlobal[\"ReadableStream\"] = class {\n #chunks = [];\n #closed = false;\n #error;\n #source;\n #started;\n #controller;\n constructor(source = {}) {\n this.#source = source;\n const self2 = this;\n this.#controller = {\n get desiredSize() {\n return self2.#closed ? null : 1;\n },\n enqueue: (chunk) => {\n self2.#chunks.push(chunk);\n },\n close: () => {\n self2.#closed = true;\n },\n error: (reason) => {\n self2.#error = reason;\n self2.#closed = true;\n }\n };\n this.#started = Promise.resolve(source.start?.(this.#controller));\n }\n getReader() {\n const take = async () => {\n await this.#started;\n if (this.#error !== void 0) throw this.#error;\n if (this.#chunks.length > 0) return { done: false, value: this.#chunks.shift() };\n if (this.#closed) return { done: true, value: void 0 };\n await Promise.resolve(this.#source.pull?.(this.#controller));\n if (this.#error !== void 0) throw this.#error;\n if (this.#chunks.length > 0) return { done: false, value: this.#chunks.shift() };\n return { done: true, value: void 0 };\n };\n return {\n read: take,\n cancel: async (reason) => {\n this.#closed = true;\n await Promise.resolve(this.#source.cancel?.(reason));\n },\n releaseLock: () => {\n }\n };\n }\n cancel(reason) {\n return this.getReader().cancel(reason);\n }\n };\n };\n installSchedulingShims();\n installTextCodecShims();\n installStreamShim();\n\n // src/shell/smoke-harness.tsx\n var import_react90 = __toESM(require_react(), 1);\n var import_server2 = __toESM(require_server_browser(), 1);\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/subscribable.js\n var Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener2) {\n this.listeners.add(listener2);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener2);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/focusManager.js\n var FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener2 = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener2, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener2);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener2) => {\n listener2(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n };\n var focusManager = new FocusManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js\n var defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId4) => clearTimeout(timeoutId4),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n };\n var TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (false) {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (false) {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (false) {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId4) {\n this.#provider.clearTimeout(timeoutId4);\n }\n setInterval(callback, delay) {\n if (false) {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n };\n var timeoutManager = new TimeoutManager();\n function systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/utils.js\n var isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\n function noop() {\n }\n function functionalUpdate(updater, input2) {\n return typeof updater === \"function\" ? updater(input2) : updater;\n }\n function isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n }\n function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n }\n function resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n }\n function resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n }\n function matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n }\n function matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n }\n function hashQueryKeyByOptions(queryKey, options2) {\n const hashFn = options2?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n }\n function hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n }\n function partialMatchKey(a2, b) {\n if (a2 === b) {\n return true;\n }\n if (typeof a2 !== typeof b) {\n return false;\n }\n if (a2 && b && typeof a2 === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a2[key], b[key]));\n }\n return false;\n }\n var hasOwn = Object.prototype.hasOwnProperty;\n function replaceEqualDeep(a2, b, depth = 0) {\n if (a2 === b) {\n return a2;\n }\n if (depth > 500) return b;\n const array2 = isPlainArray(a2) && isPlainArray(b);\n if (!array2 && !(isPlainObject(a2) && isPlainObject(b))) return b;\n const aItems = array2 ? a2 : Object.keys(a2);\n const aSize = aItems.length;\n const bItems = array2 ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy3 = array2 ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array2 ? i : bItems[i];\n const aItem = a2[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy3[key] = aItem;\n if (array2 ? i < aSize : hasOwn.call(a2, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy3[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy3[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a2 : copy3;\n }\n function shallowEqualObjects(a2, b) {\n if (!b || Object.keys(a2).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a2) {\n if (a2[key] !== b[key]) {\n return false;\n }\n }\n return true;\n }\n function isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n }\n function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n }\n function hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n }\n function sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n }\n function replaceData(prevData, data, options2) {\n if (typeof options2.structuralSharing === \"function\") {\n return options2.structuralSharing(prevData, data);\n } else if (options2.structuralSharing !== false) {\n if (false) {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options2.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n }\n function addToEnd(items, item, max3 = 0) {\n const newItems = [...items, item];\n return max3 && newItems.length > max3 ? newItems.slice(1) : newItems;\n }\n function addToStart(items, item, max3 = 0) {\n const newItems = [item, ...items];\n return max3 && newItems.length > max3 ? newItems.slice(0, -1) : newItems;\n }\n var skipToken = /* @__PURE__ */ Symbol();\n function ensureQueryFn(options2, fetchOptions) {\n if (false) {\n if (options2.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options2.queryHash}'`\n );\n }\n }\n if (!options2.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options2.queryFn || options2.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options2.queryHash}'`));\n }\n return options2.queryFn;\n }\n function shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n }\n function addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/environmentManager.js\n var environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n })();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/thenable.js\n function pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize3(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize3({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize3({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js\n var defaultScheduler = systemSetTimeoutZero;\n function createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n }\n var notifyManager = createNotifyManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js\n var OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener2) => {\n listener2(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n };\n var onlineManager = new OnlineManager();\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/retryer.js\n function defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n }\n function canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n }\n var CancelledError = class extends Error {\n constructor(options2) {\n super(\"CancelledError\");\n this.revert = options2?.revert;\n this.silent = options2?.silent;\n }\n };\n function createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/removable.js\n var Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout !== void 0) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/query.js\n var Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options2) {\n this.options = { ...this.#defaultOptions, ...options2 };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState2 = getDefaultState(this.options);\n if (defaultState2.data !== void 0) {\n this.setState(\n successState(defaultState2.data, defaultState2.dataUpdatedAt)\n );\n this.#initialState = defaultState2;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options2) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options2?.updatedAt,\n manual: options2?.manual\n });\n return data;\n }\n setState(state2, setStateOptions) {\n this.#dispatch({ type: \"setState\", state: state2, setStateOptions });\n }\n cancel(options2) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options2);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x2) => x2.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x2) => x2.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x2) => x2 !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options2, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options2) {\n this.setOptions(options2);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x2) => x2.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (false) {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (false) {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state2) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state2,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state2,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state2,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state2,\n ...fetchState(state2.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state2,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state2.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state2,\n error,\n errorUpdateCount: state2.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state2.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state2,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state2,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n };\n function fetchState(data, options2) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options2.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n }\n function successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n }\n function getDefaultState(options2) {\n const data = typeof options2.initialData === \"function\" ? options2.initialData() : options2.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options2.initialDataUpdatedAt === \"function\" ? options2.initialDataUpdatedAt() : options2.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js\n var QueryObserver = class extends Subscribable {\n constructor(client, options2) {\n super();\n this.options = options2;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options2);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options2) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options2);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options2) {\n const query = this.#client.getQueryCache().build(this.#client, options2);\n const result = this.createResult(query, options2);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options2 } = {}) {\n return this.fetch({\n ...options2\n });\n }\n fetchOptimistic(options2) {\n const defaultedOptions = this.#client.defaultQueryOptions(options2);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time2 = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time2 + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options2) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state: state2 } = query;\n let newState = { ...state2 };\n let isPlaceholderData = false;\n let data;\n if (options2._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options2);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options2, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state2.data, query.options)\n };\n }\n if (options2._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options2.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options2.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options2.placeholderData === \"function\" ? options2.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options2.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options2\n );\n isPlaceholderData = true;\n }\n }\n if (options2.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options2.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options2.select;\n data = options2.select(data);\n data = replaceData(prevResult?.data, data, options2);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options2),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options2.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener2) => {\n listener2(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n };\n function shouldLoadOnMount(query, options2) {\n return resolveEnabled(options2.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options2.retryOnMount === false);\n }\n function shouldFetchOnMount(query, options2) {\n return shouldLoadOnMount(query, options2) || query.state.data !== void 0 && shouldFetchOn(query, options2, options2.refetchOnMount);\n }\n function shouldFetchOn(query, options2, field) {\n if (resolveEnabled(options2.enabled, query) !== false && resolveStaleTime(options2.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options2);\n }\n return false;\n }\n function shouldFetchOptionally(query, prevQuery, options2, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options2.suspense || query.state.status !== \"error\") && isStale(query, options2);\n }\n function isStale(query, options2) {\n return resolveEnabled(options2.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options2.staleTime, query));\n }\n function shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js\n function infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options2 = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled2 = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled2 = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled2) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options2, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options2.initialPageParam : getNextPageParam(options2, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n }\n function getNextPageParam(options2, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options2.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n }\n function getPreviousPageParam(options2, { pages, pageParams }) {\n return pages.length > 0 ? options2.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n }\n function hasNextPage(options2, data) {\n if (!data) return false;\n return getNextPageParam(options2, data) != null;\n }\n function hasPreviousPage(options2, data) {\n if (!data || !options2.getPreviousPageParam) return false;\n return getPreviousPageParam(options2, data) != null;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js\n var InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options2) {\n super(client, options2);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options2) {\n super.setOptions({\n ...options2,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options2) {\n options2.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options2);\n }\n fetchNextPage(options2) {\n return this.fetch({\n ...options2,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options2) {\n return this.fetch({\n ...options2,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options2) {\n const { state: state2 } = query;\n const parentResult = super.createResult(query, options2);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state2.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options2, state2.data),\n hasPreviousPage: hasPreviousPage(options2, state2.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutation.js\n var Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState2();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options2) {\n this.options = options2;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x2) => x2 !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state2) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state2,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state2,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state2,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state2,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state2,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state2,\n data: void 0,\n error: action.error,\n failureCount: state2.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n };\n function getDefaultState2() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js\n var MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options2, state2) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options2),\n state: state2\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index2 = scopedMutations.indexOf(mutation);\n if (index2 !== -1) {\n scopedMutations.splice(index2, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener2) => {\n listener2(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x2) => x2.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n };\n function scopeFor(mutation) {\n return mutation.options.scope?.id;\n }\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/mutationObserver.js\n var MutationObserver2 = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options2) {\n super();\n this.#client = client;\n this.setOptions(options2);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options2) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options2);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options2) {\n this.#mutateOptions = options2;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state2 = this.#currentMutation?.state ?? getDefaultState2();\n this.#currentResult = {\n ...state2,\n isPending: state2.status === \"pending\",\n isSuccess: state2.status === \"success\",\n isError: state2.status === \"error\",\n isIdle: state2.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener2) => {\n listener2(this.#currentResult);\n });\n });\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryCache.js\n var QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options2, state2) {\n const queryKey = options2.queryKey;\n const queryHash = options2.queryHash ?? hashQueryKeyByOptions(queryKey, options2);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options2),\n state: state2,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener2) => {\n listener2(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+query-core@5.99.0/node_modules/@tanstack/query-core/build/modern/queryClient.js\n var QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options2 = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options2.queryHash)?.state.data;\n }\n ensureQueryData(options2) {\n const defaultedOptions = this.defaultQueryOptions(options2);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options2);\n }\n if (options2.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state: state2 }) => {\n const data = state2.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options2) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options2, manual: true });\n }\n setQueriesData(filters, updater, options2) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options2)\n ])\n );\n }\n getQueryState(queryKey) {\n const options2 = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options2.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options2) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options2\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options2 = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options2\n );\n });\n }\n refetchQueries(filters, options2 = {}) {\n const fetchOptions = {\n ...options2,\n cancelRefetch: options2.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options2) {\n const defaultedOptions = this.defaultQueryOptions(options2);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options2) {\n return this.fetchQuery(options2).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options2) {\n options2.behavior = infiniteQueryBehavior(options2.pages);\n return this.fetchQuery(options2);\n }\n prefetchInfiniteQuery(options2) {\n return this.fetchInfiniteQuery(options2).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options2) {\n options2.behavior = infiniteQueryBehavior(options2.pages);\n return this.ensureQueryData(options2);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options2) {\n this.#defaultOptions = options2;\n }\n setQueryDefaults(queryKey, options2) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options2\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options2) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options2\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options2) {\n if (options2._defaulted) {\n return options2;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options2.queryKey),\n ...options2,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options2) {\n if (options2?._defaulted) {\n return options2;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options2?.mutationKey && this.getMutationDefaults(options2.mutationKey),\n ...options2,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js\n var React = __toESM(require_react(), 1);\n var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);\n var QueryClientContext = React.createContext(\n void 0\n );\n var useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n };\n var QueryClientProvider = ({\n client,\n children\n }) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QueryClientContext.Provider, { value: client, children });\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js\n var React2 = __toESM(require_react(), 1);\n var IsRestoringContext = React2.createContext(false);\n var useIsRestoring = () => React2.useContext(IsRestoringContext);\n var IsRestoringProvider = IsRestoringContext.Provider;\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js\n var React3 = __toESM(require_react(), 1);\n var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);\n function createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n }\n var QueryErrorResetBoundaryContext = React3.createContext(createValue());\n var useQueryErrorResetBoundary = () => React3.useContext(QueryErrorResetBoundaryContext);\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js\n var React4 = __toESM(require_react(), 1);\n var ensurePreventErrorBoundaryRetry = (options2, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options2.throwOnError === \"function\" ? shouldThrowError(options2.throwOnError, [query.state.error, query]) : options2.throwOnError;\n if (options2.suspense || options2.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options2.retryOnMount = false;\n }\n }\n };\n var useClearResetErrorBoundary = (errorResetBoundary) => {\n React4.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n };\n var getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n }) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n };\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/suspense.js\n var ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp3 = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp3(originalStaleTime(...args)) : clamp3(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n };\n var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\n var shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\n var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n });\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js\n var React5 = __toESM(require_react(), 1);\n function useBaseQuery(options2, Observer, queryClient) {\n if (false) {\n if (typeof options2 !== \"object\" || Array.isArray(options2)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options2);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (false) {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React5.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options2.subscribed !== false;\n React5.useSyncExternalStore(\n React5.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React5.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useQuery.js\n function useQuery(options2, queryClient) {\n return useBaseQuery(options2, QueryObserver, queryClient);\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/queryOptions.js\n function queryOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/infiniteQueryOptions.js\n function infiniteQueryOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useMutation.js\n var React6 = __toESM(require_react(), 1);\n function useMutation(options2, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React6.useState(\n () => new MutationObserver2(\n client,\n options2\n )\n );\n React6.useEffect(() => {\n observer.setOptions(options2);\n }, [observer, options2]);\n const result = React6.useSyncExternalStore(\n React6.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React6.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/mutationOptions.js\n function mutationOptions(options2) {\n return options2;\n }\n\n // ../../../node_modules/.bun/@tanstack+react-query@5.99.0+3f10a4be4e334a9b/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js\n function useInfiniteQuery(options2, queryClient) {\n return useBaseQuery(\n options2,\n InfiniteQueryObserver,\n queryClient\n );\n }\n\n // src/shell/component-runtime.ts\n var import_react89 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/keywords.js\n var ContextualKeyword;\n (function(ContextualKeyword2) {\n const NONE = 0;\n ContextualKeyword2[ContextualKeyword2[\"NONE\"] = NONE] = \"NONE\";\n const _abstract = NONE + 1;\n ContextualKeyword2[ContextualKeyword2[\"_abstract\"] = _abstract] = \"_abstract\";\n const _accessor = _abstract + 1;\n ContextualKeyword2[ContextualKeyword2[\"_accessor\"] = _accessor] = \"_accessor\";\n const _as = _accessor + 1;\n ContextualKeyword2[ContextualKeyword2[\"_as\"] = _as] = \"_as\";\n const _assert = _as + 1;\n ContextualKeyword2[ContextualKeyword2[\"_assert\"] = _assert] = \"_assert\";\n const _asserts = _assert + 1;\n ContextualKeyword2[ContextualKeyword2[\"_asserts\"] = _asserts] = \"_asserts\";\n const _async = _asserts + 1;\n ContextualKeyword2[ContextualKeyword2[\"_async\"] = _async] = \"_async\";\n const _await = _async + 1;\n ContextualKeyword2[ContextualKeyword2[\"_await\"] = _await] = \"_await\";\n const _checks = _await + 1;\n ContextualKeyword2[ContextualKeyword2[\"_checks\"] = _checks] = \"_checks\";\n const _constructor = _checks + 1;\n ContextualKeyword2[ContextualKeyword2[\"_constructor\"] = _constructor] = \"_constructor\";\n const _declare = _constructor + 1;\n ContextualKeyword2[ContextualKeyword2[\"_declare\"] = _declare] = \"_declare\";\n const _enum = _declare + 1;\n ContextualKeyword2[ContextualKeyword2[\"_enum\"] = _enum] = \"_enum\";\n const _exports = _enum + 1;\n ContextualKeyword2[ContextualKeyword2[\"_exports\"] = _exports] = \"_exports\";\n const _from = _exports + 1;\n ContextualKeyword2[ContextualKeyword2[\"_from\"] = _from] = \"_from\";\n const _get = _from + 1;\n ContextualKeyword2[ContextualKeyword2[\"_get\"] = _get] = \"_get\";\n const _global = _get + 1;\n ContextualKeyword2[ContextualKeyword2[\"_global\"] = _global] = \"_global\";\n const _implements = _global + 1;\n ContextualKeyword2[ContextualKeyword2[\"_implements\"] = _implements] = \"_implements\";\n const _infer = _implements + 1;\n ContextualKeyword2[ContextualKeyword2[\"_infer\"] = _infer] = \"_infer\";\n const _interface = _infer + 1;\n ContextualKeyword2[ContextualKeyword2[\"_interface\"] = _interface] = \"_interface\";\n const _is = _interface + 1;\n ContextualKeyword2[ContextualKeyword2[\"_is\"] = _is] = \"_is\";\n const _keyof = _is + 1;\n ContextualKeyword2[ContextualKeyword2[\"_keyof\"] = _keyof] = \"_keyof\";\n const _mixins = _keyof + 1;\n ContextualKeyword2[ContextualKeyword2[\"_mixins\"] = _mixins] = \"_mixins\";\n const _module = _mixins + 1;\n ContextualKeyword2[ContextualKeyword2[\"_module\"] = _module] = \"_module\";\n const _namespace = _module + 1;\n ContextualKeyword2[ContextualKeyword2[\"_namespace\"] = _namespace] = \"_namespace\";\n const _of = _namespace + 1;\n ContextualKeyword2[ContextualKeyword2[\"_of\"] = _of] = \"_of\";\n const _opaque = _of + 1;\n ContextualKeyword2[ContextualKeyword2[\"_opaque\"] = _opaque] = \"_opaque\";\n const _out = _opaque + 1;\n ContextualKeyword2[ContextualKeyword2[\"_out\"] = _out] = \"_out\";\n const _override = _out + 1;\n ContextualKeyword2[ContextualKeyword2[\"_override\"] = _override] = \"_override\";\n const _private = _override + 1;\n ContextualKeyword2[ContextualKeyword2[\"_private\"] = _private] = \"_private\";\n const _protected = _private + 1;\n ContextualKeyword2[ContextualKeyword2[\"_protected\"] = _protected] = \"_protected\";\n const _proto = _protected + 1;\n ContextualKeyword2[ContextualKeyword2[\"_proto\"] = _proto] = \"_proto\";\n const _public = _proto + 1;\n ContextualKeyword2[ContextualKeyword2[\"_public\"] = _public] = \"_public\";\n const _readonly = _public + 1;\n ContextualKeyword2[ContextualKeyword2[\"_readonly\"] = _readonly] = \"_readonly\";\n const _require = _readonly + 1;\n ContextualKeyword2[ContextualKeyword2[\"_require\"] = _require] = \"_require\";\n const _satisfies = _require + 1;\n ContextualKeyword2[ContextualKeyword2[\"_satisfies\"] = _satisfies] = \"_satisfies\";\n const _set = _satisfies + 1;\n ContextualKeyword2[ContextualKeyword2[\"_set\"] = _set] = \"_set\";\n const _static = _set + 1;\n ContextualKeyword2[ContextualKeyword2[\"_static\"] = _static] = \"_static\";\n const _symbol = _static + 1;\n ContextualKeyword2[ContextualKeyword2[\"_symbol\"] = _symbol] = \"_symbol\";\n const _type = _symbol + 1;\n ContextualKeyword2[ContextualKeyword2[\"_type\"] = _type] = \"_type\";\n const _unique = _type + 1;\n ContextualKeyword2[ContextualKeyword2[\"_unique\"] = _unique] = \"_unique\";\n const _using = _unique + 1;\n ContextualKeyword2[ContextualKeyword2[\"_using\"] = _using] = \"_using\";\n })(ContextualKeyword || (ContextualKeyword = {}));\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/types.js\n var TokenType;\n (function(TokenType2) {\n const PRECEDENCE_MASK = 15;\n TokenType2[TokenType2[\"PRECEDENCE_MASK\"] = PRECEDENCE_MASK] = \"PRECEDENCE_MASK\";\n const IS_KEYWORD = 1 << 4;\n TokenType2[TokenType2[\"IS_KEYWORD\"] = IS_KEYWORD] = \"IS_KEYWORD\";\n const IS_ASSIGN = 1 << 5;\n TokenType2[TokenType2[\"IS_ASSIGN\"] = IS_ASSIGN] = \"IS_ASSIGN\";\n const IS_RIGHT_ASSOCIATIVE = 1 << 6;\n TokenType2[TokenType2[\"IS_RIGHT_ASSOCIATIVE\"] = IS_RIGHT_ASSOCIATIVE] = \"IS_RIGHT_ASSOCIATIVE\";\n const IS_PREFIX = 1 << 7;\n TokenType2[TokenType2[\"IS_PREFIX\"] = IS_PREFIX] = \"IS_PREFIX\";\n const IS_POSTFIX = 1 << 8;\n TokenType2[TokenType2[\"IS_POSTFIX\"] = IS_POSTFIX] = \"IS_POSTFIX\";\n const IS_EXPRESSION_START = 1 << 9;\n TokenType2[TokenType2[\"IS_EXPRESSION_START\"] = IS_EXPRESSION_START] = \"IS_EXPRESSION_START\";\n const num = 512;\n TokenType2[TokenType2[\"num\"] = num] = \"num\";\n const bigint = 1536;\n TokenType2[TokenType2[\"bigint\"] = bigint] = \"bigint\";\n const decimal = 2560;\n TokenType2[TokenType2[\"decimal\"] = decimal] = \"decimal\";\n const regexp = 3584;\n TokenType2[TokenType2[\"regexp\"] = regexp] = \"regexp\";\n const string = 4608;\n TokenType2[TokenType2[\"string\"] = string] = \"string\";\n const name = 5632;\n TokenType2[TokenType2[\"name\"] = name] = \"name\";\n const eof = 6144;\n TokenType2[TokenType2[\"eof\"] = eof] = \"eof\";\n const bracketL = 7680;\n TokenType2[TokenType2[\"bracketL\"] = bracketL] = \"bracketL\";\n const bracketR = 8192;\n TokenType2[TokenType2[\"bracketR\"] = bracketR] = \"bracketR\";\n const braceL = 9728;\n TokenType2[TokenType2[\"braceL\"] = braceL] = \"braceL\";\n const braceBarL = 10752;\n TokenType2[TokenType2[\"braceBarL\"] = braceBarL] = \"braceBarL\";\n const braceR = 11264;\n TokenType2[TokenType2[\"braceR\"] = braceR] = \"braceR\";\n const braceBarR = 12288;\n TokenType2[TokenType2[\"braceBarR\"] = braceBarR] = \"braceBarR\";\n const parenL = 13824;\n TokenType2[TokenType2[\"parenL\"] = parenL] = \"parenL\";\n const parenR = 14336;\n TokenType2[TokenType2[\"parenR\"] = parenR] = \"parenR\";\n const comma2 = 15360;\n TokenType2[TokenType2[\"comma\"] = comma2] = \"comma\";\n const semi = 16384;\n TokenType2[TokenType2[\"semi\"] = semi] = \"semi\";\n const colon = 17408;\n TokenType2[TokenType2[\"colon\"] = colon] = \"colon\";\n const doubleColon = 18432;\n TokenType2[TokenType2[\"doubleColon\"] = doubleColon] = \"doubleColon\";\n const dot = 19456;\n TokenType2[TokenType2[\"dot\"] = dot] = \"dot\";\n const question = 20480;\n TokenType2[TokenType2[\"question\"] = question] = \"question\";\n const questionDot = 21504;\n TokenType2[TokenType2[\"questionDot\"] = questionDot] = \"questionDot\";\n const arrow4 = 22528;\n TokenType2[TokenType2[\"arrow\"] = arrow4] = \"arrow\";\n const template = 23552;\n TokenType2[TokenType2[\"template\"] = template] = \"template\";\n const ellipsis = 24576;\n TokenType2[TokenType2[\"ellipsis\"] = ellipsis] = \"ellipsis\";\n const backQuote = 25600;\n TokenType2[TokenType2[\"backQuote\"] = backQuote] = \"backQuote\";\n const dollarBraceL = 27136;\n TokenType2[TokenType2[\"dollarBraceL\"] = dollarBraceL] = \"dollarBraceL\";\n const at = 27648;\n TokenType2[TokenType2[\"at\"] = at] = \"at\";\n const hash = 29184;\n TokenType2[TokenType2[\"hash\"] = hash] = \"hash\";\n const eq = 29728;\n TokenType2[TokenType2[\"eq\"] = eq] = \"eq\";\n const assign2 = 30752;\n TokenType2[TokenType2[\"assign\"] = assign2] = \"assign\";\n const preIncDec = 32640;\n TokenType2[TokenType2[\"preIncDec\"] = preIncDec] = \"preIncDec\";\n const postIncDec = 33664;\n TokenType2[TokenType2[\"postIncDec\"] = postIncDec] = \"postIncDec\";\n const bang = 34432;\n TokenType2[TokenType2[\"bang\"] = bang] = \"bang\";\n const tilde = 35456;\n TokenType2[TokenType2[\"tilde\"] = tilde] = \"tilde\";\n const pipeline = 35841;\n TokenType2[TokenType2[\"pipeline\"] = pipeline] = \"pipeline\";\n const nullishCoalescing = 36866;\n TokenType2[TokenType2[\"nullishCoalescing\"] = nullishCoalescing] = \"nullishCoalescing\";\n const logicalOR = 37890;\n TokenType2[TokenType2[\"logicalOR\"] = logicalOR] = \"logicalOR\";\n const logicalAND = 38915;\n TokenType2[TokenType2[\"logicalAND\"] = logicalAND] = \"logicalAND\";\n const bitwiseOR = 39940;\n TokenType2[TokenType2[\"bitwiseOR\"] = bitwiseOR] = \"bitwiseOR\";\n const bitwiseXOR = 40965;\n TokenType2[TokenType2[\"bitwiseXOR\"] = bitwiseXOR] = \"bitwiseXOR\";\n const bitwiseAND = 41990;\n TokenType2[TokenType2[\"bitwiseAND\"] = bitwiseAND] = \"bitwiseAND\";\n const equality = 43015;\n TokenType2[TokenType2[\"equality\"] = equality] = \"equality\";\n const lessThan = 44040;\n TokenType2[TokenType2[\"lessThan\"] = lessThan] = \"lessThan\";\n const greaterThan = 45064;\n TokenType2[TokenType2[\"greaterThan\"] = greaterThan] = \"greaterThan\";\n const relationalOrEqual = 46088;\n TokenType2[TokenType2[\"relationalOrEqual\"] = relationalOrEqual] = \"relationalOrEqual\";\n const bitShiftL = 47113;\n TokenType2[TokenType2[\"bitShiftL\"] = bitShiftL] = \"bitShiftL\";\n const bitShiftR = 48137;\n TokenType2[TokenType2[\"bitShiftR\"] = bitShiftR] = \"bitShiftR\";\n const plus = 49802;\n TokenType2[TokenType2[\"plus\"] = plus] = \"plus\";\n const minus = 50826;\n TokenType2[TokenType2[\"minus\"] = minus] = \"minus\";\n const modulo = 51723;\n TokenType2[TokenType2[\"modulo\"] = modulo] = \"modulo\";\n const star = 52235;\n TokenType2[TokenType2[\"star\"] = star] = \"star\";\n const slash = 53259;\n TokenType2[TokenType2[\"slash\"] = slash] = \"slash\";\n const exponent = 54348;\n TokenType2[TokenType2[\"exponent\"] = exponent] = \"exponent\";\n const jsxName = 55296;\n TokenType2[TokenType2[\"jsxName\"] = jsxName] = \"jsxName\";\n const jsxText = 56320;\n TokenType2[TokenType2[\"jsxText\"] = jsxText] = \"jsxText\";\n const jsxEmptyText = 57344;\n TokenType2[TokenType2[\"jsxEmptyText\"] = jsxEmptyText] = \"jsxEmptyText\";\n const jsxTagStart = 58880;\n TokenType2[TokenType2[\"jsxTagStart\"] = jsxTagStart] = \"jsxTagStart\";\n const jsxTagEnd = 59392;\n TokenType2[TokenType2[\"jsxTagEnd\"] = jsxTagEnd] = \"jsxTagEnd\";\n const typeParameterStart = 60928;\n TokenType2[TokenType2[\"typeParameterStart\"] = typeParameterStart] = \"typeParameterStart\";\n const nonNullAssertion = 61440;\n TokenType2[TokenType2[\"nonNullAssertion\"] = nonNullAssertion] = \"nonNullAssertion\";\n const _break = 62480;\n TokenType2[TokenType2[\"_break\"] = _break] = \"_break\";\n const _case = 63504;\n TokenType2[TokenType2[\"_case\"] = _case] = \"_case\";\n const _catch = 64528;\n TokenType2[TokenType2[\"_catch\"] = _catch] = \"_catch\";\n const _continue = 65552;\n TokenType2[TokenType2[\"_continue\"] = _continue] = \"_continue\";\n const _debugger = 66576;\n TokenType2[TokenType2[\"_debugger\"] = _debugger] = \"_debugger\";\n const _default = 67600;\n TokenType2[TokenType2[\"_default\"] = _default] = \"_default\";\n const _do = 68624;\n TokenType2[TokenType2[\"_do\"] = _do] = \"_do\";\n const _else = 69648;\n TokenType2[TokenType2[\"_else\"] = _else] = \"_else\";\n const _finally = 70672;\n TokenType2[TokenType2[\"_finally\"] = _finally] = \"_finally\";\n const _for = 71696;\n TokenType2[TokenType2[\"_for\"] = _for] = \"_for\";\n const _function = 73232;\n TokenType2[TokenType2[\"_function\"] = _function] = \"_function\";\n const _if = 73744;\n TokenType2[TokenType2[\"_if\"] = _if] = \"_if\";\n const _return = 74768;\n TokenType2[TokenType2[\"_return\"] = _return] = \"_return\";\n const _switch = 75792;\n TokenType2[TokenType2[\"_switch\"] = _switch] = \"_switch\";\n const _throw = 77456;\n TokenType2[TokenType2[\"_throw\"] = _throw] = \"_throw\";\n const _try = 77840;\n TokenType2[TokenType2[\"_try\"] = _try] = \"_try\";\n const _var = 78864;\n TokenType2[TokenType2[\"_var\"] = _var] = \"_var\";\n const _let = 79888;\n TokenType2[TokenType2[\"_let\"] = _let] = \"_let\";\n const _const = 80912;\n TokenType2[TokenType2[\"_const\"] = _const] = \"_const\";\n const _while = 81936;\n TokenType2[TokenType2[\"_while\"] = _while] = \"_while\";\n const _with = 82960;\n TokenType2[TokenType2[\"_with\"] = _with] = \"_with\";\n const _new = 84496;\n TokenType2[TokenType2[\"_new\"] = _new] = \"_new\";\n const _this = 85520;\n TokenType2[TokenType2[\"_this\"] = _this] = \"_this\";\n const _super = 86544;\n TokenType2[TokenType2[\"_super\"] = _super] = \"_super\";\n const _class = 87568;\n TokenType2[TokenType2[\"_class\"] = _class] = \"_class\";\n const _extends48 = 88080;\n TokenType2[TokenType2[\"_extends\"] = _extends48] = \"_extends\";\n const _export = 89104;\n TokenType2[TokenType2[\"_export\"] = _export] = \"_export\";\n const _import = 90640;\n TokenType2[TokenType2[\"_import\"] = _import] = \"_import\";\n const _yield = 91664;\n TokenType2[TokenType2[\"_yield\"] = _yield] = \"_yield\";\n const _null = 92688;\n TokenType2[TokenType2[\"_null\"] = _null] = \"_null\";\n const _true = 93712;\n TokenType2[TokenType2[\"_true\"] = _true] = \"_true\";\n const _false = 94736;\n TokenType2[TokenType2[\"_false\"] = _false] = \"_false\";\n const _in = 95256;\n TokenType2[TokenType2[\"_in\"] = _in] = \"_in\";\n const _instanceof = 96280;\n TokenType2[TokenType2[\"_instanceof\"] = _instanceof] = \"_instanceof\";\n const _typeof = 97936;\n TokenType2[TokenType2[\"_typeof\"] = _typeof] = \"_typeof\";\n const _void = 98960;\n TokenType2[TokenType2[\"_void\"] = _void] = \"_void\";\n const _delete = 99984;\n TokenType2[TokenType2[\"_delete\"] = _delete] = \"_delete\";\n const _async = 100880;\n TokenType2[TokenType2[\"_async\"] = _async] = \"_async\";\n const _get = 101904;\n TokenType2[TokenType2[\"_get\"] = _get] = \"_get\";\n const _set = 102928;\n TokenType2[TokenType2[\"_set\"] = _set] = \"_set\";\n const _declare = 103952;\n TokenType2[TokenType2[\"_declare\"] = _declare] = \"_declare\";\n const _readonly = 104976;\n TokenType2[TokenType2[\"_readonly\"] = _readonly] = \"_readonly\";\n const _abstract = 106e3;\n TokenType2[TokenType2[\"_abstract\"] = _abstract] = \"_abstract\";\n const _static = 107024;\n TokenType2[TokenType2[\"_static\"] = _static] = \"_static\";\n const _public = 107536;\n TokenType2[TokenType2[\"_public\"] = _public] = \"_public\";\n const _private = 108560;\n TokenType2[TokenType2[\"_private\"] = _private] = \"_private\";\n const _protected = 109584;\n TokenType2[TokenType2[\"_protected\"] = _protected] = \"_protected\";\n const _override = 110608;\n TokenType2[TokenType2[\"_override\"] = _override] = \"_override\";\n const _as = 112144;\n TokenType2[TokenType2[\"_as\"] = _as] = \"_as\";\n const _enum = 113168;\n TokenType2[TokenType2[\"_enum\"] = _enum] = \"_enum\";\n const _type = 114192;\n TokenType2[TokenType2[\"_type\"] = _type] = \"_type\";\n const _implements = 115216;\n TokenType2[TokenType2[\"_implements\"] = _implements] = \"_implements\";\n })(TokenType || (TokenType = {}));\n function formatTokenType(tokenType) {\n switch (tokenType) {\n case TokenType.num:\n return \"num\";\n case TokenType.bigint:\n return \"bigint\";\n case TokenType.decimal:\n return \"decimal\";\n case TokenType.regexp:\n return \"regexp\";\n case TokenType.string:\n return \"string\";\n case TokenType.name:\n return \"name\";\n case TokenType.eof:\n return \"eof\";\n case TokenType.bracketL:\n return \"[\";\n case TokenType.bracketR:\n return \"]\";\n case TokenType.braceL:\n return \"{\";\n case TokenType.braceBarL:\n return \"{|\";\n case TokenType.braceR:\n return \"}\";\n case TokenType.braceBarR:\n return \"|}\";\n case TokenType.parenL:\n return \"(\";\n case TokenType.parenR:\n return \")\";\n case TokenType.comma:\n return \",\";\n case TokenType.semi:\n return \";\";\n case TokenType.colon:\n return \":\";\n case TokenType.doubleColon:\n return \"::\";\n case TokenType.dot:\n return \".\";\n case TokenType.question:\n return \"?\";\n case TokenType.questionDot:\n return \"?.\";\n case TokenType.arrow:\n return \"=>\";\n case TokenType.template:\n return \"template\";\n case TokenType.ellipsis:\n return \"...\";\n case TokenType.backQuote:\n return \"`\";\n case TokenType.dollarBraceL:\n return \"${\";\n case TokenType.at:\n return \"@\";\n case TokenType.hash:\n return \"#\";\n case TokenType.eq:\n return \"=\";\n case TokenType.assign:\n return \"_=\";\n case TokenType.preIncDec:\n return \"++/--\";\n case TokenType.postIncDec:\n return \"++/--\";\n case TokenType.bang:\n return \"!\";\n case TokenType.tilde:\n return \"~\";\n case TokenType.pipeline:\n return \"|>\";\n case TokenType.nullishCoalescing:\n return \"??\";\n case TokenType.logicalOR:\n return \"||\";\n case TokenType.logicalAND:\n return \"&&\";\n case TokenType.bitwiseOR:\n return \"|\";\n case TokenType.bitwiseXOR:\n return \"^\";\n case TokenType.bitwiseAND:\n return \"&\";\n case TokenType.equality:\n return \"==/!=\";\n case TokenType.lessThan:\n return \"<\";\n case TokenType.greaterThan:\n return \">\";\n case TokenType.relationalOrEqual:\n return \"<=/>=\";\n case TokenType.bitShiftL:\n return \"<<\";\n case TokenType.bitShiftR:\n return \">>/>>>\";\n case TokenType.plus:\n return \"+\";\n case TokenType.minus:\n return \"-\";\n case TokenType.modulo:\n return \"%\";\n case TokenType.star:\n return \"*\";\n case TokenType.slash:\n return \"/\";\n case TokenType.exponent:\n return \"**\";\n case TokenType.jsxName:\n return \"jsxName\";\n case TokenType.jsxText:\n return \"jsxText\";\n case TokenType.jsxEmptyText:\n return \"jsxEmptyText\";\n case TokenType.jsxTagStart:\n return \"jsxTagStart\";\n case TokenType.jsxTagEnd:\n return \"jsxTagEnd\";\n case TokenType.typeParameterStart:\n return \"typeParameterStart\";\n case TokenType.nonNullAssertion:\n return \"nonNullAssertion\";\n case TokenType._break:\n return \"break\";\n case TokenType._case:\n return \"case\";\n case TokenType._catch:\n return \"catch\";\n case TokenType._continue:\n return \"continue\";\n case TokenType._debugger:\n return \"debugger\";\n case TokenType._default:\n return \"default\";\n case TokenType._do:\n return \"do\";\n case TokenType._else:\n return \"else\";\n case TokenType._finally:\n return \"finally\";\n case TokenType._for:\n return \"for\";\n case TokenType._function:\n return \"function\";\n case TokenType._if:\n return \"if\";\n case TokenType._return:\n return \"return\";\n case TokenType._switch:\n return \"switch\";\n case TokenType._throw:\n return \"throw\";\n case TokenType._try:\n return \"try\";\n case TokenType._var:\n return \"var\";\n case TokenType._let:\n return \"let\";\n case TokenType._const:\n return \"const\";\n case TokenType._while:\n return \"while\";\n case TokenType._with:\n return \"with\";\n case TokenType._new:\n return \"new\";\n case TokenType._this:\n return \"this\";\n case TokenType._super:\n return \"super\";\n case TokenType._class:\n return \"class\";\n case TokenType._extends:\n return \"extends\";\n case TokenType._export:\n return \"export\";\n case TokenType._import:\n return \"import\";\n case TokenType._yield:\n return \"yield\";\n case TokenType._null:\n return \"null\";\n case TokenType._true:\n return \"true\";\n case TokenType._false:\n return \"false\";\n case TokenType._in:\n return \"in\";\n case TokenType._instanceof:\n return \"instanceof\";\n case TokenType._typeof:\n return \"typeof\";\n case TokenType._void:\n return \"void\";\n case TokenType._delete:\n return \"delete\";\n case TokenType._async:\n return \"async\";\n case TokenType._get:\n return \"get\";\n case TokenType._set:\n return \"set\";\n case TokenType._declare:\n return \"declare\";\n case TokenType._readonly:\n return \"readonly\";\n case TokenType._abstract:\n return \"abstract\";\n case TokenType._static:\n return \"static\";\n case TokenType._public:\n return \"public\";\n case TokenType._private:\n return \"private\";\n case TokenType._protected:\n return \"protected\";\n case TokenType._override:\n return \"override\";\n case TokenType._as:\n return \"as\";\n case TokenType._enum:\n return \"enum\";\n case TokenType._type:\n return \"type\";\n case TokenType._implements:\n return \"implements\";\n default:\n return \"\";\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/state.js\n var Scope = class {\n constructor(startTokenIndex, endTokenIndex, isFunctionScope) {\n this.startTokenIndex = startTokenIndex;\n this.endTokenIndex = endTokenIndex;\n this.isFunctionScope = isFunctionScope;\n }\n };\n var StateSnapshot = class {\n constructor(potentialArrowAt, noAnonFunctionType, inDisallowConditionalTypesContext, tokensLength, scopesLength, pos, type, contextualKeyword, start, end, isType, scopeDepth, error) {\n ;\n this.potentialArrowAt = potentialArrowAt;\n this.noAnonFunctionType = noAnonFunctionType;\n this.inDisallowConditionalTypesContext = inDisallowConditionalTypesContext;\n this.tokensLength = tokensLength;\n this.scopesLength = scopesLength;\n this.pos = pos;\n this.type = type;\n this.contextualKeyword = contextualKeyword;\n this.start = start;\n this.end = end;\n this.isType = isType;\n this.scopeDepth = scopeDepth;\n this.error = error;\n }\n };\n var State = class _State {\n constructor() {\n _State.prototype.__init.call(this);\n _State.prototype.__init2.call(this);\n _State.prototype.__init3.call(this);\n _State.prototype.__init4.call(this);\n _State.prototype.__init5.call(this);\n _State.prototype.__init6.call(this);\n _State.prototype.__init7.call(this);\n _State.prototype.__init8.call(this);\n _State.prototype.__init9.call(this);\n _State.prototype.__init10.call(this);\n _State.prototype.__init11.call(this);\n _State.prototype.__init12.call(this);\n _State.prototype.__init13.call(this);\n }\n // Used to signify the start of a potential arrow function\n __init() {\n this.potentialArrowAt = -1;\n }\n // Used by Flow to handle an edge case involving function type parsing.\n __init2() {\n this.noAnonFunctionType = false;\n }\n // Used by TypeScript to handle ambiguities when parsing conditional types.\n __init3() {\n this.inDisallowConditionalTypesContext = false;\n }\n // Token store.\n __init4() {\n this.tokens = [];\n }\n // Array of all observed scopes, ordered by their ending position.\n __init5() {\n this.scopes = [];\n }\n // The current position of the tokenizer in the input.\n __init6() {\n this.pos = 0;\n }\n // Information about the current token.\n __init7() {\n this.type = TokenType.eof;\n }\n __init8() {\n this.contextualKeyword = ContextualKeyword.NONE;\n }\n __init9() {\n this.start = 0;\n }\n __init10() {\n this.end = 0;\n }\n __init11() {\n this.isType = false;\n }\n __init12() {\n this.scopeDepth = 0;\n }\n /**\n * If the parser is in an error state, then the token is always tt.eof and all functions can\n * keep executing but should be written so they don't get into an infinite loop in this situation.\n *\n * This approach, combined with the ability to snapshot and restore state, allows us to implement\n * backtracking without exceptions and without needing to explicitly propagate error states\n * everywhere.\n */\n __init13() {\n this.error = null;\n }\n snapshot() {\n return new StateSnapshot(\n this.potentialArrowAt,\n this.noAnonFunctionType,\n this.inDisallowConditionalTypesContext,\n this.tokens.length,\n this.scopes.length,\n this.pos,\n this.type,\n this.contextualKeyword,\n this.start,\n this.end,\n this.isType,\n this.scopeDepth,\n this.error\n );\n }\n restoreFromSnapshot(snapshot) {\n this.potentialArrowAt = snapshot.potentialArrowAt;\n this.noAnonFunctionType = snapshot.noAnonFunctionType;\n this.inDisallowConditionalTypesContext = snapshot.inDisallowConditionalTypesContext;\n this.tokens.length = snapshot.tokensLength;\n this.scopes.length = snapshot.scopesLength;\n this.pos = snapshot.pos;\n this.type = snapshot.type;\n this.contextualKeyword = snapshot.contextualKeyword;\n this.start = snapshot.start;\n this.end = snapshot.end;\n this.isType = snapshot.isType;\n this.scopeDepth = snapshot.scopeDepth;\n this.error = snapshot.error;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/charcodes.js\n var charCodes;\n (function(charCodes2) {\n const backSpace = 8;\n charCodes2[charCodes2[\"backSpace\"] = backSpace] = \"backSpace\";\n const lineFeed = 10;\n charCodes2[charCodes2[\"lineFeed\"] = lineFeed] = \"lineFeed\";\n const tab = 9;\n charCodes2[charCodes2[\"tab\"] = tab] = \"tab\";\n const carriageReturn = 13;\n charCodes2[charCodes2[\"carriageReturn\"] = carriageReturn] = \"carriageReturn\";\n const shiftOut = 14;\n charCodes2[charCodes2[\"shiftOut\"] = shiftOut] = \"shiftOut\";\n const space = 32;\n charCodes2[charCodes2[\"space\"] = space] = \"space\";\n const exclamationMark = 33;\n charCodes2[charCodes2[\"exclamationMark\"] = exclamationMark] = \"exclamationMark\";\n const quotationMark = 34;\n charCodes2[charCodes2[\"quotationMark\"] = quotationMark] = \"quotationMark\";\n const numberSign = 35;\n charCodes2[charCodes2[\"numberSign\"] = numberSign] = \"numberSign\";\n const dollarSign = 36;\n charCodes2[charCodes2[\"dollarSign\"] = dollarSign] = \"dollarSign\";\n const percentSign = 37;\n charCodes2[charCodes2[\"percentSign\"] = percentSign] = \"percentSign\";\n const ampersand = 38;\n charCodes2[charCodes2[\"ampersand\"] = ampersand] = \"ampersand\";\n const apostrophe = 39;\n charCodes2[charCodes2[\"apostrophe\"] = apostrophe] = \"apostrophe\";\n const leftParenthesis = 40;\n charCodes2[charCodes2[\"leftParenthesis\"] = leftParenthesis] = \"leftParenthesis\";\n const rightParenthesis = 41;\n charCodes2[charCodes2[\"rightParenthesis\"] = rightParenthesis] = \"rightParenthesis\";\n const asterisk = 42;\n charCodes2[charCodes2[\"asterisk\"] = asterisk] = \"asterisk\";\n const plusSign = 43;\n charCodes2[charCodes2[\"plusSign\"] = plusSign] = \"plusSign\";\n const comma2 = 44;\n charCodes2[charCodes2[\"comma\"] = comma2] = \"comma\";\n const dash = 45;\n charCodes2[charCodes2[\"dash\"] = dash] = \"dash\";\n const dot = 46;\n charCodes2[charCodes2[\"dot\"] = dot] = \"dot\";\n const slash = 47;\n charCodes2[charCodes2[\"slash\"] = slash] = \"slash\";\n const digit0 = 48;\n charCodes2[charCodes2[\"digit0\"] = digit0] = \"digit0\";\n const digit1 = 49;\n charCodes2[charCodes2[\"digit1\"] = digit1] = \"digit1\";\n const digit2 = 50;\n charCodes2[charCodes2[\"digit2\"] = digit2] = \"digit2\";\n const digit3 = 51;\n charCodes2[charCodes2[\"digit3\"] = digit3] = \"digit3\";\n const digit4 = 52;\n charCodes2[charCodes2[\"digit4\"] = digit4] = \"digit4\";\n const digit5 = 53;\n charCodes2[charCodes2[\"digit5\"] = digit5] = \"digit5\";\n const digit6 = 54;\n charCodes2[charCodes2[\"digit6\"] = digit6] = \"digit6\";\n const digit7 = 55;\n charCodes2[charCodes2[\"digit7\"] = digit7] = \"digit7\";\n const digit8 = 56;\n charCodes2[charCodes2[\"digit8\"] = digit8] = \"digit8\";\n const digit9 = 57;\n charCodes2[charCodes2[\"digit9\"] = digit9] = \"digit9\";\n const colon = 58;\n charCodes2[charCodes2[\"colon\"] = colon] = \"colon\";\n const semicolon3 = 59;\n charCodes2[charCodes2[\"semicolon\"] = semicolon3] = \"semicolon\";\n const lessThan = 60;\n charCodes2[charCodes2[\"lessThan\"] = lessThan] = \"lessThan\";\n const equalsTo = 61;\n charCodes2[charCodes2[\"equalsTo\"] = equalsTo] = \"equalsTo\";\n const greaterThan = 62;\n charCodes2[charCodes2[\"greaterThan\"] = greaterThan] = \"greaterThan\";\n const questionMark = 63;\n charCodes2[charCodes2[\"questionMark\"] = questionMark] = \"questionMark\";\n const atSign = 64;\n charCodes2[charCodes2[\"atSign\"] = atSign] = \"atSign\";\n const uppercaseA = 65;\n charCodes2[charCodes2[\"uppercaseA\"] = uppercaseA] = \"uppercaseA\";\n const uppercaseB = 66;\n charCodes2[charCodes2[\"uppercaseB\"] = uppercaseB] = \"uppercaseB\";\n const uppercaseC = 67;\n charCodes2[charCodes2[\"uppercaseC\"] = uppercaseC] = \"uppercaseC\";\n const uppercaseD = 68;\n charCodes2[charCodes2[\"uppercaseD\"] = uppercaseD] = \"uppercaseD\";\n const uppercaseE = 69;\n charCodes2[charCodes2[\"uppercaseE\"] = uppercaseE] = \"uppercaseE\";\n const uppercaseF = 70;\n charCodes2[charCodes2[\"uppercaseF\"] = uppercaseF] = \"uppercaseF\";\n const uppercaseG = 71;\n charCodes2[charCodes2[\"uppercaseG\"] = uppercaseG] = \"uppercaseG\";\n const uppercaseH = 72;\n charCodes2[charCodes2[\"uppercaseH\"] = uppercaseH] = \"uppercaseH\";\n const uppercaseI = 73;\n charCodes2[charCodes2[\"uppercaseI\"] = uppercaseI] = \"uppercaseI\";\n const uppercaseJ = 74;\n charCodes2[charCodes2[\"uppercaseJ\"] = uppercaseJ] = \"uppercaseJ\";\n const uppercaseK = 75;\n charCodes2[charCodes2[\"uppercaseK\"] = uppercaseK] = \"uppercaseK\";\n const uppercaseL = 76;\n charCodes2[charCodes2[\"uppercaseL\"] = uppercaseL] = \"uppercaseL\";\n const uppercaseM = 77;\n charCodes2[charCodes2[\"uppercaseM\"] = uppercaseM] = \"uppercaseM\";\n const uppercaseN = 78;\n charCodes2[charCodes2[\"uppercaseN\"] = uppercaseN] = \"uppercaseN\";\n const uppercaseO = 79;\n charCodes2[charCodes2[\"uppercaseO\"] = uppercaseO] = \"uppercaseO\";\n const uppercaseP = 80;\n charCodes2[charCodes2[\"uppercaseP\"] = uppercaseP] = \"uppercaseP\";\n const uppercaseQ = 81;\n charCodes2[charCodes2[\"uppercaseQ\"] = uppercaseQ] = \"uppercaseQ\";\n const uppercaseR = 82;\n charCodes2[charCodes2[\"uppercaseR\"] = uppercaseR] = \"uppercaseR\";\n const uppercaseS = 83;\n charCodes2[charCodes2[\"uppercaseS\"] = uppercaseS] = \"uppercaseS\";\n const uppercaseT = 84;\n charCodes2[charCodes2[\"uppercaseT\"] = uppercaseT] = \"uppercaseT\";\n const uppercaseU = 85;\n charCodes2[charCodes2[\"uppercaseU\"] = uppercaseU] = \"uppercaseU\";\n const uppercaseV = 86;\n charCodes2[charCodes2[\"uppercaseV\"] = uppercaseV] = \"uppercaseV\";\n const uppercaseW = 87;\n charCodes2[charCodes2[\"uppercaseW\"] = uppercaseW] = \"uppercaseW\";\n const uppercaseX = 88;\n charCodes2[charCodes2[\"uppercaseX\"] = uppercaseX] = \"uppercaseX\";\n const uppercaseY = 89;\n charCodes2[charCodes2[\"uppercaseY\"] = uppercaseY] = \"uppercaseY\";\n const uppercaseZ = 90;\n charCodes2[charCodes2[\"uppercaseZ\"] = uppercaseZ] = \"uppercaseZ\";\n const leftSquareBracket = 91;\n charCodes2[charCodes2[\"leftSquareBracket\"] = leftSquareBracket] = \"leftSquareBracket\";\n const backslash = 92;\n charCodes2[charCodes2[\"backslash\"] = backslash] = \"backslash\";\n const rightSquareBracket = 93;\n charCodes2[charCodes2[\"rightSquareBracket\"] = rightSquareBracket] = \"rightSquareBracket\";\n const caret = 94;\n charCodes2[charCodes2[\"caret\"] = caret] = \"caret\";\n const underscore = 95;\n charCodes2[charCodes2[\"underscore\"] = underscore] = \"underscore\";\n const graveAccent = 96;\n charCodes2[charCodes2[\"graveAccent\"] = graveAccent] = \"graveAccent\";\n const lowercaseA = 97;\n charCodes2[charCodes2[\"lowercaseA\"] = lowercaseA] = \"lowercaseA\";\n const lowercaseB = 98;\n charCodes2[charCodes2[\"lowercaseB\"] = lowercaseB] = \"lowercaseB\";\n const lowercaseC = 99;\n charCodes2[charCodes2[\"lowercaseC\"] = lowercaseC] = \"lowercaseC\";\n const lowercaseD = 100;\n charCodes2[charCodes2[\"lowercaseD\"] = lowercaseD] = \"lowercaseD\";\n const lowercaseE = 101;\n charCodes2[charCodes2[\"lowercaseE\"] = lowercaseE] = \"lowercaseE\";\n const lowercaseF = 102;\n charCodes2[charCodes2[\"lowercaseF\"] = lowercaseF] = \"lowercaseF\";\n const lowercaseG = 103;\n charCodes2[charCodes2[\"lowercaseG\"] = lowercaseG] = \"lowercaseG\";\n const lowercaseH = 104;\n charCodes2[charCodes2[\"lowercaseH\"] = lowercaseH] = \"lowercaseH\";\n const lowercaseI = 105;\n charCodes2[charCodes2[\"lowercaseI\"] = lowercaseI] = \"lowercaseI\";\n const lowercaseJ = 106;\n charCodes2[charCodes2[\"lowercaseJ\"] = lowercaseJ] = \"lowercaseJ\";\n const lowercaseK = 107;\n charCodes2[charCodes2[\"lowercaseK\"] = lowercaseK] = \"lowercaseK\";\n const lowercaseL = 108;\n charCodes2[charCodes2[\"lowercaseL\"] = lowercaseL] = \"lowercaseL\";\n const lowercaseM = 109;\n charCodes2[charCodes2[\"lowercaseM\"] = lowercaseM] = \"lowercaseM\";\n const lowercaseN = 110;\n charCodes2[charCodes2[\"lowercaseN\"] = lowercaseN] = \"lowercaseN\";\n const lowercaseO = 111;\n charCodes2[charCodes2[\"lowercaseO\"] = lowercaseO] = \"lowercaseO\";\n const lowercaseP = 112;\n charCodes2[charCodes2[\"lowercaseP\"] = lowercaseP] = \"lowercaseP\";\n const lowercaseQ = 113;\n charCodes2[charCodes2[\"lowercaseQ\"] = lowercaseQ] = \"lowercaseQ\";\n const lowercaseR = 114;\n charCodes2[charCodes2[\"lowercaseR\"] = lowercaseR] = \"lowercaseR\";\n const lowercaseS = 115;\n charCodes2[charCodes2[\"lowercaseS\"] = lowercaseS] = \"lowercaseS\";\n const lowercaseT = 116;\n charCodes2[charCodes2[\"lowercaseT\"] = lowercaseT] = \"lowercaseT\";\n const lowercaseU = 117;\n charCodes2[charCodes2[\"lowercaseU\"] = lowercaseU] = \"lowercaseU\";\n const lowercaseV = 118;\n charCodes2[charCodes2[\"lowercaseV\"] = lowercaseV] = \"lowercaseV\";\n const lowercaseW = 119;\n charCodes2[charCodes2[\"lowercaseW\"] = lowercaseW] = \"lowercaseW\";\n const lowercaseX = 120;\n charCodes2[charCodes2[\"lowercaseX\"] = lowercaseX] = \"lowercaseX\";\n const lowercaseY = 121;\n charCodes2[charCodes2[\"lowercaseY\"] = lowercaseY] = \"lowercaseY\";\n const lowercaseZ = 122;\n charCodes2[charCodes2[\"lowercaseZ\"] = lowercaseZ] = \"lowercaseZ\";\n const leftCurlyBrace = 123;\n charCodes2[charCodes2[\"leftCurlyBrace\"] = leftCurlyBrace] = \"leftCurlyBrace\";\n const verticalBar = 124;\n charCodes2[charCodes2[\"verticalBar\"] = verticalBar] = \"verticalBar\";\n const rightCurlyBrace = 125;\n charCodes2[charCodes2[\"rightCurlyBrace\"] = rightCurlyBrace] = \"rightCurlyBrace\";\n const tilde = 126;\n charCodes2[charCodes2[\"tilde\"] = tilde] = \"tilde\";\n const nonBreakingSpace = 160;\n charCodes2[charCodes2[\"nonBreakingSpace\"] = nonBreakingSpace] = \"nonBreakingSpace\";\n const oghamSpaceMark = 5760;\n charCodes2[charCodes2[\"oghamSpaceMark\"] = oghamSpaceMark] = \"oghamSpaceMark\";\n const lineSeparator = 8232;\n charCodes2[charCodes2[\"lineSeparator\"] = lineSeparator] = \"lineSeparator\";\n const paragraphSeparator = 8233;\n charCodes2[charCodes2[\"paragraphSeparator\"] = paragraphSeparator] = \"paragraphSeparator\";\n })(charCodes || (charCodes = {}));\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/base.js\n var isJSXEnabled;\n var isTypeScriptEnabled;\n var isFlowEnabled;\n var state;\n var input;\n var nextContextId;\n function getNextContextId() {\n return nextContextId++;\n }\n function augmentError(error) {\n if (\"pos\" in error) {\n const loc = locationForIndex(error.pos);\n error.message += ` (${loc.line}:${loc.column})`;\n error.loc = loc;\n }\n return error;\n }\n var Loc = class {\n constructor(line, column) {\n this.line = line;\n this.column = column;\n }\n };\n function locationForIndex(pos) {\n let line = 1;\n let column = 1;\n for (let i = 0; i < pos; i++) {\n if (input.charCodeAt(i) === charCodes.lineFeed) {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n return new Loc(line, column);\n }\n function initParser(inputCode, isJSXEnabledArg, isTypeScriptEnabledArg, isFlowEnabledArg) {\n input = inputCode;\n state = new State();\n nextContextId = 1;\n isJSXEnabled = isJSXEnabledArg;\n isTypeScriptEnabled = isTypeScriptEnabledArg;\n isFlowEnabled = isFlowEnabledArg;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/util.js\n function isContextual(contextualKeyword) {\n return state.contextualKeyword === contextualKeyword;\n }\n function isLookaheadContextual(contextualKeyword) {\n const l = lookaheadTypeAndKeyword();\n return l.type === TokenType.name && l.contextualKeyword === contextualKeyword;\n }\n function eatContextual(contextualKeyword) {\n return state.contextualKeyword === contextualKeyword && eat(TokenType.name);\n }\n function expectContextual(contextualKeyword) {\n if (!eatContextual(contextualKeyword)) {\n unexpected();\n }\n }\n function canInsertSemicolon() {\n return match(TokenType.eof) || match(TokenType.braceR) || hasPrecedingLineBreak();\n }\n function hasPrecedingLineBreak() {\n const prevToken = state.tokens[state.tokens.length - 1];\n const lastTokEnd = prevToken ? prevToken.end : 0;\n for (let i = lastTokEnd; i < state.start; i++) {\n const code = input.charCodeAt(i);\n if (code === charCodes.lineFeed || code === charCodes.carriageReturn || code === 8232 || code === 8233) {\n return true;\n }\n }\n return false;\n }\n function hasFollowingLineBreak() {\n const nextStart = nextTokenStart();\n for (let i = state.end; i < nextStart; i++) {\n const code = input.charCodeAt(i);\n if (code === charCodes.lineFeed || code === charCodes.carriageReturn || code === 8232 || code === 8233) {\n return true;\n }\n }\n return false;\n }\n function isLineTerminator() {\n return eat(TokenType.semi) || canInsertSemicolon();\n }\n function semicolon() {\n if (!isLineTerminator()) {\n unexpected('Unexpected token, expected \";\"');\n }\n }\n function expect(type) {\n const matched = eat(type);\n if (!matched) {\n unexpected(`Unexpected token, expected \"${formatTokenType(type)}\"`);\n }\n }\n function unexpected(message = \"Unexpected token\", pos = state.start) {\n if (state.error) {\n return;\n }\n const err = new SyntaxError(message);\n err.pos = pos;\n state.error = err;\n state.pos = input.length;\n finishToken(TokenType.eof);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/whitespace.js\n var WHITESPACE_CHARS = [\n 9,\n 11,\n 12,\n charCodes.space,\n charCodes.nonBreakingSpace,\n charCodes.oghamSpaceMark,\n 8192,\n // EN QUAD\n 8193,\n // EM QUAD\n 8194,\n // EN SPACE\n 8195,\n // EM SPACE\n 8196,\n // THREE-PER-EM SPACE\n 8197,\n // FOUR-PER-EM SPACE\n 8198,\n // SIX-PER-EM SPACE\n 8199,\n // FIGURE SPACE\n 8200,\n // PUNCTUATION SPACE\n 8201,\n // THIN SPACE\n 8202,\n // HAIR SPACE\n 8239,\n // NARROW NO-BREAK SPACE\n 8287,\n // MEDIUM MATHEMATICAL SPACE\n 12288,\n // IDEOGRAPHIC SPACE\n 65279\n // ZERO WIDTH NO-BREAK SPACE\n ];\n var skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n var IS_WHITESPACE = new Uint8Array(65536);\n for (const char of WHITESPACE_CHARS) {\n IS_WHITESPACE[char] = 1;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/util/identifier.js\n function computeIsIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code < 91) return true;\n if (code < 97) return code === 95;\n if (code < 123) return true;\n if (code < 128) return false;\n throw new Error(\"Should not be called with non-ASCII char code.\");\n }\n var IS_IDENTIFIER_CHAR = new Uint8Array(65536);\n for (let i = 0; i < 128; i++) {\n IS_IDENTIFIER_CHAR[i] = computeIsIdentifierChar(i) ? 1 : 0;\n }\n for (let i = 128; i < 65536; i++) {\n IS_IDENTIFIER_CHAR[i] = 1;\n }\n for (const whitespaceChar of WHITESPACE_CHARS) {\n IS_IDENTIFIER_CHAR[whitespaceChar] = 0;\n }\n IS_IDENTIFIER_CHAR[8232] = 0;\n IS_IDENTIFIER_CHAR[8233] = 0;\n var IS_IDENTIFIER_START = IS_IDENTIFIER_CHAR.slice();\n for (let numChar = charCodes.digit0; numChar <= charCodes.digit9; numChar++) {\n IS_IDENTIFIER_START[numChar] = 0;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/readWordTree.js\n var READ_WORD_TREE = new Int32Array([\n // \"\"\n -1,\n 27,\n 783,\n 918,\n 1755,\n 2376,\n 2862,\n 3483,\n -1,\n 3699,\n -1,\n 4617,\n 4752,\n 4833,\n 5130,\n 5508,\n 5940,\n -1,\n 6480,\n 6939,\n 7749,\n 8181,\n 8451,\n 8613,\n -1,\n 8829,\n -1,\n // \"a\"\n -1,\n -1,\n 54,\n 243,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 432,\n -1,\n -1,\n -1,\n 675,\n -1,\n -1,\n -1,\n // \"ab\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 81,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abs\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 108,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abst\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 135,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstr\"\n -1,\n 162,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstra\"\n -1,\n -1,\n -1,\n 189,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstrac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 216,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"abstract\"\n ContextualKeyword._abstract << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ac\"\n -1,\n -1,\n -1,\n 270,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 297,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acce\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 324,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"acces\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 351,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"access\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 378,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"accesso\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 405,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"accessor\"\n ContextualKeyword._accessor << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"as\"\n ContextualKeyword._as << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 459,\n -1,\n -1,\n -1,\n -1,\n -1,\n 594,\n -1,\n // \"ass\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 486,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asse\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 513,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asser\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 540,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"assert\"\n ContextualKeyword._assert << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 567,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asserts\"\n ContextualKeyword._asserts << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asy\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 621,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"asyn\"\n -1,\n -1,\n -1,\n 648,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"async\"\n ContextualKeyword._async << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"aw\"\n -1,\n 702,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"awa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 729,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"awai\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 756,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"await\"\n ContextualKeyword._await << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"b\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 810,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"br\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 837,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"bre\"\n -1,\n 864,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"brea\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 891,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"break\"\n (TokenType._break << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"c\"\n -1,\n 945,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1107,\n -1,\n -1,\n -1,\n 1242,\n -1,\n -1,\n 1350,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ca\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 972,\n 1026,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cas\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 999,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"case\"\n (TokenType._case << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cat\"\n -1,\n -1,\n -1,\n 1053,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"catc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1080,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"catch\"\n (TokenType._catch << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ch\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1134,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"che\"\n -1,\n -1,\n -1,\n 1161,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"chec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1188,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"check\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1215,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"checks\"\n ContextualKeyword._checks << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cl\"\n -1,\n 1269,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cla\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1296,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"clas\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1323,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"class\"\n (TokenType._class << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"co\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1377,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"con\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1404,\n 1620,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cons\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1431,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"const\"\n (TokenType._const << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1458,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1485,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constru\"\n -1,\n -1,\n -1,\n 1512,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"construc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1539,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"construct\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1566,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constructo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1593,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"constructor\"\n ContextualKeyword._constructor << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"cont\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1647,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"conti\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1674,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"contin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1701,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"continu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1728,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"continue\"\n (TokenType._continue << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"d\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1782,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2349,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"de\"\n -1,\n -1,\n 1809,\n 1971,\n -1,\n -1,\n 2106,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2241,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"deb\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1836,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1863,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debug\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1890,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugg\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 1917,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugge\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1944,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"debugger\"\n (TokenType._debugger << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"dec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 1998,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"decl\"\n -1,\n 2025,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"decla\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2052,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"declar\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2079,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"declare\"\n ContextualKeyword._declare << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"def\"\n -1,\n 2133,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2160,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defau\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2187,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"defaul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2214,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"default\"\n (TokenType._default << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"del\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2268,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"dele\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2295,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"delet\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2322,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"delete\"\n (TokenType._delete << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"do\"\n (TokenType._do << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"e\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2403,\n -1,\n 2484,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2565,\n -1,\n -1,\n // \"el\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2430,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"els\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2457,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"else\"\n (TokenType._else << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"en\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2511,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"enu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2538,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"enum\"\n ContextualKeyword._enum << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ex\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2592,\n -1,\n -1,\n -1,\n 2727,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exp\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2619,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"expo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2646,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"expor\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2673,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"export\"\n (TokenType._export << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2700,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exports\"\n ContextualKeyword._exports << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ext\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2754,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exte\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2781,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"exten\"\n -1,\n -1,\n -1,\n -1,\n 2808,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"extend\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2835,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"extends\"\n (TokenType._extends << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"f\"\n -1,\n 2889,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2997,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3159,\n -1,\n -1,\n 3213,\n -1,\n -1,\n 3294,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2916,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fal\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 2943,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fals\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 2970,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"false\"\n (TokenType._false << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3024,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fin\"\n -1,\n 3051,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fina\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3078,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"final\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3105,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"finall\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3132,\n -1,\n // \"finally\"\n (TokenType._finally << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3186,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"for\"\n (TokenType._for << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3240,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3267,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"from\"\n ContextualKeyword._from << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3321,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"fun\"\n -1,\n -1,\n -1,\n 3348,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"func\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3375,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"funct\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3402,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"functi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3429,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"functio\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3456,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"function\"\n (TokenType._function << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"g\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3510,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3564,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ge\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3537,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"get\"\n ContextualKeyword._get << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"gl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3591,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"glo\"\n -1,\n -1,\n 3618,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"glob\"\n -1,\n 3645,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"globa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3672,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"global\"\n ContextualKeyword._global << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"i\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3726,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3753,\n 4077,\n -1,\n -1,\n -1,\n -1,\n 4590,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"if\"\n (TokenType._if << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"im\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3780,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"imp\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3807,\n -1,\n -1,\n 3996,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3834,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"imple\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3861,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implem\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 3888,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impleme\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3915,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implemen\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3942,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implement\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 3969,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"implements\"\n ContextualKeyword._implements << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4023,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"impor\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4050,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"import\"\n (TokenType._import << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"in\"\n (TokenType._in << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4104,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4185,\n 4401,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inf\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4131,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"infe\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4158,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"infer\"\n ContextualKeyword._infer << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ins\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4212,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inst\"\n -1,\n 4239,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"insta\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4266,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instan\"\n -1,\n -1,\n -1,\n 4293,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4320,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instance\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4347,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanceo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4374,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"instanceof\"\n (TokenType._instanceof << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"int\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4428,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inte\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4455,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"inter\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4482,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interf\"\n -1,\n 4509,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interfa\"\n -1,\n -1,\n -1,\n 4536,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interfac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4563,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"interface\"\n ContextualKeyword._interface << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"is\"\n ContextualKeyword._is << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"k\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4644,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ke\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4671,\n -1,\n // \"key\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4698,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"keyo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4725,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"keyof\"\n ContextualKeyword._keyof << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"l\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 4779,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"le\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4806,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"let\"\n (TokenType._let << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"m\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4860,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4995,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4887,\n -1,\n -1,\n // \"mix\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4914,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4941,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 4968,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mixins\"\n ContextualKeyword._mixins << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mo\"\n -1,\n -1,\n -1,\n -1,\n 5022,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"mod\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5049,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"modu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5076,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"modul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5103,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"module\"\n ContextualKeyword._module << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"n\"\n -1,\n 5157,\n -1,\n -1,\n -1,\n 5373,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5427,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"na\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5184,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nam\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5211,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"name\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5238,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"names\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5265,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namesp\"\n -1,\n 5292,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespa\"\n -1,\n -1,\n -1,\n 5319,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespac\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5346,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"namespace\"\n ContextualKeyword._namespace << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ne\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5400,\n -1,\n -1,\n -1,\n // \"new\"\n (TokenType._new << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5454,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"nul\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5481,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"null\"\n (TokenType._null << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"o\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5535,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5562,\n -1,\n -1,\n -1,\n -1,\n 5697,\n 5751,\n -1,\n -1,\n -1,\n -1,\n // \"of\"\n ContextualKeyword._of << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"op\"\n -1,\n 5589,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5616,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaq\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5643,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaqu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5670,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"opaque\"\n ContextualKeyword._opaque << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ou\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5724,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"out\"\n ContextualKeyword._out << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ov\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5778,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ove\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5805,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"over\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5832,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5859,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overri\"\n -1,\n -1,\n -1,\n -1,\n 5886,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"overrid\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 5913,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"override\"\n ContextualKeyword._override << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"p\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5967,\n -1,\n -1,\n 6345,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 5994,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6129,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pri\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6021,\n -1,\n -1,\n -1,\n -1,\n // \"priv\"\n -1,\n 6048,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"priva\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6075,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"privat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6102,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"private\"\n ContextualKeyword._private << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6156,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"prot\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6183,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6318,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"prote\"\n -1,\n -1,\n -1,\n 6210,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protec\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6237,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protect\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6264,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protecte\"\n -1,\n -1,\n -1,\n -1,\n 6291,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"protected\"\n ContextualKeyword._protected << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"proto\"\n ContextualKeyword._proto << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pu\"\n -1,\n -1,\n 6372,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"pub\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6399,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"publ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6426,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"publi\"\n -1,\n -1,\n -1,\n 6453,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"public\"\n ContextualKeyword._public << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"r\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6507,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"re\"\n -1,\n 6534,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6696,\n -1,\n -1,\n 6831,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"rea\"\n -1,\n -1,\n -1,\n -1,\n 6561,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"read\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6588,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"reado\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6615,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"readon\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6642,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"readonl\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6669,\n -1,\n // \"readonly\"\n ContextualKeyword._readonly << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"req\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6723,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6750,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6777,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"requir\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 6804,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"require\"\n ContextualKeyword._require << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ret\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6858,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"retu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6885,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"retur\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6912,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"return\"\n (TokenType._return << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"s\"\n -1,\n 6966,\n -1,\n -1,\n -1,\n 7182,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7236,\n 7371,\n -1,\n 7479,\n -1,\n 7614,\n -1,\n // \"sa\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 6993,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7020,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sati\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7047,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satis\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7074,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisf\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7101,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7128,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfie\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7155,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"satisfies\"\n ContextualKeyword._satisfies << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"se\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7209,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"set\"\n ContextualKeyword._set << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"st\"\n -1,\n 7263,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sta\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7290,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"stat\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7317,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"stati\"\n -1,\n -1,\n -1,\n 7344,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"static\"\n ContextualKeyword._static << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"su\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7398,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sup\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7425,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"supe\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7452,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"super\"\n (TokenType._super << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sw\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7506,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"swi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7533,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"swit\"\n -1,\n -1,\n -1,\n 7560,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"switc\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7587,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"switch\"\n (TokenType._switch << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sy\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7641,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"sym\"\n -1,\n -1,\n 7668,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symb\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7695,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symbo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7722,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"symbol\"\n ContextualKeyword._symbol << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"t\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7776,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7938,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8046,\n -1,\n // \"th\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7803,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7857,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7830,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"this\"\n (TokenType._this << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7884,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"thro\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7911,\n -1,\n -1,\n -1,\n // \"throw\"\n (TokenType._throw << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"tr\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 7965,\n -1,\n -1,\n -1,\n 8019,\n -1,\n // \"tru\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 7992,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"true\"\n (TokenType._true << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"try\"\n (TokenType._try << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"ty\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8073,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typ\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8100,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"type\"\n ContextualKeyword._type << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8127,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typeo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8154,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"typeof\"\n (TokenType._typeof << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"u\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8208,\n -1,\n -1,\n -1,\n -1,\n 8343,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"un\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8235,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uni\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8262,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uniq\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8289,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"uniqu\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8316,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"unique\"\n ContextualKeyword._unique << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"us\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8370,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"usi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8397,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"usin\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8424,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"using\"\n ContextualKeyword._using << 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"v\"\n -1,\n 8478,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8532,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"va\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8505,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"var\"\n (TokenType._var << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"vo\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8559,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"voi\"\n -1,\n -1,\n -1,\n -1,\n 8586,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"void\"\n (TokenType._void << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"w\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8640,\n 8748,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wh\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8667,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"whi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8694,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"whil\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8721,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"while\"\n (TokenType._while << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8775,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"wit\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8802,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"with\"\n (TokenType._with << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"y\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8856,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yi\"\n -1,\n -1,\n -1,\n -1,\n -1,\n 8883,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yie\"\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 8910,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yiel\"\n -1,\n -1,\n -1,\n -1,\n 8937,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n // \"yield\"\n (TokenType._yield << 1) + 1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ]);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/readWord.js\n function readWord() {\n let treePos = 0;\n let code = 0;\n let pos = state.pos;\n while (pos < input.length) {\n code = input.charCodeAt(pos);\n if (code < charCodes.lowercaseA || code > charCodes.lowercaseZ) {\n break;\n }\n const next2 = READ_WORD_TREE[treePos + (code - charCodes.lowercaseA) + 1];\n if (next2 === -1) {\n break;\n } else {\n treePos = next2;\n pos++;\n }\n }\n const keywordValue = READ_WORD_TREE[treePos];\n if (keywordValue > -1 && !IS_IDENTIFIER_CHAR[code]) {\n state.pos = pos;\n if (keywordValue & 1) {\n finishToken(keywordValue >>> 1);\n } else {\n finishToken(TokenType.name, keywordValue >>> 1);\n }\n return;\n }\n while (pos < input.length) {\n const ch = input.charCodeAt(pos);\n if (IS_IDENTIFIER_CHAR[ch]) {\n pos++;\n } else if (ch === charCodes.backslash) {\n pos += 2;\n if (input.charCodeAt(pos) === charCodes.leftCurlyBrace) {\n while (pos < input.length && input.charCodeAt(pos) !== charCodes.rightCurlyBrace) {\n pos++;\n }\n pos++;\n }\n } else if (ch === charCodes.atSign && input.charCodeAt(pos + 1) === charCodes.atSign) {\n pos += 2;\n } else {\n break;\n }\n }\n state.pos = pos;\n finishToken(TokenType.name);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/tokenizer/index.js\n var IdentifierRole;\n (function(IdentifierRole2) {\n const Access = 0;\n IdentifierRole2[IdentifierRole2[\"Access\"] = Access] = \"Access\";\n const ExportAccess = Access + 1;\n IdentifierRole2[IdentifierRole2[\"ExportAccess\"] = ExportAccess] = \"ExportAccess\";\n const TopLevelDeclaration = ExportAccess + 1;\n IdentifierRole2[IdentifierRole2[\"TopLevelDeclaration\"] = TopLevelDeclaration] = \"TopLevelDeclaration\";\n const FunctionScopedDeclaration = TopLevelDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"FunctionScopedDeclaration\"] = FunctionScopedDeclaration] = \"FunctionScopedDeclaration\";\n const BlockScopedDeclaration = FunctionScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"BlockScopedDeclaration\"] = BlockScopedDeclaration] = \"BlockScopedDeclaration\";\n const ObjectShorthandTopLevelDeclaration = BlockScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandTopLevelDeclaration\"] = ObjectShorthandTopLevelDeclaration] = \"ObjectShorthandTopLevelDeclaration\";\n const ObjectShorthandFunctionScopedDeclaration = ObjectShorthandTopLevelDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandFunctionScopedDeclaration\"] = ObjectShorthandFunctionScopedDeclaration] = \"ObjectShorthandFunctionScopedDeclaration\";\n const ObjectShorthandBlockScopedDeclaration = ObjectShorthandFunctionScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthandBlockScopedDeclaration\"] = ObjectShorthandBlockScopedDeclaration] = \"ObjectShorthandBlockScopedDeclaration\";\n const ObjectShorthand = ObjectShorthandBlockScopedDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectShorthand\"] = ObjectShorthand] = \"ObjectShorthand\";\n const ImportDeclaration = ObjectShorthand + 1;\n IdentifierRole2[IdentifierRole2[\"ImportDeclaration\"] = ImportDeclaration] = \"ImportDeclaration\";\n const ObjectKey = ImportDeclaration + 1;\n IdentifierRole2[IdentifierRole2[\"ObjectKey\"] = ObjectKey] = \"ObjectKey\";\n const ImportAccess = ObjectKey + 1;\n IdentifierRole2[IdentifierRole2[\"ImportAccess\"] = ImportAccess] = \"ImportAccess\";\n })(IdentifierRole || (IdentifierRole = {}));\n var JSXRole;\n (function(JSXRole2) {\n const NoChildren = 0;\n JSXRole2[JSXRole2[\"NoChildren\"] = NoChildren] = \"NoChildren\";\n const OneChild = NoChildren + 1;\n JSXRole2[JSXRole2[\"OneChild\"] = OneChild] = \"OneChild\";\n const StaticChildren = OneChild + 1;\n JSXRole2[JSXRole2[\"StaticChildren\"] = StaticChildren] = \"StaticChildren\";\n const KeyAfterPropSpread = StaticChildren + 1;\n JSXRole2[JSXRole2[\"KeyAfterPropSpread\"] = KeyAfterPropSpread] = \"KeyAfterPropSpread\";\n })(JSXRole || (JSXRole = {}));\n function isDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isNonTopLevelDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isTopLevelDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ImportDeclaration;\n }\n function isBlockScopedDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.TopLevelDeclaration || role === IdentifierRole.BlockScopedDeclaration || role === IdentifierRole.ObjectShorthandTopLevelDeclaration || role === IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n }\n function isFunctionScopedDeclaration(token) {\n const role = token.identifierRole;\n return role === IdentifierRole.FunctionScopedDeclaration || role === IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n function isObjectShorthandDeclaration(token) {\n return token.identifierRole === IdentifierRole.ObjectShorthandTopLevelDeclaration || token.identifierRole === IdentifierRole.ObjectShorthandBlockScopedDeclaration || token.identifierRole === IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n var Token = class {\n constructor() {\n this.type = state.type;\n this.contextualKeyword = state.contextualKeyword;\n this.start = state.start;\n this.end = state.end;\n this.scopeDepth = state.scopeDepth;\n this.isType = state.isType;\n this.identifierRole = null;\n this.jsxRole = null;\n this.shadowsGlobal = false;\n this.isAsyncOperation = false;\n this.contextId = null;\n this.rhsEndIndex = null;\n this.isExpression = false;\n this.numNullishCoalesceStarts = 0;\n this.numNullishCoalesceEnds = 0;\n this.isOptionalChainStart = false;\n this.isOptionalChainEnd = false;\n this.subscriptStartIndex = null;\n this.nullishStartIndex = null;\n }\n // Initially false for all tokens, then may be computed in a follow-up step that does scope\n // analysis.\n // Initially false for all tokens, but may be set during transform to mark it as containing an\n // await operation.\n // For assignments, the index of the RHS. For export tokens, the end of the export.\n // For class tokens, records if the class is a class expression or a class statement.\n // Number of times to insert a `nullishCoalesce(` snippet before this token.\n // Number of times to insert a `)` snippet after this token.\n // If true, insert an `optionalChain([` snippet before this token.\n // If true, insert a `])` snippet after this token.\n // Tag for `.`, `?.`, `[`, `?.[`, `(`, and `?.(` to denote the \"root\" token for this\n // subscript chain. This can be used to determine if this chain is an optional chain.\n // Tag for `??` operators to denote the root token for this nullish coalescing call.\n };\n function next() {\n state.tokens.push(new Token());\n nextToken();\n }\n function nextTemplateToken() {\n state.tokens.push(new Token());\n state.start = state.pos;\n readTmplToken();\n }\n function retokenizeSlashAsRegex() {\n if (state.type === TokenType.assign) {\n --state.pos;\n }\n readRegexp();\n }\n function pushTypeContext(existingTokensInType) {\n for (let i = state.tokens.length - existingTokensInType; i < state.tokens.length; i++) {\n state.tokens[i].isType = true;\n }\n const oldIsType = state.isType;\n state.isType = true;\n return oldIsType;\n }\n function popTypeContext(oldIsType) {\n state.isType = oldIsType;\n }\n function eat(type) {\n if (match(type)) {\n next();\n return true;\n } else {\n return false;\n }\n }\n function eatTypeToken(tokenType) {\n const oldIsType = state.isType;\n state.isType = true;\n eat(tokenType);\n state.isType = oldIsType;\n }\n function match(type) {\n return state.type === type;\n }\n function lookaheadType() {\n const snapshot = state.snapshot();\n next();\n const type = state.type;\n state.restoreFromSnapshot(snapshot);\n return type;\n }\n var TypeAndKeyword = class {\n constructor(type, contextualKeyword) {\n this.type = type;\n this.contextualKeyword = contextualKeyword;\n }\n };\n function lookaheadTypeAndKeyword() {\n const snapshot = state.snapshot();\n next();\n const type = state.type;\n const contextualKeyword = state.contextualKeyword;\n state.restoreFromSnapshot(snapshot);\n return new TypeAndKeyword(type, contextualKeyword);\n }\n function nextTokenStart() {\n return nextTokenStartSince(state.pos);\n }\n function nextTokenStartSince(pos) {\n skipWhiteSpace.lastIndex = pos;\n const skip = skipWhiteSpace.exec(input);\n return pos + skip[0].length;\n }\n function lookaheadCharCode() {\n return input.charCodeAt(nextTokenStart());\n }\n function nextToken() {\n skipSpace();\n state.start = state.pos;\n if (state.pos >= input.length) {\n const tokens = state.tokens;\n if (tokens.length >= 2 && tokens[tokens.length - 1].start >= input.length && tokens[tokens.length - 2].start >= input.length) {\n unexpected(\"Unexpectedly reached the end of input.\");\n }\n finishToken(TokenType.eof);\n return;\n }\n readToken(input.charCodeAt(state.pos));\n }\n function readToken(code) {\n if (IS_IDENTIFIER_START[code] || code === charCodes.backslash || code === charCodes.atSign && input.charCodeAt(state.pos + 1) === charCodes.atSign) {\n readWord();\n } else {\n getTokenFromCode(code);\n }\n }\n function skipBlockComment() {\n while (input.charCodeAt(state.pos) !== charCodes.asterisk || input.charCodeAt(state.pos + 1) !== charCodes.slash) {\n state.pos++;\n if (state.pos > input.length) {\n unexpected(\"Unterminated comment\", state.pos - 2);\n return;\n }\n }\n state.pos += 2;\n }\n function skipLineComment(startSkip) {\n let ch = input.charCodeAt(state.pos += startSkip);\n if (state.pos < input.length) {\n while (ch !== charCodes.lineFeed && ch !== charCodes.carriageReturn && ch !== charCodes.lineSeparator && ch !== charCodes.paragraphSeparator && ++state.pos < input.length) {\n ch = input.charCodeAt(state.pos);\n }\n }\n }\n function skipSpace() {\n while (state.pos < input.length) {\n const ch = input.charCodeAt(state.pos);\n switch (ch) {\n case charCodes.carriageReturn:\n if (input.charCodeAt(state.pos + 1) === charCodes.lineFeed) {\n ++state.pos;\n }\n case charCodes.lineFeed:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n ++state.pos;\n break;\n case charCodes.slash:\n switch (input.charCodeAt(state.pos + 1)) {\n case charCodes.asterisk:\n state.pos += 2;\n skipBlockComment();\n break;\n case charCodes.slash:\n skipLineComment(2);\n break;\n default:\n return;\n }\n break;\n default:\n if (IS_WHITESPACE[ch]) {\n ++state.pos;\n } else {\n return;\n }\n }\n }\n }\n function finishToken(type, contextualKeyword = ContextualKeyword.NONE) {\n state.end = state.pos;\n state.type = type;\n state.contextualKeyword = contextualKeyword;\n }\n function readToken_dot() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar >= charCodes.digit0 && nextChar <= charCodes.digit9) {\n readNumber(true);\n return;\n }\n if (nextChar === charCodes.dot && input.charCodeAt(state.pos + 2) === charCodes.dot) {\n state.pos += 3;\n finishToken(TokenType.ellipsis);\n } else {\n ++state.pos;\n finishToken(TokenType.dot);\n }\n }\n function readToken_slash() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else {\n finishOp(TokenType.slash, 1);\n }\n }\n function readToken_mult_modulo(code) {\n let tokenType = code === charCodes.asterisk ? TokenType.star : TokenType.modulo;\n let width = 1;\n let nextChar = input.charCodeAt(state.pos + 1);\n if (code === charCodes.asterisk && nextChar === charCodes.asterisk) {\n width++;\n nextChar = input.charCodeAt(state.pos + 2);\n tokenType = TokenType.exponent;\n }\n if (nextChar === charCodes.equalsTo && input.charCodeAt(state.pos + 2) !== charCodes.greaterThan) {\n width++;\n tokenType = TokenType.assign;\n }\n finishOp(tokenType, width);\n }\n function readToken_pipe_amp(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === code) {\n if (input.charCodeAt(state.pos + 2) === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n } else {\n finishOp(code === charCodes.verticalBar ? TokenType.logicalOR : TokenType.logicalAND, 2);\n }\n return;\n }\n if (code === charCodes.verticalBar) {\n if (nextChar === charCodes.greaterThan) {\n finishOp(TokenType.pipeline, 2);\n return;\n } else if (nextChar === charCodes.rightCurlyBrace && isFlowEnabled) {\n finishOp(TokenType.braceBarR, 2);\n return;\n }\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n return;\n }\n finishOp(code === charCodes.verticalBar ? TokenType.bitwiseOR : TokenType.bitwiseAND, 1);\n }\n function readToken_caret() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else {\n finishOp(TokenType.bitwiseXOR, 1);\n }\n }\n function readToken_plus_min(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === code) {\n finishOp(TokenType.preIncDec, 2);\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.assign, 2);\n } else if (code === charCodes.plusSign) {\n finishOp(TokenType.plus, 1);\n } else {\n finishOp(TokenType.minus, 1);\n }\n }\n function readToken_lt() {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.lessThan) {\n if (input.charCodeAt(state.pos + 2) === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n return;\n }\n if (state.isType) {\n finishOp(TokenType.lessThan, 1);\n } else {\n finishOp(TokenType.bitShiftL, 2);\n }\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.relationalOrEqual, 2);\n } else {\n finishOp(TokenType.lessThan, 1);\n }\n }\n function readToken_gt() {\n if (state.isType) {\n finishOp(TokenType.greaterThan, 1);\n return;\n }\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.greaterThan) {\n const size4 = input.charCodeAt(state.pos + 2) === charCodes.greaterThan ? 3 : 2;\n if (input.charCodeAt(state.pos + size4) === charCodes.equalsTo) {\n finishOp(TokenType.assign, size4 + 1);\n return;\n }\n finishOp(TokenType.bitShiftR, size4);\n return;\n }\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.relationalOrEqual, 2);\n } else {\n finishOp(TokenType.greaterThan, 1);\n }\n }\n function rescan_gt() {\n if (state.type === TokenType.greaterThan) {\n state.pos -= 1;\n readToken_gt();\n }\n }\n function readToken_eq_excl(code) {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.equalsTo) {\n finishOp(TokenType.equality, input.charCodeAt(state.pos + 2) === charCodes.equalsTo ? 3 : 2);\n return;\n }\n if (code === charCodes.equalsTo && nextChar === charCodes.greaterThan) {\n state.pos += 2;\n finishToken(TokenType.arrow);\n return;\n }\n finishOp(code === charCodes.equalsTo ? TokenType.eq : TokenType.bang, 1);\n }\n function readToken_question() {\n const nextChar = input.charCodeAt(state.pos + 1);\n const nextChar2 = input.charCodeAt(state.pos + 2);\n if (nextChar === charCodes.questionMark && // In Flow (but not TypeScript), ??string is a valid type that should be\n // tokenized as two individual ? tokens.\n !(isFlowEnabled && state.isType)) {\n if (nextChar2 === charCodes.equalsTo) {\n finishOp(TokenType.assign, 3);\n } else {\n finishOp(TokenType.nullishCoalescing, 2);\n }\n } else if (nextChar === charCodes.dot && !(nextChar2 >= charCodes.digit0 && nextChar2 <= charCodes.digit9)) {\n state.pos += 2;\n finishToken(TokenType.questionDot);\n } else {\n ++state.pos;\n finishToken(TokenType.question);\n }\n }\n function getTokenFromCode(code) {\n switch (code) {\n case charCodes.numberSign:\n ++state.pos;\n finishToken(TokenType.hash);\n return;\n // The interpretation of a dot depends on whether it is followed\n // by a digit or another two dots.\n case charCodes.dot:\n readToken_dot();\n return;\n // Punctuation tokens.\n case charCodes.leftParenthesis:\n ++state.pos;\n finishToken(TokenType.parenL);\n return;\n case charCodes.rightParenthesis:\n ++state.pos;\n finishToken(TokenType.parenR);\n return;\n case charCodes.semicolon:\n ++state.pos;\n finishToken(TokenType.semi);\n return;\n case charCodes.comma:\n ++state.pos;\n finishToken(TokenType.comma);\n return;\n case charCodes.leftSquareBracket:\n ++state.pos;\n finishToken(TokenType.bracketL);\n return;\n case charCodes.rightSquareBracket:\n ++state.pos;\n finishToken(TokenType.bracketR);\n return;\n case charCodes.leftCurlyBrace:\n if (isFlowEnabled && input.charCodeAt(state.pos + 1) === charCodes.verticalBar) {\n finishOp(TokenType.braceBarL, 2);\n } else {\n ++state.pos;\n finishToken(TokenType.braceL);\n }\n return;\n case charCodes.rightCurlyBrace:\n ++state.pos;\n finishToken(TokenType.braceR);\n return;\n case charCodes.colon:\n if (input.charCodeAt(state.pos + 1) === charCodes.colon) {\n finishOp(TokenType.doubleColon, 2);\n } else {\n ++state.pos;\n finishToken(TokenType.colon);\n }\n return;\n case charCodes.questionMark:\n readToken_question();\n return;\n case charCodes.atSign:\n ++state.pos;\n finishToken(TokenType.at);\n return;\n case charCodes.graveAccent:\n ++state.pos;\n finishToken(TokenType.backQuote);\n return;\n case charCodes.digit0: {\n const nextChar = input.charCodeAt(state.pos + 1);\n if (nextChar === charCodes.lowercaseX || nextChar === charCodes.uppercaseX || nextChar === charCodes.lowercaseO || nextChar === charCodes.uppercaseO || nextChar === charCodes.lowercaseB || nextChar === charCodes.uppercaseB) {\n readRadixNumber();\n return;\n }\n }\n // Anything else beginning with a digit is an integer, octal\n // number, or float.\n case charCodes.digit1:\n case charCodes.digit2:\n case charCodes.digit3:\n case charCodes.digit4:\n case charCodes.digit5:\n case charCodes.digit6:\n case charCodes.digit7:\n case charCodes.digit8:\n case charCodes.digit9:\n readNumber(false);\n return;\n // Quotes produce strings.\n case charCodes.quotationMark:\n case charCodes.apostrophe:\n readString(code);\n return;\n // Operators are parsed inline in tiny state machines. '=' (charCodes.equalsTo) is\n // often referred to. `finishOp` simply skips the amount of\n // characters it is given as second argument, and returns a token\n // of the type given by its first argument.\n case charCodes.slash:\n readToken_slash();\n return;\n case charCodes.percentSign:\n case charCodes.asterisk:\n readToken_mult_modulo(code);\n return;\n case charCodes.verticalBar:\n case charCodes.ampersand:\n readToken_pipe_amp(code);\n return;\n case charCodes.caret:\n readToken_caret();\n return;\n case charCodes.plusSign:\n case charCodes.dash:\n readToken_plus_min(code);\n return;\n case charCodes.lessThan:\n readToken_lt();\n return;\n case charCodes.greaterThan:\n readToken_gt();\n return;\n case charCodes.equalsTo:\n case charCodes.exclamationMark:\n readToken_eq_excl(code);\n return;\n case charCodes.tilde:\n finishOp(TokenType.tilde, 1);\n return;\n default:\n break;\n }\n unexpected(`Unexpected character '${String.fromCharCode(code)}'`, state.pos);\n }\n function finishOp(type, size4) {\n state.pos += size4;\n finishToken(type);\n }\n function readRegexp() {\n const start = state.pos;\n let escaped = false;\n let inClass = false;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated regular expression\", start);\n return;\n }\n const code = input.charCodeAt(state.pos);\n if (escaped) {\n escaped = false;\n } else {\n if (code === charCodes.leftSquareBracket) {\n inClass = true;\n } else if (code === charCodes.rightSquareBracket && inClass) {\n inClass = false;\n } else if (code === charCodes.slash && !inClass) {\n break;\n }\n escaped = code === charCodes.backslash;\n }\n ++state.pos;\n }\n ++state.pos;\n skipWord();\n finishToken(TokenType.regexp);\n }\n function readInt() {\n while (true) {\n const code = input.charCodeAt(state.pos);\n if (code >= charCodes.digit0 && code <= charCodes.digit9 || code === charCodes.underscore) {\n state.pos++;\n } else {\n break;\n }\n }\n }\n function readRadixNumber() {\n state.pos += 2;\n while (true) {\n const code = input.charCodeAt(state.pos);\n if (code >= charCodes.digit0 && code <= charCodes.digit9 || code >= charCodes.lowercaseA && code <= charCodes.lowercaseF || code >= charCodes.uppercaseA && code <= charCodes.uppercaseF || code === charCodes.underscore) {\n state.pos++;\n } else {\n break;\n }\n }\n const nextChar = input.charCodeAt(state.pos);\n if (nextChar === charCodes.lowercaseN) {\n ++state.pos;\n finishToken(TokenType.bigint);\n } else {\n finishToken(TokenType.num);\n }\n }\n function readNumber(startsWithDot) {\n let isBigInt = false;\n let isDecimal = false;\n if (!startsWithDot) {\n readInt();\n }\n let nextChar = input.charCodeAt(state.pos);\n if (nextChar === charCodes.dot) {\n ++state.pos;\n readInt();\n nextChar = input.charCodeAt(state.pos);\n }\n if (nextChar === charCodes.uppercaseE || nextChar === charCodes.lowercaseE) {\n nextChar = input.charCodeAt(++state.pos);\n if (nextChar === charCodes.plusSign || nextChar === charCodes.dash) {\n ++state.pos;\n }\n readInt();\n nextChar = input.charCodeAt(state.pos);\n }\n if (nextChar === charCodes.lowercaseN) {\n ++state.pos;\n isBigInt = true;\n } else if (nextChar === charCodes.lowercaseM) {\n ++state.pos;\n isDecimal = true;\n }\n if (isBigInt) {\n finishToken(TokenType.bigint);\n return;\n }\n if (isDecimal) {\n finishToken(TokenType.decimal);\n return;\n }\n finishToken(TokenType.num);\n }\n function readString(quote) {\n state.pos++;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated string constant\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.backslash) {\n state.pos++;\n } else if (ch === quote) {\n break;\n }\n state.pos++;\n }\n state.pos++;\n finishToken(TokenType.string);\n }\n function readTmplToken() {\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated template\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.graveAccent || ch === charCodes.dollarSign && input.charCodeAt(state.pos + 1) === charCodes.leftCurlyBrace) {\n if (state.pos === state.start && match(TokenType.template)) {\n if (ch === charCodes.dollarSign) {\n state.pos += 2;\n finishToken(TokenType.dollarBraceL);\n return;\n } else {\n ++state.pos;\n finishToken(TokenType.backQuote);\n return;\n }\n }\n finishToken(TokenType.template);\n return;\n }\n if (ch === charCodes.backslash) {\n state.pos++;\n }\n state.pos++;\n }\n }\n function skipWord() {\n while (state.pos < input.length) {\n const ch = input.charCodeAt(state.pos);\n if (IS_IDENTIFIER_CHAR[ch]) {\n state.pos++;\n } else if (ch === charCodes.backslash) {\n state.pos += 2;\n if (input.charCodeAt(state.pos) === charCodes.leftCurlyBrace) {\n while (state.pos < input.length && input.charCodeAt(state.pos) !== charCodes.rightCurlyBrace) {\n state.pos++;\n }\n state.pos++;\n }\n } else {\n break;\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getImportExportSpecifierInfo.js\n function getImportExportSpecifierInfo(tokens, index2 = tokens.currentIndex()) {\n let endIndex = index2 + 1;\n if (isSpecifierEnd(tokens, endIndex)) {\n const name = tokens.identifierNameAtIndex(index2);\n return {\n isType: false,\n leftName: name,\n rightName: name,\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: true,\n leftName: null,\n rightName: null,\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: false,\n leftName: tokens.identifierNameAtIndex(index2),\n rightName: tokens.identifierNameAtIndex(index2 + 2),\n endIndex\n };\n }\n endIndex++;\n if (isSpecifierEnd(tokens, endIndex)) {\n return {\n isType: true,\n leftName: null,\n rightName: null,\n endIndex\n };\n }\n throw new Error(`Unexpected import/export specifier at ${index2}`);\n }\n function isSpecifierEnd(tokens, index2) {\n const token = tokens.tokens[index2];\n return token.type === TokenType.braceR || token.type === TokenType.comma;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/jsx/xhtml.js\n var xhtml_default = /* @__PURE__ */ new Map([\n [\"quot\", '\"'],\n [\"amp\", \"&\"],\n [\"apos\", \"'\"],\n [\"lt\", \"<\"],\n [\"gt\", \">\"],\n [\"nbsp\", \"\\xA0\"],\n [\"iexcl\", \"\\xA1\"],\n [\"cent\", \"\\xA2\"],\n [\"pound\", \"\\xA3\"],\n [\"curren\", \"\\xA4\"],\n [\"yen\", \"\\xA5\"],\n [\"brvbar\", \"\\xA6\"],\n [\"sect\", \"\\xA7\"],\n [\"uml\", \"\\xA8\"],\n [\"copy\", \"\\xA9\"],\n [\"ordf\", \"\\xAA\"],\n [\"laquo\", \"\\xAB\"],\n [\"not\", \"\\xAC\"],\n [\"shy\", \"\\xAD\"],\n [\"reg\", \"\\xAE\"],\n [\"macr\", \"\\xAF\"],\n [\"deg\", \"\\xB0\"],\n [\"plusmn\", \"\\xB1\"],\n [\"sup2\", \"\\xB2\"],\n [\"sup3\", \"\\xB3\"],\n [\"acute\", \"\\xB4\"],\n [\"micro\", \"\\xB5\"],\n [\"para\", \"\\xB6\"],\n [\"middot\", \"\\xB7\"],\n [\"cedil\", \"\\xB8\"],\n [\"sup1\", \"\\xB9\"],\n [\"ordm\", \"\\xBA\"],\n [\"raquo\", \"\\xBB\"],\n [\"frac14\", \"\\xBC\"],\n [\"frac12\", \"\\xBD\"],\n [\"frac34\", \"\\xBE\"],\n [\"iquest\", \"\\xBF\"],\n [\"Agrave\", \"\\xC0\"],\n [\"Aacute\", \"\\xC1\"],\n [\"Acirc\", \"\\xC2\"],\n [\"Atilde\", \"\\xC3\"],\n [\"Auml\", \"\\xC4\"],\n [\"Aring\", \"\\xC5\"],\n [\"AElig\", \"\\xC6\"],\n [\"Ccedil\", \"\\xC7\"],\n [\"Egrave\", \"\\xC8\"],\n [\"Eacute\", \"\\xC9\"],\n [\"Ecirc\", \"\\xCA\"],\n [\"Euml\", \"\\xCB\"],\n [\"Igrave\", \"\\xCC\"],\n [\"Iacute\", \"\\xCD\"],\n [\"Icirc\", \"\\xCE\"],\n [\"Iuml\", \"\\xCF\"],\n [\"ETH\", \"\\xD0\"],\n [\"Ntilde\", \"\\xD1\"],\n [\"Ograve\", \"\\xD2\"],\n [\"Oacute\", \"\\xD3\"],\n [\"Ocirc\", \"\\xD4\"],\n [\"Otilde\", \"\\xD5\"],\n [\"Ouml\", \"\\xD6\"],\n [\"times\", \"\\xD7\"],\n [\"Oslash\", \"\\xD8\"],\n [\"Ugrave\", \"\\xD9\"],\n [\"Uacute\", \"\\xDA\"],\n [\"Ucirc\", \"\\xDB\"],\n [\"Uuml\", \"\\xDC\"],\n [\"Yacute\", \"\\xDD\"],\n [\"THORN\", \"\\xDE\"],\n [\"szlig\", \"\\xDF\"],\n [\"agrave\", \"\\xE0\"],\n [\"aacute\", \"\\xE1\"],\n [\"acirc\", \"\\xE2\"],\n [\"atilde\", \"\\xE3\"],\n [\"auml\", \"\\xE4\"],\n [\"aring\", \"\\xE5\"],\n [\"aelig\", \"\\xE6\"],\n [\"ccedil\", \"\\xE7\"],\n [\"egrave\", \"\\xE8\"],\n [\"eacute\", \"\\xE9\"],\n [\"ecirc\", \"\\xEA\"],\n [\"euml\", \"\\xEB\"],\n [\"igrave\", \"\\xEC\"],\n [\"iacute\", \"\\xED\"],\n [\"icirc\", \"\\xEE\"],\n [\"iuml\", \"\\xEF\"],\n [\"eth\", \"\\xF0\"],\n [\"ntilde\", \"\\xF1\"],\n [\"ograve\", \"\\xF2\"],\n [\"oacute\", \"\\xF3\"],\n [\"ocirc\", \"\\xF4\"],\n [\"otilde\", \"\\xF5\"],\n [\"ouml\", \"\\xF6\"],\n [\"divide\", \"\\xF7\"],\n [\"oslash\", \"\\xF8\"],\n [\"ugrave\", \"\\xF9\"],\n [\"uacute\", \"\\xFA\"],\n [\"ucirc\", \"\\xFB\"],\n [\"uuml\", \"\\xFC\"],\n [\"yacute\", \"\\xFD\"],\n [\"thorn\", \"\\xFE\"],\n [\"yuml\", \"\\xFF\"],\n [\"OElig\", \"\\u0152\"],\n [\"oelig\", \"\\u0153\"],\n [\"Scaron\", \"\\u0160\"],\n [\"scaron\", \"\\u0161\"],\n [\"Yuml\", \"\\u0178\"],\n [\"fnof\", \"\\u0192\"],\n [\"circ\", \"\\u02C6\"],\n [\"tilde\", \"\\u02DC\"],\n [\"Alpha\", \"\\u0391\"],\n [\"Beta\", \"\\u0392\"],\n [\"Gamma\", \"\\u0393\"],\n [\"Delta\", \"\\u0394\"],\n [\"Epsilon\", \"\\u0395\"],\n [\"Zeta\", \"\\u0396\"],\n [\"Eta\", \"\\u0397\"],\n [\"Theta\", \"\\u0398\"],\n [\"Iota\", \"\\u0399\"],\n [\"Kappa\", \"\\u039A\"],\n [\"Lambda\", \"\\u039B\"],\n [\"Mu\", \"\\u039C\"],\n [\"Nu\", \"\\u039D\"],\n [\"Xi\", \"\\u039E\"],\n [\"Omicron\", \"\\u039F\"],\n [\"Pi\", \"\\u03A0\"],\n [\"Rho\", \"\\u03A1\"],\n [\"Sigma\", \"\\u03A3\"],\n [\"Tau\", \"\\u03A4\"],\n [\"Upsilon\", \"\\u03A5\"],\n [\"Phi\", \"\\u03A6\"],\n [\"Chi\", \"\\u03A7\"],\n [\"Psi\", \"\\u03A8\"],\n [\"Omega\", \"\\u03A9\"],\n [\"alpha\", \"\\u03B1\"],\n [\"beta\", \"\\u03B2\"],\n [\"gamma\", \"\\u03B3\"],\n [\"delta\", \"\\u03B4\"],\n [\"epsilon\", \"\\u03B5\"],\n [\"zeta\", \"\\u03B6\"],\n [\"eta\", \"\\u03B7\"],\n [\"theta\", \"\\u03B8\"],\n [\"iota\", \"\\u03B9\"],\n [\"kappa\", \"\\u03BA\"],\n [\"lambda\", \"\\u03BB\"],\n [\"mu\", \"\\u03BC\"],\n [\"nu\", \"\\u03BD\"],\n [\"xi\", \"\\u03BE\"],\n [\"omicron\", \"\\u03BF\"],\n [\"pi\", \"\\u03C0\"],\n [\"rho\", \"\\u03C1\"],\n [\"sigmaf\", \"\\u03C2\"],\n [\"sigma\", \"\\u03C3\"],\n [\"tau\", \"\\u03C4\"],\n [\"upsilon\", \"\\u03C5\"],\n [\"phi\", \"\\u03C6\"],\n [\"chi\", \"\\u03C7\"],\n [\"psi\", \"\\u03C8\"],\n [\"omega\", \"\\u03C9\"],\n [\"thetasym\", \"\\u03D1\"],\n [\"upsih\", \"\\u03D2\"],\n [\"piv\", \"\\u03D6\"],\n [\"ensp\", \"\\u2002\"],\n [\"emsp\", \"\\u2003\"],\n [\"thinsp\", \"\\u2009\"],\n [\"zwnj\", \"\\u200C\"],\n [\"zwj\", \"\\u200D\"],\n [\"lrm\", \"\\u200E\"],\n [\"rlm\", \"\\u200F\"],\n [\"ndash\", \"\\u2013\"],\n [\"mdash\", \"\\u2014\"],\n [\"lsquo\", \"\\u2018\"],\n [\"rsquo\", \"\\u2019\"],\n [\"sbquo\", \"\\u201A\"],\n [\"ldquo\", \"\\u201C\"],\n [\"rdquo\", \"\\u201D\"],\n [\"bdquo\", \"\\u201E\"],\n [\"dagger\", \"\\u2020\"],\n [\"Dagger\", \"\\u2021\"],\n [\"bull\", \"\\u2022\"],\n [\"hellip\", \"\\u2026\"],\n [\"permil\", \"\\u2030\"],\n [\"prime\", \"\\u2032\"],\n [\"Prime\", \"\\u2033\"],\n [\"lsaquo\", \"\\u2039\"],\n [\"rsaquo\", \"\\u203A\"],\n [\"oline\", \"\\u203E\"],\n [\"frasl\", \"\\u2044\"],\n [\"euro\", \"\\u20AC\"],\n [\"image\", \"\\u2111\"],\n [\"weierp\", \"\\u2118\"],\n [\"real\", \"\\u211C\"],\n [\"trade\", \"\\u2122\"],\n [\"alefsym\", \"\\u2135\"],\n [\"larr\", \"\\u2190\"],\n [\"uarr\", \"\\u2191\"],\n [\"rarr\", \"\\u2192\"],\n [\"darr\", \"\\u2193\"],\n [\"harr\", \"\\u2194\"],\n [\"crarr\", \"\\u21B5\"],\n [\"lArr\", \"\\u21D0\"],\n [\"uArr\", \"\\u21D1\"],\n [\"rArr\", \"\\u21D2\"],\n [\"dArr\", \"\\u21D3\"],\n [\"hArr\", \"\\u21D4\"],\n [\"forall\", \"\\u2200\"],\n [\"part\", \"\\u2202\"],\n [\"exist\", \"\\u2203\"],\n [\"empty\", \"\\u2205\"],\n [\"nabla\", \"\\u2207\"],\n [\"isin\", \"\\u2208\"],\n [\"notin\", \"\\u2209\"],\n [\"ni\", \"\\u220B\"],\n [\"prod\", \"\\u220F\"],\n [\"sum\", \"\\u2211\"],\n [\"minus\", \"\\u2212\"],\n [\"lowast\", \"\\u2217\"],\n [\"radic\", \"\\u221A\"],\n [\"prop\", \"\\u221D\"],\n [\"infin\", \"\\u221E\"],\n [\"ang\", \"\\u2220\"],\n [\"and\", \"\\u2227\"],\n [\"or\", \"\\u2228\"],\n [\"cap\", \"\\u2229\"],\n [\"cup\", \"\\u222A\"],\n [\"int\", \"\\u222B\"],\n [\"there4\", \"\\u2234\"],\n [\"sim\", \"\\u223C\"],\n [\"cong\", \"\\u2245\"],\n [\"asymp\", \"\\u2248\"],\n [\"ne\", \"\\u2260\"],\n [\"equiv\", \"\\u2261\"],\n [\"le\", \"\\u2264\"],\n [\"ge\", \"\\u2265\"],\n [\"sub\", \"\\u2282\"],\n [\"sup\", \"\\u2283\"],\n [\"nsub\", \"\\u2284\"],\n [\"sube\", \"\\u2286\"],\n [\"supe\", \"\\u2287\"],\n [\"oplus\", \"\\u2295\"],\n [\"otimes\", \"\\u2297\"],\n [\"perp\", \"\\u22A5\"],\n [\"sdot\", \"\\u22C5\"],\n [\"lceil\", \"\\u2308\"],\n [\"rceil\", \"\\u2309\"],\n [\"lfloor\", \"\\u230A\"],\n [\"rfloor\", \"\\u230B\"],\n [\"lang\", \"\\u2329\"],\n [\"rang\", \"\\u232A\"],\n [\"loz\", \"\\u25CA\"],\n [\"spades\", \"\\u2660\"],\n [\"clubs\", \"\\u2663\"],\n [\"hearts\", \"\\u2665\"],\n [\"diams\", \"\\u2666\"]\n ]);\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getJSXPragmaInfo.js\n function getJSXPragmaInfo(options2) {\n const [base, suffix2] = splitPragma(options2.jsxPragma || \"React.createElement\");\n const [fragmentBase, fragmentSuffix] = splitPragma(options2.jsxFragmentPragma || \"React.Fragment\");\n return { base, suffix: suffix2, fragmentBase, fragmentSuffix };\n }\n function splitPragma(pragma) {\n let dotIndex = pragma.indexOf(\".\");\n if (dotIndex === -1) {\n dotIndex = pragma.length;\n }\n return [pragma.slice(0, dotIndex), pragma.slice(dotIndex)];\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/Transformer.js\n var Transformer = class {\n // Return true if anything was processed, false otherwise.\n getPrefixCode() {\n return \"\";\n }\n getHoistedCode() {\n return \"\";\n }\n getSuffixCode() {\n return \"\";\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/JSXTransformer.js\n var JSXTransformer = class _JSXTransformer extends Transformer {\n // State for calculating the line number of each JSX tag in development.\n __init() {\n this.lastLineNumber = 1;\n }\n __init2() {\n this.lastIndex = 0;\n }\n // In development, variable name holding the name of the current file.\n __init3() {\n this.filenameVarName = null;\n }\n // Mapping of claimed names for imports in the automatic transform, e,g.\n // {jsx: \"_jsx\"}. This determines which imports to generate in the prefix.\n __init4() {\n this.esmAutomaticImportNameResolutions = {};\n }\n // When automatically adding imports in CJS mode, we store the variable name\n // holding the imported CJS module so we can require it in the prefix.\n __init5() {\n this.cjsAutomaticModuleNameResolutions = {};\n }\n constructor(rootTransformer, tokens, importProcessor, nameManager, options2) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.nameManager = nameManager;\n this.options = options2;\n _JSXTransformer.prototype.__init.call(this);\n _JSXTransformer.prototype.__init2.call(this);\n _JSXTransformer.prototype.__init3.call(this);\n _JSXTransformer.prototype.__init4.call(this);\n _JSXTransformer.prototype.__init5.call(this);\n ;\n this.jsxPragmaInfo = getJSXPragmaInfo(options2);\n this.isAutomaticRuntime = options2.jsxRuntime === \"automatic\";\n this.jsxImportSource = options2.jsxImportSource || \"react\";\n }\n process() {\n if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.processJSXTag();\n return true;\n }\n return false;\n }\n getPrefixCode() {\n let prefix2 = \"\";\n if (this.filenameVarName) {\n prefix2 += `const ${this.filenameVarName} = ${JSON.stringify(this.options.filePath || \"\")};`;\n }\n if (this.isAutomaticRuntime) {\n if (this.importProcessor) {\n for (const [path2, resolvedName] of Object.entries(this.cjsAutomaticModuleNameResolutions)) {\n prefix2 += `var ${resolvedName} = require(\"${path2}\");`;\n }\n } else {\n const { createElement: createElementResolution, ...otherResolutions } = this.esmAutomaticImportNameResolutions;\n if (createElementResolution) {\n prefix2 += `import {createElement as ${createElementResolution}} from \"${this.jsxImportSource}\";`;\n }\n const importSpecifiers = Object.entries(otherResolutions).map(([name, resolvedName]) => `${name} as ${resolvedName}`).join(\", \");\n if (importSpecifiers) {\n const importPath = this.jsxImportSource + (this.options.production ? \"/jsx-runtime\" : \"/jsx-dev-runtime\");\n prefix2 += `import {${importSpecifiers}} from \"${importPath}\";`;\n }\n }\n }\n return prefix2;\n }\n processJSXTag() {\n const { jsxRole, start } = this.tokens.currentToken();\n const elementLocationCode = this.options.production ? null : this.getElementLocationCode(start);\n if (this.isAutomaticRuntime && jsxRole !== JSXRole.KeyAfterPropSpread) {\n this.transformTagToJSXFunc(elementLocationCode, jsxRole);\n } else {\n this.transformTagToCreateElement(elementLocationCode);\n }\n }\n getElementLocationCode(firstTokenStart) {\n const lineNumber = this.getLineNumberForIndex(firstTokenStart);\n return `lineNumber: ${lineNumber}`;\n }\n /**\n * Get the line number for this source position. This is calculated lazily and\n * must be called in increasing order by index.\n */\n getLineNumberForIndex(index2) {\n const code = this.tokens.code;\n while (this.lastIndex < index2 && this.lastIndex < code.length) {\n if (code[this.lastIndex] === \"\\n\") {\n this.lastLineNumber++;\n }\n this.lastIndex++;\n }\n return this.lastLineNumber;\n }\n /**\n * Convert the current JSX element to a call to jsx, jsxs, or jsxDEV. This is\n * the primary transformation for the automatic transform.\n *\n * Example:\n * <div a={1} key={2}>Hello{x}</div>\n * becomes\n * jsxs('div', {a: 1, children: [\"Hello\", x]}, 2)\n */\n transformTagToJSXFunc(elementLocationCode, jsxRole) {\n const isStatic = jsxRole === JSXRole.StaticChildren;\n this.tokens.replaceToken(this.getJSXFuncInvocationCode(isStatic));\n let keyCode = null;\n if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.replaceToken(`${this.getFragmentCode()}, {`);\n this.processAutomaticChildrenAndEndProps(jsxRole);\n } else {\n this.processTagIntro();\n this.tokens.appendCode(\", {\");\n keyCode = this.processProps(true);\n if (this.tokens.matches2(TokenType.slash, TokenType.jsxTagEnd)) {\n this.tokens.appendCode(\"}\");\n } else if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n this.processAutomaticChildrenAndEndProps(jsxRole);\n } else {\n throw new Error(\"Expected either /> or > at the end of the tag.\");\n }\n if (keyCode) {\n this.tokens.appendCode(`, ${keyCode}`);\n }\n }\n if (!this.options.production) {\n if (keyCode === null) {\n this.tokens.appendCode(\", void 0\");\n }\n this.tokens.appendCode(`, ${isStatic}, ${this.getDevSource(elementLocationCode)}, this`);\n }\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n }\n this.tokens.replaceToken(\")\");\n }\n /**\n * Convert the current JSX element to a createElement call. In the classic\n * runtime, this is the only case. In the automatic runtime, this is called\n * as a fallback in some situations.\n *\n * Example:\n * <div a={1} key={2}>Hello{x}</div>\n * becomes\n * React.createElement('div', {a: 1, key: 2}, \"Hello\", x)\n */\n transformTagToCreateElement(elementLocationCode) {\n this.tokens.replaceToken(this.getCreateElementInvocationCode());\n if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.replaceToken(`${this.getFragmentCode()}, null`);\n this.processChildren(true);\n } else {\n this.processTagIntro();\n this.processPropsObjectWithDevInfo(elementLocationCode);\n if (this.tokens.matches2(TokenType.slash, TokenType.jsxTagEnd)) {\n } else if (this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n this.processChildren(true);\n } else {\n throw new Error(\"Expected either /> or > at the end of the tag.\");\n }\n }\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.jsxTagEnd)) {\n this.tokens.removeToken();\n }\n this.tokens.replaceToken(\")\");\n }\n /**\n * Get the code for the relevant function for this context: jsx, jsxs,\n * or jsxDEV. The following open-paren is included as well.\n *\n * These functions are only used for the automatic runtime, so they are always\n * auto-imported, but the auto-import will be either CJS or ESM based on the\n * target module format.\n */\n getJSXFuncInvocationCode(isStatic) {\n if (this.options.production) {\n if (isStatic) {\n return this.claimAutoImportedFuncInvocation(\"jsxs\", \"/jsx-runtime\");\n } else {\n return this.claimAutoImportedFuncInvocation(\"jsx\", \"/jsx-runtime\");\n }\n } else {\n return this.claimAutoImportedFuncInvocation(\"jsxDEV\", \"/jsx-dev-runtime\");\n }\n }\n /**\n * Return the code to use for the createElement function, e.g.\n * `React.createElement`, including the following open-paren.\n *\n * This is the main function to use for the classic runtime. For the\n * automatic runtime, this function is used as a fallback function to\n * preserve behavior when there is a prop spread followed by an explicit\n * key. In that automatic runtime case, the function should be automatically\n * imported.\n */\n getCreateElementInvocationCode() {\n if (this.isAutomaticRuntime) {\n return this.claimAutoImportedFuncInvocation(\"createElement\", \"\");\n } else {\n const { jsxPragmaInfo } = this;\n const resolvedPragmaBaseName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(jsxPragmaInfo.base) || jsxPragmaInfo.base : jsxPragmaInfo.base;\n return `${resolvedPragmaBaseName}${jsxPragmaInfo.suffix}(`;\n }\n }\n /**\n * Return the code to use as the component when compiling a shorthand\n * fragment, e.g. `React.Fragment`.\n *\n * This may be called from either the classic or automatic runtime, and\n * the value should be auto-imported for the automatic runtime.\n */\n getFragmentCode() {\n if (this.isAutomaticRuntime) {\n return this.claimAutoImportedName(\n \"Fragment\",\n this.options.production ? \"/jsx-runtime\" : \"/jsx-dev-runtime\"\n );\n } else {\n const { jsxPragmaInfo } = this;\n const resolvedFragmentPragmaBaseName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(jsxPragmaInfo.fragmentBase) || jsxPragmaInfo.fragmentBase : jsxPragmaInfo.fragmentBase;\n return resolvedFragmentPragmaBaseName + jsxPragmaInfo.fragmentSuffix;\n }\n }\n /**\n * Return code that invokes the given function.\n *\n * When the imports transform is enabled, use the CJSImportTransformer\n * strategy of using `.call(void 0, ...` to avoid passing a `this` value in a\n * situation that would otherwise look like a method call.\n */\n claimAutoImportedFuncInvocation(funcName, importPathSuffix) {\n const funcCode = this.claimAutoImportedName(funcName, importPathSuffix);\n if (this.importProcessor) {\n return `${funcCode}.call(void 0, `;\n } else {\n return `${funcCode}(`;\n }\n }\n claimAutoImportedName(funcName, importPathSuffix) {\n if (this.importProcessor) {\n const path2 = this.jsxImportSource + importPathSuffix;\n if (!this.cjsAutomaticModuleNameResolutions[path2]) {\n this.cjsAutomaticModuleNameResolutions[path2] = this.importProcessor.getFreeIdentifierForPath(path2);\n }\n return `${this.cjsAutomaticModuleNameResolutions[path2]}.${funcName}`;\n } else {\n if (!this.esmAutomaticImportNameResolutions[funcName]) {\n this.esmAutomaticImportNameResolutions[funcName] = this.nameManager.claimFreeName(\n `_${funcName}`\n );\n }\n return this.esmAutomaticImportNameResolutions[funcName];\n }\n }\n /**\n * Process the first part of a tag, before any props.\n */\n processTagIntro() {\n let introEnd = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[introEnd].isType || !this.tokens.matches2AtIndex(introEnd - 1, TokenType.jsxName, TokenType.jsxName) && !this.tokens.matches2AtIndex(introEnd - 1, TokenType.greaterThan, TokenType.jsxName) && !this.tokens.matches1AtIndex(introEnd, TokenType.braceL) && !this.tokens.matches1AtIndex(introEnd, TokenType.jsxTagEnd) && !this.tokens.matches2AtIndex(introEnd, TokenType.slash, TokenType.jsxTagEnd)) {\n introEnd++;\n }\n if (introEnd === this.tokens.currentIndex() + 1) {\n const tagName = this.tokens.identifierName();\n if (startsWithLowerCase(tagName)) {\n this.tokens.replaceToken(`'${tagName}'`);\n }\n }\n while (this.tokens.currentIndex() < introEnd) {\n this.rootTransformer.processToken();\n }\n }\n /**\n * Starting at the beginning of the props, add the props argument to\n * React.createElement, including the comma before it.\n */\n processPropsObjectWithDevInfo(elementLocationCode) {\n const devProps = this.options.production ? \"\" : `__self: this, __source: ${this.getDevSource(elementLocationCode)}`;\n if (!this.tokens.matches1(TokenType.jsxName) && !this.tokens.matches1(TokenType.braceL)) {\n if (devProps) {\n this.tokens.appendCode(`, {${devProps}}`);\n } else {\n this.tokens.appendCode(`, null`);\n }\n return;\n }\n this.tokens.appendCode(`, {`);\n this.processProps(false);\n if (devProps) {\n this.tokens.appendCode(` ${devProps}}`);\n } else {\n this.tokens.appendCode(\"}\");\n }\n }\n /**\n * Transform the core part of the props, assuming that a { has already been\n * inserted before us and that a } will be inserted after us.\n *\n * If extractKeyCode is true (i.e. when using any jsx... function), any prop\n * named \"key\" has its code captured and returned rather than being emitted to\n * the output code. This shifts line numbers, and emitting the code later will\n * correct line numbers again. If no key is found or if extractKeyCode is\n * false, this function returns null.\n */\n processProps(extractKeyCode) {\n let keyCode = null;\n while (true) {\n if (this.tokens.matches2(TokenType.jsxName, TokenType.eq)) {\n const propName = this.tokens.identifierName();\n if (extractKeyCode && propName === \"key\") {\n if (keyCode !== null) {\n this.tokens.appendCode(keyCode.replace(/[^\\n]/g, \"\"));\n }\n this.tokens.removeToken();\n this.tokens.removeToken();\n const snapshot = this.tokens.snapshot();\n this.processPropValue();\n keyCode = this.tokens.dangerouslyGetAndRemoveCodeSinceSnapshot(snapshot);\n continue;\n } else {\n this.processPropName(propName);\n this.tokens.replaceToken(\": \");\n this.processPropValue();\n }\n } else if (this.tokens.matches1(TokenType.jsxName)) {\n const propName = this.tokens.identifierName();\n this.processPropName(propName);\n this.tokens.appendCode(\": true\");\n } else if (this.tokens.matches1(TokenType.braceL)) {\n this.tokens.replaceToken(\"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n } else {\n break;\n }\n this.tokens.appendCode(\",\");\n }\n return keyCode;\n }\n processPropName(propName) {\n if (propName.includes(\"-\")) {\n this.tokens.replaceToken(`'${propName}'`);\n } else {\n this.tokens.copyToken();\n }\n }\n processPropValue() {\n if (this.tokens.matches1(TokenType.braceL)) {\n this.tokens.replaceToken(\"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n } else if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.processJSXTag();\n } else {\n this.processStringPropValue();\n }\n }\n processStringPropValue() {\n const token = this.tokens.currentToken();\n const valueCode = this.tokens.code.slice(token.start + 1, token.end - 1);\n const replacementCode = formatJSXTextReplacement(valueCode);\n const literalCode = formatJSXStringValueLiteral(valueCode);\n this.tokens.replaceToken(literalCode + replacementCode);\n }\n /**\n * Starting in the middle of the props object literal, produce an additional\n * prop for the children and close the object literal.\n */\n processAutomaticChildrenAndEndProps(jsxRole) {\n if (jsxRole === JSXRole.StaticChildren) {\n this.tokens.appendCode(\" children: [\");\n this.processChildren(false);\n this.tokens.appendCode(\"]}\");\n } else {\n if (jsxRole === JSXRole.OneChild) {\n this.tokens.appendCode(\" children: \");\n }\n this.processChildren(false);\n this.tokens.appendCode(\"}\");\n }\n }\n /**\n * Transform children into a comma-separated list, which will be either\n * arguments to createElement or array elements of a children prop.\n */\n processChildren(needsInitialComma) {\n let needsComma = needsInitialComma;\n while (true) {\n if (this.tokens.matches2(TokenType.jsxTagStart, TokenType.slash)) {\n return;\n }\n let didEmitElement = false;\n if (this.tokens.matches1(TokenType.braceL)) {\n if (this.tokens.matches2(TokenType.braceL, TokenType.braceR)) {\n this.tokens.replaceToken(\"\");\n this.tokens.replaceToken(\"\");\n } else {\n this.tokens.replaceToken(needsComma ? \", \" : \"\");\n this.rootTransformer.processBalancedCode();\n this.tokens.replaceToken(\"\");\n didEmitElement = true;\n }\n } else if (this.tokens.matches1(TokenType.jsxTagStart)) {\n this.tokens.appendCode(needsComma ? \", \" : \"\");\n this.processJSXTag();\n didEmitElement = true;\n } else if (this.tokens.matches1(TokenType.jsxText) || this.tokens.matches1(TokenType.jsxEmptyText)) {\n didEmitElement = this.processChildTextElement(needsComma);\n } else {\n throw new Error(\"Unexpected token when processing JSX children.\");\n }\n if (didEmitElement) {\n needsComma = true;\n }\n }\n }\n /**\n * Turn a JSX text element into a string literal, or nothing at all if the JSX\n * text resolves to the empty string.\n *\n * Returns true if a string literal is emitted, false otherwise.\n */\n processChildTextElement(needsComma) {\n const token = this.tokens.currentToken();\n const valueCode = this.tokens.code.slice(token.start, token.end);\n const replacementCode = formatJSXTextReplacement(valueCode);\n const literalCode = formatJSXTextLiteral(valueCode);\n if (literalCode === '\"\"') {\n this.tokens.replaceToken(replacementCode);\n return false;\n } else {\n this.tokens.replaceToken(`${needsComma ? \", \" : \"\"}${literalCode}${replacementCode}`);\n return true;\n }\n }\n getDevSource(elementLocationCode) {\n return `{fileName: ${this.getFilenameVarName()}, ${elementLocationCode}}`;\n }\n getFilenameVarName() {\n if (!this.filenameVarName) {\n this.filenameVarName = this.nameManager.claimFreeName(\"_jsxFileName\");\n }\n return this.filenameVarName;\n }\n };\n function startsWithLowerCase(s2) {\n const firstChar = s2.charCodeAt(0);\n return firstChar >= charCodes.lowercaseA && firstChar <= charCodes.lowercaseZ;\n }\n function formatJSXTextLiteral(text) {\n let result = \"\";\n let whitespace = \"\";\n let isInInitialLineWhitespace = false;\n let seenNonWhitespace = false;\n for (let i = 0; i < text.length; i++) {\n const c2 = text[i];\n if (c2 === \" \" || c2 === \"\t\" || c2 === \"\\r\") {\n if (!isInInitialLineWhitespace) {\n whitespace += c2;\n }\n } else if (c2 === \"\\n\") {\n whitespace = \"\";\n isInInitialLineWhitespace = true;\n } else {\n if (seenNonWhitespace && isInInitialLineWhitespace) {\n result += \" \";\n }\n result += whitespace;\n whitespace = \"\";\n if (c2 === \"&\") {\n const { entity, newI } = processEntity(text, i + 1);\n i = newI - 1;\n result += entity;\n } else {\n result += c2;\n }\n seenNonWhitespace = true;\n isInInitialLineWhitespace = false;\n }\n }\n if (!isInInitialLineWhitespace) {\n result += whitespace;\n }\n return JSON.stringify(result);\n }\n function formatJSXTextReplacement(text) {\n let numNewlines = 0;\n let numSpaces = 0;\n for (const c2 of text) {\n if (c2 === \"\\n\") {\n numNewlines++;\n numSpaces = 0;\n } else if (c2 === \" \") {\n numSpaces++;\n }\n }\n return \"\\n\".repeat(numNewlines) + \" \".repeat(numSpaces);\n }\n function formatJSXStringValueLiteral(text) {\n let result = \"\";\n for (let i = 0; i < text.length; i++) {\n const c2 = text[i];\n if (c2 === \"\\n\") {\n if (/\\s/.test(text[i + 1])) {\n result += \" \";\n while (i < text.length && /\\s/.test(text[i + 1])) {\n i++;\n }\n } else {\n result += \"\\n\";\n }\n } else if (c2 === \"&\") {\n const { entity, newI } = processEntity(text, i + 1);\n result += entity;\n i = newI - 1;\n } else {\n result += c2;\n }\n }\n return JSON.stringify(result);\n }\n function processEntity(text, indexAfterAmpersand) {\n let str = \"\";\n let count3 = 0;\n let entity;\n let i = indexAfterAmpersand;\n if (text[i] === \"#\") {\n let radix = 10;\n i++;\n let numStart;\n if (text[i] === \"x\") {\n radix = 16;\n i++;\n numStart = i;\n while (i < text.length && isHexDigit(text.charCodeAt(i))) {\n i++;\n }\n } else {\n numStart = i;\n while (i < text.length && isDecimalDigit(text.charCodeAt(i))) {\n i++;\n }\n }\n if (text[i] === \";\") {\n const numStr = text.slice(numStart, i);\n if (numStr) {\n i++;\n entity = String.fromCodePoint(parseInt(numStr, radix));\n }\n }\n } else {\n while (i < text.length && count3++ < 10) {\n const ch = text[i];\n i++;\n if (ch === \";\") {\n entity = xhtml_default.get(str);\n break;\n }\n str += ch;\n }\n }\n if (!entity) {\n return { entity: \"&\", newI: indexAfterAmpersand };\n }\n return { entity, newI: i };\n }\n function isDecimalDigit(code) {\n return code >= charCodes.digit0 && code <= charCodes.digit9;\n }\n function isHexDigit(code) {\n return code >= charCodes.digit0 && code <= charCodes.digit9 || code >= charCodes.lowercaseA && code <= charCodes.lowercaseF || code >= charCodes.uppercaseA && code <= charCodes.uppercaseF;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getNonTypeIdentifiers.js\n function getNonTypeIdentifiers(tokens, options2) {\n const jsxPragmaInfo = getJSXPragmaInfo(options2);\n const nonTypeIdentifiers = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n const token = tokens.tokens[i];\n if (token.type === TokenType.name && !token.isType && (token.identifierRole === IdentifierRole.Access || token.identifierRole === IdentifierRole.ObjectShorthand || token.identifierRole === IdentifierRole.ExportAccess) && !token.shadowsGlobal) {\n nonTypeIdentifiers.add(tokens.identifierNameForToken(token));\n }\n if (token.type === TokenType.jsxTagStart) {\n nonTypeIdentifiers.add(jsxPragmaInfo.base);\n }\n if (token.type === TokenType.jsxTagStart && i + 1 < tokens.tokens.length && tokens.tokens[i + 1].type === TokenType.jsxTagEnd) {\n nonTypeIdentifiers.add(jsxPragmaInfo.base);\n nonTypeIdentifiers.add(jsxPragmaInfo.fragmentBase);\n }\n if (token.type === TokenType.jsxName && token.identifierRole === IdentifierRole.Access) {\n const identifierName = tokens.identifierNameForToken(token);\n if (!startsWithLowerCase(identifierName) || tokens.tokens[i + 1].type === TokenType.dot) {\n nonTypeIdentifiers.add(tokens.identifierNameForToken(token));\n }\n }\n }\n return nonTypeIdentifiers;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/CJSImportProcessor.js\n var CJSImportProcessor = class _CJSImportProcessor {\n __init() {\n this.nonTypeIdentifiers = /* @__PURE__ */ new Set();\n }\n __init2() {\n this.importInfoByPath = /* @__PURE__ */ new Map();\n }\n __init3() {\n this.importsToReplace = /* @__PURE__ */ new Map();\n }\n __init4() {\n this.identifierReplacements = /* @__PURE__ */ new Map();\n }\n __init5() {\n this.exportBindingsByLocalName = /* @__PURE__ */ new Map();\n }\n constructor(nameManager, tokens, enableLegacyTypeScriptModuleInterop, options2, isTypeScriptTransformEnabled, keepUnusedImports, helperManager) {\n ;\n this.nameManager = nameManager;\n this.tokens = tokens;\n this.enableLegacyTypeScriptModuleInterop = enableLegacyTypeScriptModuleInterop;\n this.options = options2;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.keepUnusedImports = keepUnusedImports;\n this.helperManager = helperManager;\n _CJSImportProcessor.prototype.__init.call(this);\n _CJSImportProcessor.prototype.__init2.call(this);\n _CJSImportProcessor.prototype.__init3.call(this);\n _CJSImportProcessor.prototype.__init4.call(this);\n _CJSImportProcessor.prototype.__init5.call(this);\n }\n preprocessTokens() {\n for (let i = 0; i < this.tokens.tokens.length; i++) {\n if (this.tokens.matches1AtIndex(i, TokenType._import) && !this.tokens.matches3AtIndex(i, TokenType._import, TokenType.name, TokenType.eq)) {\n this.preprocessImportAtIndex(i);\n }\n if (this.tokens.matches1AtIndex(i, TokenType._export) && !this.tokens.matches2AtIndex(i, TokenType._export, TokenType.eq)) {\n this.preprocessExportAtIndex(i);\n }\n }\n this.generateImportReplacements();\n }\n /**\n * In TypeScript, import statements that only import types should be removed.\n * This includes `import {} from 'foo';`, but not `import 'foo';`.\n */\n pruneTypeOnlyImports() {\n this.nonTypeIdentifiers = getNonTypeIdentifiers(this.tokens, this.options);\n for (const [path2, importInfo] of this.importInfoByPath.entries()) {\n if (importInfo.hasBareImport || importInfo.hasStarExport || importInfo.exportStarNames.length > 0 || importInfo.namedExports.length > 0) {\n continue;\n }\n const names = [\n ...importInfo.defaultNames,\n ...importInfo.wildcardNames,\n ...importInfo.namedImports.map(({ localName }) => localName)\n ];\n if (names.every((name) => this.shouldAutomaticallyElideImportedName(name))) {\n this.importsToReplace.set(path2, \"\");\n }\n }\n }\n shouldAutomaticallyElideImportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.nonTypeIdentifiers.has(name);\n }\n generateImportReplacements() {\n for (const [path2, importInfo] of this.importInfoByPath.entries()) {\n const {\n defaultNames,\n wildcardNames,\n namedImports,\n namedExports,\n exportStarNames,\n hasStarExport\n } = importInfo;\n if (defaultNames.length === 0 && wildcardNames.length === 0 && namedImports.length === 0 && namedExports.length === 0 && exportStarNames.length === 0 && !hasStarExport) {\n this.importsToReplace.set(path2, `require('${path2}');`);\n continue;\n }\n const primaryImportName = this.getFreeIdentifierForPath(path2);\n let secondaryImportName;\n if (this.enableLegacyTypeScriptModuleInterop) {\n secondaryImportName = primaryImportName;\n } else {\n secondaryImportName = wildcardNames.length > 0 ? wildcardNames[0] : this.getFreeIdentifierForPath(path2);\n }\n let requireCode = `var ${primaryImportName} = require('${path2}');`;\n if (wildcardNames.length > 0) {\n for (const wildcardName of wildcardNames) {\n const moduleExpr = this.enableLegacyTypeScriptModuleInterop ? primaryImportName : `${this.helperManager.getHelperName(\"interopRequireWildcard\")}(${primaryImportName})`;\n requireCode += ` var ${wildcardName} = ${moduleExpr};`;\n }\n } else if (exportStarNames.length > 0 && secondaryImportName !== primaryImportName) {\n requireCode += ` var ${secondaryImportName} = ${this.helperManager.getHelperName(\n \"interopRequireWildcard\"\n )}(${primaryImportName});`;\n } else if (defaultNames.length > 0 && secondaryImportName !== primaryImportName) {\n requireCode += ` var ${secondaryImportName} = ${this.helperManager.getHelperName(\n \"interopRequireDefault\"\n )}(${primaryImportName});`;\n }\n for (const { importedName, localName } of namedExports) {\n requireCode += ` ${this.helperManager.getHelperName(\n \"createNamedExportFrom\"\n )}(${primaryImportName}, '${localName}', '${importedName}');`;\n }\n for (const exportStarName of exportStarNames) {\n requireCode += ` exports.${exportStarName} = ${secondaryImportName};`;\n }\n if (hasStarExport) {\n requireCode += ` ${this.helperManager.getHelperName(\n \"createStarExport\"\n )}(${primaryImportName});`;\n }\n this.importsToReplace.set(path2, requireCode);\n for (const defaultName of defaultNames) {\n this.identifierReplacements.set(defaultName, `${secondaryImportName}.default`);\n }\n for (const { importedName, localName } of namedImports) {\n this.identifierReplacements.set(localName, `${primaryImportName}.${importedName}`);\n }\n }\n }\n getFreeIdentifierForPath(path2) {\n const components = path2.split(\"/\");\n const lastComponent = components[components.length - 1];\n const baseName = lastComponent.replace(/\\W/g, \"\");\n return this.nameManager.claimFreeName(`_${baseName}`);\n }\n preprocessImportAtIndex(index2) {\n const defaultNames = [];\n const wildcardNames = [];\n const namedImports = [];\n index2++;\n if ((this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._type) || this.tokens.matches1AtIndex(index2, TokenType._typeof)) && !this.tokens.matches1AtIndex(index2 + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(index2 + 1, ContextualKeyword._from)) {\n return;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.parenL)) {\n return;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.name)) {\n defaultNames.push(this.tokens.identifierNameAtIndex(index2));\n index2++;\n if (this.tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n }\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.star)) {\n index2 += 2;\n wildcardNames.push(this.tokens.identifierNameAtIndex(index2));\n index2++;\n }\n if (this.tokens.matches1AtIndex(index2, TokenType.braceL)) {\n const result = this.getNamedImports(index2 + 1);\n index2 = result.newIndex;\n for (const namedImport of result.namedImports) {\n if (namedImport.importedName === \"default\") {\n defaultNames.push(namedImport.localName);\n } else {\n namedImports.push(namedImport);\n }\n }\n }\n if (this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._from)) {\n index2++;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of import statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n importInfo.defaultNames.push(...defaultNames);\n importInfo.wildcardNames.push(...wildcardNames);\n importInfo.namedImports.push(...namedImports);\n if (defaultNames.length === 0 && wildcardNames.length === 0 && namedImports.length === 0) {\n importInfo.hasBareImport = true;\n }\n }\n preprocessExportAtIndex(index2) {\n if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._var) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._let) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._const)) {\n this.preprocessVarExportAtIndex(index2);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._function) || this.tokens.matches2AtIndex(index2, TokenType._export, TokenType._class)) {\n const exportName = this.tokens.identifierNameAtIndex(index2 + 2);\n this.addExportBinding(exportName, exportName);\n } else if (this.tokens.matches3AtIndex(index2, TokenType._export, TokenType.name, TokenType._function)) {\n const exportName = this.tokens.identifierNameAtIndex(index2 + 3);\n this.addExportBinding(exportName, exportName);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType.braceL)) {\n this.preprocessNamedExportAtIndex(index2);\n } else if (this.tokens.matches2AtIndex(index2, TokenType._export, TokenType.star)) {\n this.preprocessExportStarAtIndex(index2);\n }\n }\n preprocessVarExportAtIndex(index2) {\n let depth = 0;\n for (let i = index2 + 2; ; i++) {\n if (this.tokens.matches1AtIndex(i, TokenType.braceL) || this.tokens.matches1AtIndex(i, TokenType.dollarBraceL) || this.tokens.matches1AtIndex(i, TokenType.bracketL)) {\n depth++;\n } else if (this.tokens.matches1AtIndex(i, TokenType.braceR) || this.tokens.matches1AtIndex(i, TokenType.bracketR)) {\n depth--;\n } else if (depth === 0 && !this.tokens.matches1AtIndex(i, TokenType.name)) {\n break;\n } else if (this.tokens.matches1AtIndex(1, TokenType.eq)) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n i = endIndex - 1;\n } else {\n const token = this.tokens.tokens[i];\n if (isDeclaration(token)) {\n const exportName = this.tokens.identifierNameAtIndex(i);\n this.identifierReplacements.set(exportName, `exports.${exportName}`);\n }\n }\n }\n }\n /**\n * Walk this export statement just in case it's an export...from statement.\n * If it is, combine it into the import info for that path. Otherwise, just\n * bail out; it'll be handled later.\n */\n preprocessNamedExportAtIndex(index2) {\n index2 += 2;\n const { newIndex, namedImports } = this.getNamedImports(index2);\n index2 = newIndex;\n if (this.tokens.matchesContextualAtIndex(index2, ContextualKeyword._from)) {\n index2++;\n } else {\n for (const { importedName: localName, localName: exportedName } of namedImports) {\n this.addExportBinding(localName, exportedName);\n }\n return;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of import statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n importInfo.namedExports.push(...namedImports);\n }\n preprocessExportStarAtIndex(index2) {\n let exportedName = null;\n if (this.tokens.matches3AtIndex(index2, TokenType._export, TokenType.star, TokenType._as)) {\n index2 += 3;\n exportedName = this.tokens.identifierNameAtIndex(index2);\n index2 += 2;\n } else {\n index2 += 3;\n }\n if (!this.tokens.matches1AtIndex(index2, TokenType.string)) {\n throw new Error(\"Expected string token at the end of star export statement.\");\n }\n const path2 = this.tokens.stringValueAtIndex(index2);\n const importInfo = this.getImportInfo(path2);\n if (exportedName !== null) {\n importInfo.exportStarNames.push(exportedName);\n } else {\n importInfo.hasStarExport = true;\n }\n }\n getNamedImports(index2) {\n const namedImports = [];\n while (true) {\n if (this.tokens.matches1AtIndex(index2, TokenType.braceR)) {\n index2++;\n break;\n }\n const specifierInfo = getImportExportSpecifierInfo(this.tokens, index2);\n index2 = specifierInfo.endIndex;\n if (!specifierInfo.isType) {\n namedImports.push({\n importedName: specifierInfo.leftName,\n localName: specifierInfo.rightName\n });\n }\n if (this.tokens.matches2AtIndex(index2, TokenType.comma, TokenType.braceR)) {\n index2 += 2;\n break;\n } else if (this.tokens.matches1AtIndex(index2, TokenType.braceR)) {\n index2++;\n break;\n } else if (this.tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.tokens[index2])}`);\n }\n }\n return { newIndex: index2, namedImports };\n }\n /**\n * Get a mutable import info object for this path, creating one if it doesn't\n * exist yet.\n */\n getImportInfo(path2) {\n const existingInfo = this.importInfoByPath.get(path2);\n if (existingInfo) {\n return existingInfo;\n }\n const newInfo = {\n defaultNames: [],\n wildcardNames: [],\n namedImports: [],\n namedExports: [],\n hasBareImport: false,\n exportStarNames: [],\n hasStarExport: false\n };\n this.importInfoByPath.set(path2, newInfo);\n return newInfo;\n }\n addExportBinding(localName, exportedName) {\n if (!this.exportBindingsByLocalName.has(localName)) {\n this.exportBindingsByLocalName.set(localName, []);\n }\n this.exportBindingsByLocalName.get(localName).push(exportedName);\n }\n /**\n * Return the code to use for the import for this path, or the empty string if\n * the code has already been \"claimed\" by a previous import.\n */\n claimImportCode(importPath) {\n const result = this.importsToReplace.get(importPath);\n this.importsToReplace.set(importPath, \"\");\n return result || \"\";\n }\n getIdentifierReplacement(identifierName) {\n return this.identifierReplacements.get(identifierName) || null;\n }\n /**\n * Return a string like `exports.foo = exports.bar`.\n */\n resolveExportBinding(assignedName) {\n const exportedNames = this.exportBindingsByLocalName.get(assignedName);\n if (!exportedNames || exportedNames.length === 0) {\n return null;\n }\n return exportedNames.map((exportedName) => `exports.${exportedName}`).join(\" = \");\n }\n /**\n * Return all imported/exported names where we might be interested in whether usages of those\n * names are shadowed.\n */\n getGlobalNames() {\n return /* @__PURE__ */ new Set([\n ...this.identifierReplacements.keys(),\n ...this.exportBindingsByLocalName.keys()\n ]);\n }\n };\n\n // ../../../node_modules/.bun/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs\n var comma = \",\".charCodeAt(0);\n var semicolon2 = \";\".charCodeAt(0);\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var intToChar = new Uint8Array(64);\n var charToInt = new Uint8Array(128);\n for (let i = 0; i < chars.length; i++) {\n const c2 = chars.charCodeAt(i);\n intToChar[i] = c2;\n charToInt[c2] = i;\n }\n function encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n }\n var bufLength = 1024 * 16;\n var td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n } : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n };\n var StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n };\n function encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon2);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n }\n\n // ../../../node_modules/.bun/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs\n var import_resolve_uri = __toESM(require_resolve_uri_umd(), 1);\n\n // ../../../node_modules/.bun/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs\n var SetArray = class {\n constructor() {\n this._indexes = { __proto__: null };\n this.array = [];\n }\n };\n function cast(set3) {\n return set3;\n }\n function get(setarr, key) {\n return cast(setarr)._indexes[key];\n }\n function put(setarr, key) {\n const index2 = get(setarr, key);\n if (index2 !== void 0) return index2;\n const { array: array2, _indexes: indexes } = cast(setarr);\n const length = array2.push(key);\n return indexes[key] = length - 1;\n }\n var COLUMN = 0;\n var SOURCES_INDEX = 1;\n var SOURCE_LINE = 2;\n var SOURCE_COLUMN = 3;\n var NAMES_INDEX = 4;\n var NO_NAME = -1;\n var GenMapping = class {\n constructor({ file, sourceRoot } = {}) {\n this._names = new SetArray();\n this._sources = new SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new SetArray();\n }\n };\n function cast2(map2) {\n return map2;\n }\n var maybeAddSegment = (map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {\n return addSegmentInternal(\n true,\n map2,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content\n );\n };\n function toDecodedMap(map2) {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n _ignoreList: ignoreList\n // _originalScopes: originalScopes,\n // _generatedRanges: generatedRanges,\n } = cast2(map2);\n removeEmptyFinalLines(mappings);\n return {\n version: 3,\n file: map2.file || void 0,\n names: names.array,\n sourceRoot: map2.sourceRoot || void 0,\n sources: sources.array,\n sourcesContent,\n mappings,\n // originalScopes,\n // generatedRanges,\n ignoreList: ignoreList.array\n };\n }\n function toEncodedMap(map2) {\n const decoded = toDecodedMap(map2);\n return Object.assign({}, decoded, {\n // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)),\n // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]),\n mappings: encode(decoded.mappings)\n });\n }\n function addSegmentInternal(skipable, map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names\n // _originalScopes: originalScopes,\n } = cast2(map2);\n const line = getIndex(mappings, genLine);\n const index2 = getColumnIndex(line, genColumn);\n if (!source) {\n if (skipable && skipSourceless(line, index2)) return;\n return insert(line, index2, [genColumn]);\n }\n assert(sourceLine);\n assert(sourceColumn);\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content != null ? content : null;\n if (skipable && skipSource(line, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n return insert(\n line,\n index2,\n name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]\n );\n }\n function assert(_val) {\n }\n function getIndex(arr, index2) {\n for (let i = arr.length; i <= index2; i++) {\n arr[i] = [];\n }\n return arr[index2];\n }\n function getColumnIndex(line, genColumn) {\n let index2 = line.length;\n for (let i = index2 - 1; i >= 0; index2 = i--) {\n const current3 = line[i];\n if (genColumn >= current3[COLUMN]) break;\n }\n return index2;\n }\n function insert(array2, index2, value) {\n for (let i = array2.length; i > index2; i--) {\n array2[i] = array2[i - 1];\n }\n array2[index2] = value;\n }\n function removeEmptyFinalLines(mappings) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n }\n function skipSourceless(line, index2) {\n if (index2 === 0) return true;\n const prev = line[index2 - 1];\n return prev.length === 1;\n }\n function skipSource(line, index2, sourcesIndex, sourceLine, sourceColumn, namesIndex) {\n if (index2 === 0) return false;\n const prev = line[index2 - 1];\n if (prev.length === 1) return false;\n return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/computeSourceMap.js\n function computeSourceMap({ code: generatedCode, mappings: rawMappings }, filePath, options2, source, tokens) {\n const sourceColumns = computeSourceColumns(source, tokens);\n const map2 = new GenMapping({ file: options2.compiledFilename });\n let tokenIndex = 0;\n let currentMapping = rawMappings[0];\n while (currentMapping === void 0 && tokenIndex < rawMappings.length - 1) {\n tokenIndex++;\n currentMapping = rawMappings[tokenIndex];\n }\n let line = 0;\n let lineStart = 0;\n if (currentMapping !== lineStart) {\n maybeAddSegment(map2, line, 0, filePath, line, 0);\n }\n for (let i = 0; i < generatedCode.length; i++) {\n if (i === currentMapping) {\n const genColumn = currentMapping - lineStart;\n const sourceColumn = sourceColumns[tokenIndex];\n maybeAddSegment(map2, line, genColumn, filePath, line, sourceColumn);\n while ((currentMapping === i || currentMapping === void 0) && tokenIndex < rawMappings.length - 1) {\n tokenIndex++;\n currentMapping = rawMappings[tokenIndex];\n }\n }\n if (generatedCode.charCodeAt(i) === charCodes.lineFeed) {\n line++;\n lineStart = i + 1;\n if (currentMapping !== lineStart) {\n maybeAddSegment(map2, line, 0, filePath, line, 0);\n }\n }\n }\n const { sourceRoot, sourcesContent, ...sourceMap } = toEncodedMap(map2);\n return sourceMap;\n }\n function computeSourceColumns(code, tokens) {\n const sourceColumns = new Array(tokens.length);\n let tokenIndex = 0;\n let currentMapping = tokens[tokenIndex].start;\n let lineStart = 0;\n for (let i = 0; i < code.length; i++) {\n if (i === currentMapping) {\n sourceColumns[tokenIndex] = currentMapping - lineStart;\n tokenIndex++;\n currentMapping = tokens[tokenIndex].start;\n }\n if (code.charCodeAt(i) === charCodes.lineFeed) {\n lineStart = i + 1;\n }\n }\n return sourceColumns;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/HelperManager.js\n var HELPERS = {\n require: `\n import {createRequire as CREATE_REQUIRE_NAME} from \"module\";\n const require = CREATE_REQUIRE_NAME(import.meta.url);\n `,\n interopRequireWildcard: `\n function interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n }\n `,\n interopRequireDefault: `\n function interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n `,\n createNamedExportFrom: `\n function createNamedExportFrom(obj, localName, importedName) {\n Object.defineProperty(exports, localName, {enumerable: true, configurable: true, get: () => obj[importedName]});\n }\n `,\n // Note that TypeScript and Babel do this differently; TypeScript does a simple existence\n // check in the exports object and does a plain assignment, whereas Babel uses\n // defineProperty and builds an object of explicitly-exported names so that star exports can\n // always take lower precedence. For now, we do the easier TypeScript thing.\n createStarExport: `\n function createStarExport(obj) {\n Object.keys(obj)\n .filter((key) => key !== \"default\" && key !== \"__esModule\")\n .forEach((key) => {\n if (exports.hasOwnProperty(key)) {\n return;\n }\n Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]});\n });\n }\n `,\n nullishCoalesce: `\n function nullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return rhsFn();\n }\n }\n `,\n asyncNullishCoalesce: `\n async function asyncNullishCoalesce(lhs, rhsFn) {\n if (lhs != null) {\n return lhs;\n } else {\n return await rhsFn();\n }\n }\n `,\n optionalChain: `\n function optionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n `,\n asyncOptionalChain: `\n async function asyncOptionalChain(ops) {\n let lastAccessLHS = undefined;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {\n return undefined;\n }\n if (op === 'access' || op === 'optionalAccess') {\n lastAccessLHS = value;\n value = await fn(value);\n } else if (op === 'call' || op === 'optionalCall') {\n value = await fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = undefined;\n }\n }\n return value;\n }\n `,\n optionalChainDelete: `\n function optionalChainDelete(ops) {\n const result = OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n `,\n asyncOptionalChainDelete: `\n async function asyncOptionalChainDelete(ops) {\n const result = await ASYNC_OPTIONAL_CHAIN_NAME(ops);\n return result == null ? true : result;\n }\n `\n };\n var HelperManager = class _HelperManager {\n __init() {\n this.helperNames = {};\n }\n __init2() {\n this.createRequireName = null;\n }\n constructor(nameManager) {\n ;\n this.nameManager = nameManager;\n _HelperManager.prototype.__init.call(this);\n _HelperManager.prototype.__init2.call(this);\n }\n getHelperName(baseName) {\n let helperName = this.helperNames[baseName];\n if (helperName) {\n return helperName;\n }\n helperName = this.nameManager.claimFreeName(`_${baseName}`);\n this.helperNames[baseName] = helperName;\n return helperName;\n }\n emitHelpers() {\n let resultCode = \"\";\n if (this.helperNames.optionalChainDelete) {\n this.getHelperName(\"optionalChain\");\n }\n if (this.helperNames.asyncOptionalChainDelete) {\n this.getHelperName(\"asyncOptionalChain\");\n }\n for (const [baseName, helperCodeTemplate] of Object.entries(HELPERS)) {\n const helperName = this.helperNames[baseName];\n let helperCode = helperCodeTemplate;\n if (baseName === \"optionalChainDelete\") {\n helperCode = helperCode.replace(\"OPTIONAL_CHAIN_NAME\", this.helperNames.optionalChain);\n } else if (baseName === \"asyncOptionalChainDelete\") {\n helperCode = helperCode.replace(\n \"ASYNC_OPTIONAL_CHAIN_NAME\",\n this.helperNames.asyncOptionalChain\n );\n } else if (baseName === \"require\") {\n if (this.createRequireName === null) {\n this.createRequireName = this.nameManager.claimFreeName(\"_createRequire\");\n }\n helperCode = helperCode.replace(/CREATE_REQUIRE_NAME/g, this.createRequireName);\n }\n if (helperName) {\n resultCode += \" \";\n resultCode += helperCode.replace(baseName, helperName).replace(/\\s+/g, \" \").trim();\n }\n }\n return resultCode;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/identifyShadowedGlobals.js\n function identifyShadowedGlobals(tokens, scopes, globalNames) {\n if (!hasShadowedGlobals(tokens, globalNames)) {\n return;\n }\n markShadowedGlobals(tokens, scopes, globalNames);\n }\n function hasShadowedGlobals(tokens, globalNames) {\n for (const token of tokens.tokens) {\n if (token.type === TokenType.name && !token.isType && isNonTopLevelDeclaration(token) && globalNames.has(tokens.identifierNameForToken(token))) {\n return true;\n }\n }\n return false;\n }\n function markShadowedGlobals(tokens, scopes, globalNames) {\n const scopeStack = [];\n let scopeIndex = scopes.length - 1;\n for (let i = tokens.tokens.length - 1; ; i--) {\n while (scopeStack.length > 0 && scopeStack[scopeStack.length - 1].startTokenIndex === i + 1) {\n scopeStack.pop();\n }\n while (scopeIndex >= 0 && scopes[scopeIndex].endTokenIndex === i + 1) {\n scopeStack.push(scopes[scopeIndex]);\n scopeIndex--;\n }\n if (i < 0) {\n break;\n }\n const token = tokens.tokens[i];\n const name = tokens.identifierNameForToken(token);\n if (scopeStack.length > 1 && !token.isType && token.type === TokenType.name && globalNames.has(name)) {\n if (isBlockScopedDeclaration(token)) {\n markShadowedForScope(scopeStack[scopeStack.length - 1], tokens, name);\n } else if (isFunctionScopedDeclaration(token)) {\n let stackIndex = scopeStack.length - 1;\n while (stackIndex > 0 && !scopeStack[stackIndex].isFunctionScope) {\n stackIndex--;\n }\n if (stackIndex < 0) {\n throw new Error(\"Did not find parent function scope.\");\n }\n markShadowedForScope(scopeStack[stackIndex], tokens, name);\n }\n }\n }\n if (scopeStack.length > 0) {\n throw new Error(\"Expected empty scope stack after processing file.\");\n }\n }\n function markShadowedForScope(scope, tokens, name) {\n for (let i = scope.startTokenIndex; i < scope.endTokenIndex; i++) {\n const token = tokens.tokens[i];\n if ((token.type === TokenType.name || token.type === TokenType.jsxName) && tokens.identifierNameForToken(token) === name) {\n token.shadowsGlobal = true;\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getIdentifierNames.js\n function getIdentifierNames(code, tokens) {\n const names = [];\n for (const token of tokens) {\n if (token.type === TokenType.name) {\n names.push(code.slice(token.start, token.end));\n }\n }\n return names;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/NameManager.js\n var NameManager = class _NameManager {\n __init() {\n this.usedNames = /* @__PURE__ */ new Set();\n }\n constructor(code, tokens) {\n ;\n _NameManager.prototype.__init.call(this);\n this.usedNames = new Set(getIdentifierNames(code, tokens));\n }\n claimFreeName(name) {\n const newName = this.findFreeName(name);\n this.usedNames.add(newName);\n return newName;\n }\n findFreeName(name) {\n if (!this.usedNames.has(name)) {\n return name;\n }\n let suffixNum = 2;\n while (this.usedNames.has(name + String(suffixNum))) {\n suffixNum++;\n }\n return name + String(suffixNum);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options.js\n var import_ts_interface_checker = __toESM(require_dist());\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options-gen-types.js\n var t = __toESM(require_dist());\n var Transform = t.union(\n t.lit(\"jsx\"),\n t.lit(\"typescript\"),\n t.lit(\"flow\"),\n t.lit(\"imports\"),\n t.lit(\"react-hot-loader\"),\n t.lit(\"jest\")\n );\n var SourceMapOptions = t.iface([], {\n compiledFilename: \"string\"\n });\n var Options = t.iface([], {\n transforms: t.array(\"Transform\"),\n disableESTransforms: t.opt(\"boolean\"),\n jsxRuntime: t.opt(t.union(t.lit(\"classic\"), t.lit(\"automatic\"), t.lit(\"preserve\"))),\n production: t.opt(\"boolean\"),\n jsxImportSource: t.opt(\"string\"),\n jsxPragma: t.opt(\"string\"),\n jsxFragmentPragma: t.opt(\"string\"),\n keepUnusedImports: t.opt(\"boolean\"),\n preserveDynamicImport: t.opt(\"boolean\"),\n injectCreateRequireForImportRequire: t.opt(\"boolean\"),\n enableLegacyTypeScriptModuleInterop: t.opt(\"boolean\"),\n enableLegacyBabel5ModuleInterop: t.opt(\"boolean\"),\n sourceMapOptions: t.opt(\"SourceMapOptions\"),\n filePath: t.opt(\"string\")\n });\n var exportedTypeSuite = {\n Transform,\n SourceMapOptions,\n Options\n };\n var Options_gen_types_default = exportedTypeSuite;\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/Options.js\n var { Options: OptionsChecker } = (0, import_ts_interface_checker.createCheckers)(Options_gen_types_default);\n function validateOptions(options2) {\n OptionsChecker.strictCheck(options2);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/lval.js\n function parseSpread() {\n next();\n parseMaybeAssign(false);\n }\n function parseRest(isBlockScope) {\n next();\n parseBindingAtom(isBlockScope);\n }\n function parseBindingIdentifier(isBlockScope) {\n parseIdentifier();\n markPriorBindingIdentifier(isBlockScope);\n }\n function parseImportedIdentifier() {\n parseIdentifier();\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n }\n function markPriorBindingIdentifier(isBlockScope) {\n let identifierRole;\n if (state.scopeDepth === 0) {\n identifierRole = IdentifierRole.TopLevelDeclaration;\n } else if (isBlockScope) {\n identifierRole = IdentifierRole.BlockScopedDeclaration;\n } else {\n identifierRole = IdentifierRole.FunctionScopedDeclaration;\n }\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n }\n function parseBindingAtom(isBlockScope) {\n switch (state.type) {\n case TokenType._this: {\n const oldIsType = pushTypeContext(0);\n next();\n popTypeContext(oldIsType);\n return;\n }\n case TokenType._yield:\n case TokenType.name: {\n state.type = TokenType.name;\n parseBindingIdentifier(isBlockScope);\n return;\n }\n case TokenType.bracketL: {\n next();\n parseBindingList(\n TokenType.bracketR,\n isBlockScope,\n true\n /* allowEmpty */\n );\n return;\n }\n case TokenType.braceL:\n parseObj(true, isBlockScope);\n return;\n default:\n unexpected();\n }\n }\n function parseBindingList(close, isBlockScope, allowEmpty = false, allowModifiers = false, contextId = 0) {\n let first = true;\n let hasRemovedComma = false;\n const firstItemTokenIndex = state.tokens.length;\n while (!eat(close) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n state.tokens[state.tokens.length - 1].contextId = contextId;\n if (!hasRemovedComma && state.tokens[firstItemTokenIndex].isType) {\n state.tokens[state.tokens.length - 1].isType = true;\n hasRemovedComma = true;\n }\n }\n if (allowEmpty && match(TokenType.comma)) {\n } else if (eat(close)) {\n break;\n } else if (match(TokenType.ellipsis)) {\n parseRest(isBlockScope);\n parseAssignableListItemTypes();\n eat(TokenType.comma);\n expect(close);\n break;\n } else {\n parseAssignableListItem(allowModifiers, isBlockScope);\n }\n }\n }\n function parseAssignableListItem(allowModifiers, isBlockScope) {\n if (allowModifiers) {\n tsParseModifiers([\n ContextualKeyword._public,\n ContextualKeyword._protected,\n ContextualKeyword._private,\n ContextualKeyword._readonly,\n ContextualKeyword._override\n ]);\n }\n parseMaybeDefault(isBlockScope);\n parseAssignableListItemTypes();\n parseMaybeDefault(\n isBlockScope,\n true\n /* leftAlreadyParsed */\n );\n }\n function parseAssignableListItemTypes() {\n if (isFlowEnabled) {\n flowParseAssignableListItemTypes();\n } else if (isTypeScriptEnabled) {\n tsParseAssignableListItemTypes();\n }\n }\n function parseMaybeDefault(isBlockScope, leftAlreadyParsed = false) {\n if (!leftAlreadyParsed) {\n parseBindingAtom(isBlockScope);\n }\n if (!eat(TokenType.eq)) {\n return;\n }\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign();\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/typescript.js\n function tsIsIdentifier() {\n return match(TokenType.name);\n }\n function isLiteralPropertyName() {\n return match(TokenType.name) || Boolean(state.type & TokenType.IS_KEYWORD) || match(TokenType.string) || match(TokenType.num) || match(TokenType.bigint) || match(TokenType.decimal);\n }\n function tsNextTokenCanFollowModifier() {\n const snapshot = state.snapshot();\n next();\n const canFollowModifier = (match(TokenType.bracketL) || match(TokenType.braceL) || match(TokenType.star) || match(TokenType.ellipsis) || match(TokenType.hash) || isLiteralPropertyName()) && !hasPrecedingLineBreak();\n if (canFollowModifier) {\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n }\n function tsParseModifiers(allowedModifiers) {\n while (true) {\n const modifier = tsParseModifier(allowedModifiers);\n if (modifier === null) {\n break;\n }\n }\n }\n function tsParseModifier(allowedModifiers) {\n if (!match(TokenType.name)) {\n return null;\n }\n const modifier = state.contextualKeyword;\n if (allowedModifiers.indexOf(modifier) !== -1 && tsNextTokenCanFollowModifier()) {\n switch (modifier) {\n case ContextualKeyword._readonly:\n state.tokens[state.tokens.length - 1].type = TokenType._readonly;\n break;\n case ContextualKeyword._abstract:\n state.tokens[state.tokens.length - 1].type = TokenType._abstract;\n break;\n case ContextualKeyword._static:\n state.tokens[state.tokens.length - 1].type = TokenType._static;\n break;\n case ContextualKeyword._public:\n state.tokens[state.tokens.length - 1].type = TokenType._public;\n break;\n case ContextualKeyword._private:\n state.tokens[state.tokens.length - 1].type = TokenType._private;\n break;\n case ContextualKeyword._protected:\n state.tokens[state.tokens.length - 1].type = TokenType._protected;\n break;\n case ContextualKeyword._override:\n state.tokens[state.tokens.length - 1].type = TokenType._override;\n break;\n case ContextualKeyword._declare:\n state.tokens[state.tokens.length - 1].type = TokenType._declare;\n break;\n default:\n break;\n }\n return modifier;\n }\n return null;\n }\n function tsParseEntityName() {\n parseIdentifier();\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n }\n function tsParseTypeReference() {\n tsParseEntityName();\n if (!hasPrecedingLineBreak() && match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseThisTypePredicate() {\n next();\n tsParseTypeAnnotation();\n }\n function tsParseThisTypeNode() {\n next();\n }\n function tsParseTypeQuery() {\n expect(TokenType._typeof);\n if (match(TokenType._import)) {\n tsParseImportType();\n } else {\n tsParseEntityName();\n }\n if (!hasPrecedingLineBreak() && match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseImportType() {\n expect(TokenType._import);\n expect(TokenType.parenL);\n expect(TokenType.string);\n expect(TokenType.parenR);\n if (eat(TokenType.dot)) {\n tsParseEntityName();\n }\n if (match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseTypeParameter() {\n eat(TokenType._const);\n const hadIn = eat(TokenType._in);\n const hadOut = eatContextual(ContextualKeyword._out);\n eat(TokenType._const);\n if ((hadIn || hadOut) && !match(TokenType.name)) {\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n } else {\n parseIdentifier();\n }\n if (eat(TokenType._extends)) {\n tsParseType();\n }\n if (eat(TokenType.eq)) {\n tsParseType();\n }\n }\n function tsTryParseTypeParameters() {\n if (match(TokenType.lessThan)) {\n tsParseTypeParameters();\n }\n }\n function tsParseTypeParameters() {\n const oldIsType = pushTypeContext(0);\n if (match(TokenType.lessThan) || match(TokenType.typeParameterStart)) {\n next();\n } else {\n unexpected();\n }\n while (!eat(TokenType.greaterThan) && !state.error) {\n tsParseTypeParameter();\n eat(TokenType.comma);\n }\n popTypeContext(oldIsType);\n }\n function tsFillSignature(returnToken) {\n const returnTokenRequired = returnToken === TokenType.arrow;\n tsTryParseTypeParameters();\n expect(TokenType.parenL);\n state.scopeDepth++;\n tsParseBindingListForSignature(\n false\n /* isBlockScope */\n );\n state.scopeDepth--;\n if (returnTokenRequired) {\n tsParseTypeOrTypePredicateAnnotation(returnToken);\n } else if (match(returnToken)) {\n tsParseTypeOrTypePredicateAnnotation(returnToken);\n }\n }\n function tsParseBindingListForSignature(isBlockScope) {\n parseBindingList(TokenType.parenR, isBlockScope);\n }\n function tsParseTypeMemberSemicolon() {\n if (!eat(TokenType.comma)) {\n semicolon();\n }\n }\n function tsParseSignatureMember() {\n tsFillSignature(TokenType.colon);\n tsParseTypeMemberSemicolon();\n }\n function tsIsUnambiguouslyIndexSignature() {\n const snapshot = state.snapshot();\n next();\n const isIndexSignature = eat(TokenType.name) && match(TokenType.colon);\n state.restoreFromSnapshot(snapshot);\n return isIndexSignature;\n }\n function tsTryParseIndexSignature() {\n if (!(match(TokenType.bracketL) && tsIsUnambiguouslyIndexSignature())) {\n return false;\n }\n const oldIsType = pushTypeContext(0);\n expect(TokenType.bracketL);\n parseIdentifier();\n tsParseTypeAnnotation();\n expect(TokenType.bracketR);\n tsTryParseTypeAnnotation();\n tsParseTypeMemberSemicolon();\n popTypeContext(oldIsType);\n return true;\n }\n function tsParsePropertyOrMethodSignature(isReadonly) {\n eat(TokenType.question);\n if (!isReadonly && (match(TokenType.parenL) || match(TokenType.lessThan))) {\n tsFillSignature(TokenType.colon);\n tsParseTypeMemberSemicolon();\n } else {\n tsTryParseTypeAnnotation();\n tsParseTypeMemberSemicolon();\n }\n }\n function tsParseTypeMember() {\n if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n tsParseSignatureMember();\n return;\n }\n if (match(TokenType._new)) {\n next();\n if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n tsParseSignatureMember();\n } else {\n tsParsePropertyOrMethodSignature(false);\n }\n return;\n }\n const readonly = !!tsParseModifier([ContextualKeyword._readonly]);\n const found = tsTryParseIndexSignature();\n if (found) {\n return;\n }\n if ((isContextual(ContextualKeyword._get) || isContextual(ContextualKeyword._set)) && tsNextTokenCanFollowModifier()) {\n }\n parsePropertyName(\n -1\n /* Types don't need context IDs. */\n );\n tsParsePropertyOrMethodSignature(readonly);\n }\n function tsParseTypeLiteral() {\n tsParseObjectTypeMembers();\n }\n function tsParseObjectTypeMembers() {\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n tsParseTypeMember();\n }\n }\n function tsLookaheadIsStartOfMappedType() {\n const snapshot = state.snapshot();\n const isStartOfMappedType = tsIsStartOfMappedType();\n state.restoreFromSnapshot(snapshot);\n return isStartOfMappedType;\n }\n function tsIsStartOfMappedType() {\n next();\n if (eat(TokenType.plus) || eat(TokenType.minus)) {\n return isContextual(ContextualKeyword._readonly);\n }\n if (isContextual(ContextualKeyword._readonly)) {\n next();\n }\n if (!match(TokenType.bracketL)) {\n return false;\n }\n next();\n if (!tsIsIdentifier()) {\n return false;\n }\n next();\n return match(TokenType._in);\n }\n function tsParseMappedTypeParameter() {\n parseIdentifier();\n expect(TokenType._in);\n tsParseType();\n }\n function tsParseMappedType() {\n expect(TokenType.braceL);\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n expectContextual(ContextualKeyword._readonly);\n } else {\n eatContextual(ContextualKeyword._readonly);\n }\n expect(TokenType.bracketL);\n tsParseMappedTypeParameter();\n if (eatContextual(ContextualKeyword._as)) {\n tsParseType();\n }\n expect(TokenType.bracketR);\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n expect(TokenType.question);\n } else {\n eat(TokenType.question);\n }\n tsTryParseType();\n semicolon();\n expect(TokenType.braceR);\n }\n function tsParseTupleType() {\n expect(TokenType.bracketL);\n while (!eat(TokenType.bracketR) && !state.error) {\n tsParseTupleElementType();\n eat(TokenType.comma);\n }\n }\n function tsParseTupleElementType() {\n if (eat(TokenType.ellipsis)) {\n tsParseType();\n } else {\n tsParseType();\n eat(TokenType.question);\n }\n if (eat(TokenType.colon)) {\n tsParseType();\n }\n }\n function tsParseParenthesizedType() {\n expect(TokenType.parenL);\n tsParseType();\n expect(TokenType.parenR);\n }\n function tsParseTemplateLiteralType() {\n nextTemplateToken();\n nextTemplateToken();\n while (!match(TokenType.backQuote) && !state.error) {\n expect(TokenType.dollarBraceL);\n tsParseType();\n nextTemplateToken();\n nextTemplateToken();\n }\n next();\n }\n var FunctionType;\n (function(FunctionType2) {\n const TSFunctionType = 0;\n FunctionType2[FunctionType2[\"TSFunctionType\"] = TSFunctionType] = \"TSFunctionType\";\n const TSConstructorType = TSFunctionType + 1;\n FunctionType2[FunctionType2[\"TSConstructorType\"] = TSConstructorType] = \"TSConstructorType\";\n const TSAbstractConstructorType = TSConstructorType + 1;\n FunctionType2[FunctionType2[\"TSAbstractConstructorType\"] = TSAbstractConstructorType] = \"TSAbstractConstructorType\";\n })(FunctionType || (FunctionType = {}));\n function tsParseFunctionOrConstructorType(type) {\n if (type === FunctionType.TSAbstractConstructorType) {\n expectContextual(ContextualKeyword._abstract);\n }\n if (type === FunctionType.TSConstructorType || type === FunctionType.TSAbstractConstructorType) {\n expect(TokenType._new);\n }\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = false;\n tsFillSignature(TokenType.arrow);\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n function tsParseNonArrayType() {\n switch (state.type) {\n case TokenType.name:\n tsParseTypeReference();\n return;\n case TokenType._void:\n case TokenType._null:\n next();\n return;\n case TokenType.string:\n case TokenType.num:\n case TokenType.bigint:\n case TokenType.decimal:\n case TokenType._true:\n case TokenType._false:\n parseLiteral();\n return;\n case TokenType.minus:\n next();\n parseLiteral();\n return;\n case TokenType._this: {\n tsParseThisTypeNode();\n if (isContextual(ContextualKeyword._is) && !hasPrecedingLineBreak()) {\n tsParseThisTypePredicate();\n }\n return;\n }\n case TokenType._typeof:\n tsParseTypeQuery();\n return;\n case TokenType._import:\n tsParseImportType();\n return;\n case TokenType.braceL:\n if (tsLookaheadIsStartOfMappedType()) {\n tsParseMappedType();\n } else {\n tsParseTypeLiteral();\n }\n return;\n case TokenType.bracketL:\n tsParseTupleType();\n return;\n case TokenType.parenL:\n tsParseParenthesizedType();\n return;\n case TokenType.backQuote:\n tsParseTemplateLiteralType();\n return;\n default:\n if (state.type & TokenType.IS_KEYWORD) {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n return;\n }\n break;\n }\n unexpected();\n }\n function tsParseArrayTypeOrHigher() {\n tsParseNonArrayType();\n while (!hasPrecedingLineBreak() && eat(TokenType.bracketL)) {\n if (!eat(TokenType.bracketR)) {\n tsParseType();\n expect(TokenType.bracketR);\n }\n }\n }\n function tsParseInferType() {\n expectContextual(ContextualKeyword._infer);\n parseIdentifier();\n if (match(TokenType._extends)) {\n const snapshot = state.snapshot();\n expect(TokenType._extends);\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = true;\n tsParseType();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n if (state.error || !state.inDisallowConditionalTypesContext && match(TokenType.question)) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n }\n function tsParseTypeOperatorOrHigher() {\n if (isContextual(ContextualKeyword._keyof) || isContextual(ContextualKeyword._unique) || isContextual(ContextualKeyword._readonly)) {\n next();\n tsParseTypeOperatorOrHigher();\n } else if (isContextual(ContextualKeyword._infer)) {\n tsParseInferType();\n } else {\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = false;\n tsParseArrayTypeOrHigher();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n }\n }\n function tsParseIntersectionTypeOrHigher() {\n eat(TokenType.bitwiseAND);\n tsParseTypeOperatorOrHigher();\n if (match(TokenType.bitwiseAND)) {\n while (eat(TokenType.bitwiseAND)) {\n tsParseTypeOperatorOrHigher();\n }\n }\n }\n function tsParseUnionTypeOrHigher() {\n eat(TokenType.bitwiseOR);\n tsParseIntersectionTypeOrHigher();\n if (match(TokenType.bitwiseOR)) {\n while (eat(TokenType.bitwiseOR)) {\n tsParseIntersectionTypeOrHigher();\n }\n }\n }\n function tsIsStartOfFunctionType() {\n if (match(TokenType.lessThan)) {\n return true;\n }\n return match(TokenType.parenL) && tsLookaheadIsUnambiguouslyStartOfFunctionType();\n }\n function tsSkipParameterStart() {\n if (match(TokenType.name) || match(TokenType._this)) {\n next();\n return true;\n }\n if (match(TokenType.braceL) || match(TokenType.bracketL)) {\n let depth = 1;\n next();\n while (depth > 0 && !state.error) {\n if (match(TokenType.braceL) || match(TokenType.bracketL)) {\n depth++;\n } else if (match(TokenType.braceR) || match(TokenType.bracketR)) {\n depth--;\n }\n next();\n }\n return true;\n }\n return false;\n }\n function tsLookaheadIsUnambiguouslyStartOfFunctionType() {\n const snapshot = state.snapshot();\n const isUnambiguouslyStartOfFunctionType = tsIsUnambiguouslyStartOfFunctionType();\n state.restoreFromSnapshot(snapshot);\n return isUnambiguouslyStartOfFunctionType;\n }\n function tsIsUnambiguouslyStartOfFunctionType() {\n next();\n if (match(TokenType.parenR) || match(TokenType.ellipsis)) {\n return true;\n }\n if (tsSkipParameterStart()) {\n if (match(TokenType.colon) || match(TokenType.comma) || match(TokenType.question) || match(TokenType.eq)) {\n return true;\n }\n if (match(TokenType.parenR)) {\n next();\n if (match(TokenType.arrow)) {\n return true;\n }\n }\n }\n return false;\n }\n function tsParseTypeOrTypePredicateAnnotation(returnToken) {\n const oldIsType = pushTypeContext(0);\n expect(returnToken);\n const finishedReturn = tsParseTypePredicateOrAssertsPrefix();\n if (!finishedReturn) {\n tsParseType();\n }\n popTypeContext(oldIsType);\n }\n function tsTryParseTypeOrTypePredicateAnnotation() {\n if (match(TokenType.colon)) {\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n }\n }\n function tsTryParseTypeAnnotation() {\n if (match(TokenType.colon)) {\n tsParseTypeAnnotation();\n }\n }\n function tsTryParseType() {\n if (eat(TokenType.colon)) {\n tsParseType();\n }\n }\n function tsParseTypePredicateOrAssertsPrefix() {\n const snapshot = state.snapshot();\n if (isContextual(ContextualKeyword._asserts)) {\n next();\n if (eatContextual(ContextualKeyword._is)) {\n tsParseType();\n return true;\n } else if (tsIsIdentifier() || match(TokenType._this)) {\n next();\n if (eatContextual(ContextualKeyword._is)) {\n tsParseType();\n }\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n } else if (tsIsIdentifier() || match(TokenType._this)) {\n next();\n if (isContextual(ContextualKeyword._is) && !hasPrecedingLineBreak()) {\n next();\n tsParseType();\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n }\n return false;\n }\n function tsParseTypeAnnotation() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.colon);\n tsParseType();\n popTypeContext(oldIsType);\n }\n function tsParseType() {\n tsParseNonConditionalType();\n if (state.inDisallowConditionalTypesContext || hasPrecedingLineBreak() || !eat(TokenType._extends)) {\n return;\n }\n const oldInDisallowConditionalTypesContext = state.inDisallowConditionalTypesContext;\n state.inDisallowConditionalTypesContext = true;\n tsParseNonConditionalType();\n state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;\n expect(TokenType.question);\n tsParseType();\n expect(TokenType.colon);\n tsParseType();\n }\n function isAbstractConstructorSignature() {\n return isContextual(ContextualKeyword._abstract) && lookaheadType() === TokenType._new;\n }\n function tsParseNonConditionalType() {\n if (tsIsStartOfFunctionType()) {\n tsParseFunctionOrConstructorType(FunctionType.TSFunctionType);\n return;\n }\n if (match(TokenType._new)) {\n tsParseFunctionOrConstructorType(FunctionType.TSConstructorType);\n return;\n } else if (isAbstractConstructorSignature()) {\n tsParseFunctionOrConstructorType(FunctionType.TSAbstractConstructorType);\n return;\n }\n tsParseUnionTypeOrHigher();\n }\n function tsParseTypeAssertion() {\n const oldIsType = pushTypeContext(1);\n tsParseType();\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n parseMaybeUnary();\n }\n function tsTryParseJSXTypeArgument() {\n if (eat(TokenType.jsxTagStart)) {\n state.tokens[state.tokens.length - 1].type = TokenType.typeParameterStart;\n const oldIsType = pushTypeContext(1);\n while (!match(TokenType.greaterThan) && !state.error) {\n tsParseType();\n eat(TokenType.comma);\n }\n nextJSXTagToken();\n popTypeContext(oldIsType);\n }\n }\n function tsParseHeritageClause() {\n while (!match(TokenType.braceL) && !state.error) {\n tsParseExpressionWithTypeArguments();\n eat(TokenType.comma);\n }\n }\n function tsParseExpressionWithTypeArguments() {\n tsParseEntityName();\n if (match(TokenType.lessThan)) {\n tsParseTypeArguments();\n }\n }\n function tsParseInterfaceDeclaration() {\n parseBindingIdentifier(false);\n tsTryParseTypeParameters();\n if (eat(TokenType._extends)) {\n tsParseHeritageClause();\n }\n tsParseObjectTypeMembers();\n }\n function tsParseTypeAliasDeclaration() {\n parseBindingIdentifier(false);\n tsTryParseTypeParameters();\n expect(TokenType.eq);\n tsParseType();\n semicolon();\n }\n function tsParseEnumMember() {\n if (match(TokenType.string)) {\n parseLiteral();\n } else {\n parseIdentifier();\n }\n if (eat(TokenType.eq)) {\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign();\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n }\n function tsParseEnumDeclaration() {\n parseBindingIdentifier(false);\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n tsParseEnumMember();\n eat(TokenType.comma);\n }\n }\n function tsParseModuleBlock() {\n expect(TokenType.braceL);\n parseBlockBody(\n /* end */\n TokenType.braceR\n );\n }\n function tsParseModuleOrNamespaceDeclaration() {\n parseBindingIdentifier(false);\n if (eat(TokenType.dot)) {\n tsParseModuleOrNamespaceDeclaration();\n } else {\n tsParseModuleBlock();\n }\n }\n function tsParseAmbientExternalModuleDeclaration() {\n if (isContextual(ContextualKeyword._global)) {\n parseIdentifier();\n } else if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n unexpected();\n }\n if (match(TokenType.braceL)) {\n tsParseModuleBlock();\n } else {\n semicolon();\n }\n }\n function tsParseImportEqualsDeclaration() {\n parseImportedIdentifier();\n expect(TokenType.eq);\n tsParseModuleReference();\n semicolon();\n }\n function tsIsExternalModuleReference() {\n return isContextual(ContextualKeyword._require) && lookaheadType() === TokenType.parenL;\n }\n function tsParseModuleReference() {\n if (tsIsExternalModuleReference()) {\n tsParseExternalModuleReference();\n } else {\n tsParseEntityName();\n }\n }\n function tsParseExternalModuleReference() {\n expectContextual(ContextualKeyword._require);\n expect(TokenType.parenL);\n if (!match(TokenType.string)) {\n unexpected();\n }\n parseLiteral();\n expect(TokenType.parenR);\n }\n function tsTryParseDeclare() {\n if (isLineTerminator()) {\n return false;\n }\n switch (state.type) {\n case TokenType._function: {\n const oldIsType = pushTypeContext(1);\n next();\n const functionStart = state.start;\n parseFunction(\n functionStart,\n /* isStatement */\n true\n );\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType._class: {\n const oldIsType = pushTypeContext(1);\n parseClass(\n /* isStatement */\n true,\n /* optionalId */\n false\n );\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType._const: {\n if (match(TokenType._const) && isLookaheadContextual(ContextualKeyword._enum)) {\n const oldIsType = pushTypeContext(1);\n expect(TokenType._const);\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n }\n // falls through\n case TokenType._var:\n case TokenType._let: {\n const oldIsType = pushTypeContext(1);\n parseVarStatement(state.type !== TokenType._var);\n popTypeContext(oldIsType);\n return true;\n }\n case TokenType.name: {\n const oldIsType = pushTypeContext(1);\n const contextualKeyword = state.contextualKeyword;\n let matched = false;\n if (contextualKeyword === ContextualKeyword._global) {\n tsParseAmbientExternalModuleDeclaration();\n matched = true;\n } else {\n matched = tsParseDeclaration(\n contextualKeyword,\n /* isBeforeToken */\n true\n );\n }\n popTypeContext(oldIsType);\n return matched;\n }\n default:\n return false;\n }\n }\n function tsTryParseExportDeclaration() {\n return tsParseDeclaration(\n state.contextualKeyword,\n /* isBeforeToken */\n true\n );\n }\n function tsParseExpressionStatement(contextualKeyword) {\n switch (contextualKeyword) {\n case ContextualKeyword._declare: {\n const declareTokenIndex = state.tokens.length - 1;\n const matched = tsTryParseDeclare();\n if (matched) {\n state.tokens[declareTokenIndex].type = TokenType._declare;\n return true;\n }\n break;\n }\n case ContextualKeyword._global:\n if (match(TokenType.braceL)) {\n tsParseModuleBlock();\n return true;\n }\n break;\n default:\n return tsParseDeclaration(\n contextualKeyword,\n /* isBeforeToken */\n false\n );\n }\n return false;\n }\n function tsParseDeclaration(contextualKeyword, isBeforeToken) {\n switch (contextualKeyword) {\n case ContextualKeyword._abstract:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType._class)) {\n state.tokens[state.tokens.length - 1].type = TokenType._abstract;\n parseClass(\n /* isStatement */\n true,\n /* optionalId */\n false\n );\n return true;\n }\n break;\n case ContextualKeyword._enum:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n return true;\n }\n break;\n case ContextualKeyword._interface:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseInterfaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n case ContextualKeyword._module:\n if (tsCheckLineTerminator(isBeforeToken)) {\n if (match(TokenType.string)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseAmbientExternalModuleDeclaration();\n popTypeContext(oldIsType);\n return true;\n } else if (match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseModuleOrNamespaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n }\n break;\n case ContextualKeyword._namespace:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseModuleOrNamespaceDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n case ContextualKeyword._type:\n if (tsCheckLineTerminator(isBeforeToken) && match(TokenType.name)) {\n const oldIsType = pushTypeContext(isBeforeToken ? 2 : 1);\n tsParseTypeAliasDeclaration();\n popTypeContext(oldIsType);\n return true;\n }\n break;\n default:\n break;\n }\n return false;\n }\n function tsCheckLineTerminator(isBeforeToken) {\n if (isBeforeToken) {\n next();\n return true;\n } else {\n return !isLineTerminator();\n }\n }\n function tsTryParseGenericAsyncArrowFunction() {\n const snapshot = state.snapshot();\n tsParseTypeParameters();\n parseFunctionParams();\n tsTryParseTypeOrTypePredicateAnnotation();\n expect(TokenType.arrow);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n parseFunctionBody(true);\n return true;\n }\n function tsParseTypeArgumentsWithPossibleBitshift() {\n if (state.type === TokenType.bitShiftL) {\n state.pos -= 1;\n finishToken(TokenType.lessThan);\n }\n tsParseTypeArguments();\n }\n function tsParseTypeArguments() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.lessThan);\n while (!match(TokenType.greaterThan) && !state.error) {\n tsParseType();\n eat(TokenType.comma);\n }\n if (!oldIsType) {\n popTypeContext(oldIsType);\n rescan_gt();\n expect(TokenType.greaterThan);\n state.tokens[state.tokens.length - 1].isType = true;\n } else {\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n }\n function tsIsDeclarationStart() {\n if (match(TokenType.name)) {\n switch (state.contextualKeyword) {\n case ContextualKeyword._abstract:\n case ContextualKeyword._declare:\n case ContextualKeyword._enum:\n case ContextualKeyword._interface:\n case ContextualKeyword._module:\n case ContextualKeyword._namespace:\n case ContextualKeyword._type:\n return true;\n default:\n break;\n }\n }\n return false;\n }\n function tsParseFunctionBodyAndFinish(functionStart, funcContextId) {\n if (match(TokenType.colon)) {\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n }\n if (!match(TokenType.braceL) && isLineTerminator()) {\n let i = state.tokens.length - 1;\n while (i >= 0 && (state.tokens[i].start >= functionStart || state.tokens[i].type === TokenType._default || state.tokens[i].type === TokenType._export)) {\n state.tokens[i].isType = true;\n i--;\n }\n return;\n }\n parseFunctionBody(false, funcContextId);\n }\n function tsParseSubscript(startTokenIndex, noCalls, stopState) {\n if (!hasPrecedingLineBreak() && eat(TokenType.bang)) {\n state.tokens[state.tokens.length - 1].type = TokenType.nonNullAssertion;\n return;\n }\n if (match(TokenType.lessThan) || match(TokenType.bitShiftL)) {\n const snapshot = state.snapshot();\n if (!noCalls && atPossibleAsync()) {\n const asyncArrowFn = tsTryParseGenericAsyncArrowFunction();\n if (asyncArrowFn) {\n return;\n }\n }\n tsParseTypeArgumentsWithPossibleBitshift();\n if (!noCalls && eat(TokenType.parenL)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseCallExpressionArguments();\n } else if (match(TokenType.backQuote)) {\n parseTemplate();\n } else if (\n // The remaining possible case is an instantiation expression, e.g.\n // Array<number> . Check for a few cases that would disqualify it and\n // cause us to bail out.\n // a<b>>c is not (a<b>)>c, but a<(b>>c)\n state.type === TokenType.greaterThan || // a<b>c is (a<b)>c\n state.type !== TokenType.parenL && Boolean(state.type & TokenType.IS_EXPRESSION_START) && !hasPrecedingLineBreak()\n ) {\n unexpected();\n }\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return;\n }\n } else if (!noCalls && match(TokenType.questionDot) && lookaheadType() === TokenType.lessThan) {\n next();\n state.tokens[startTokenIndex].isOptionalChainStart = true;\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n tsParseTypeArguments();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n }\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n function tsTryParseExport() {\n if (eat(TokenType._import)) {\n if (isContextual(ContextualKeyword._type) && lookaheadType() !== TokenType.eq) {\n expectContextual(ContextualKeyword._type);\n }\n tsParseImportEqualsDeclaration();\n return true;\n } else if (eat(TokenType.eq)) {\n parseExpression();\n semicolon();\n return true;\n } else if (eatContextual(ContextualKeyword._as)) {\n expectContextual(ContextualKeyword._namespace);\n parseIdentifier();\n semicolon();\n return true;\n } else {\n if (isContextual(ContextualKeyword._type)) {\n const nextType = lookaheadType();\n if (nextType === TokenType.braceL || nextType === TokenType.star) {\n next();\n }\n }\n return false;\n }\n }\n function tsParseImportSpecifier() {\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ImportAccess;\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ImportAccess;\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportDeclaration;\n state.tokens[state.tokens.length - 4].isType = true;\n state.tokens[state.tokens.length - 3].isType = true;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n }\n function tsParseExportSpecifier() {\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n return;\n }\n parseIdentifier();\n if (match(TokenType.comma) || match(TokenType.braceR)) {\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ExportAccess;\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 3].identifierRole = IdentifierRole.ExportAccess;\n state.tokens[state.tokens.length - 4].isType = true;\n state.tokens[state.tokens.length - 3].isType = true;\n state.tokens[state.tokens.length - 2].isType = true;\n state.tokens[state.tokens.length - 1].isType = true;\n }\n function tsTryParseExportDefaultExpression() {\n if (isContextual(ContextualKeyword._abstract) && lookaheadType() === TokenType._class) {\n state.type = TokenType._abstract;\n next();\n parseClass(true, true);\n return true;\n }\n if (isContextual(ContextualKeyword._interface)) {\n const oldIsType = pushTypeContext(2);\n tsParseDeclaration(ContextualKeyword._interface, true);\n popTypeContext(oldIsType);\n return true;\n }\n return false;\n }\n function tsTryParseStatementContent() {\n if (state.type === TokenType._const) {\n const ahead = lookaheadTypeAndKeyword();\n if (ahead.type === TokenType.name && ahead.contextualKeyword === ContextualKeyword._enum) {\n expect(TokenType._const);\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n tsParseEnumDeclaration();\n return true;\n }\n }\n return false;\n }\n function tsTryParseClassMemberWithIsStatic(isStatic) {\n const memberStartIndexAfterStatic = state.tokens.length;\n tsParseModifiers([\n ContextualKeyword._abstract,\n ContextualKeyword._readonly,\n ContextualKeyword._declare,\n ContextualKeyword._static,\n ContextualKeyword._override\n ]);\n const modifiersEndIndex = state.tokens.length;\n const found = tsTryParseIndexSignature();\n if (found) {\n const memberStartIndex = isStatic ? memberStartIndexAfterStatic - 1 : memberStartIndexAfterStatic;\n for (let i = memberStartIndex; i < modifiersEndIndex; i++) {\n state.tokens[i].isType = true;\n }\n return true;\n }\n return false;\n }\n function tsParseIdentifierStatement(contextualKeyword) {\n const matched = tsParseExpressionStatement(contextualKeyword);\n if (!matched) {\n semicolon();\n }\n }\n function tsParseExportDeclaration() {\n const isDeclare = eatContextual(ContextualKeyword._declare);\n if (isDeclare) {\n state.tokens[state.tokens.length - 1].type = TokenType._declare;\n }\n let matchedDeclaration = false;\n if (match(TokenType.name)) {\n if (isDeclare) {\n const oldIsType = pushTypeContext(2);\n matchedDeclaration = tsTryParseExportDeclaration();\n popTypeContext(oldIsType);\n } else {\n matchedDeclaration = tsTryParseExportDeclaration();\n }\n }\n if (!matchedDeclaration) {\n if (isDeclare) {\n const oldIsType = pushTypeContext(2);\n parseStatement(true);\n popTypeContext(oldIsType);\n } else {\n parseStatement(true);\n }\n }\n }\n function tsAfterParseClassSuper(hasSuper) {\n if (hasSuper && (match(TokenType.lessThan) || match(TokenType.bitShiftL))) {\n tsParseTypeArgumentsWithPossibleBitshift();\n }\n if (eatContextual(ContextualKeyword._implements)) {\n state.tokens[state.tokens.length - 1].type = TokenType._implements;\n const oldIsType = pushTypeContext(1);\n tsParseHeritageClause();\n popTypeContext(oldIsType);\n }\n }\n function tsStartParseObjPropValue() {\n tsTryParseTypeParameters();\n }\n function tsStartParseFunctionParams() {\n tsTryParseTypeParameters();\n }\n function tsAfterParseVarHead() {\n const oldIsType = pushTypeContext(0);\n if (!hasPrecedingLineBreak()) {\n eat(TokenType.bang);\n }\n tsTryParseTypeAnnotation();\n popTypeContext(oldIsType);\n }\n function tsStartParseAsyncArrowFromCallExpression() {\n if (match(TokenType.colon)) {\n tsParseTypeAnnotation();\n }\n }\n function tsParseMaybeAssign(noIn, isWithinParens) {\n if (isJSXEnabled) {\n return tsParseMaybeAssignWithJSX(noIn, isWithinParens);\n } else {\n return tsParseMaybeAssignWithoutJSX(noIn, isWithinParens);\n }\n }\n function tsParseMaybeAssignWithJSX(noIn, isWithinParens) {\n if (!match(TokenType.lessThan)) {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n const snapshot = state.snapshot();\n let wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return wasArrow;\n }\n state.type = TokenType.typeParameterStart;\n tsParseTypeParameters();\n wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (!wasArrow) {\n unexpected();\n }\n return wasArrow;\n }\n function tsParseMaybeAssignWithoutJSX(noIn, isWithinParens) {\n if (!match(TokenType.lessThan)) {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n const snapshot = state.snapshot();\n tsParseTypeParameters();\n const wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (!wasArrow) {\n unexpected();\n }\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return wasArrow;\n }\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n function tsParseArrow() {\n if (match(TokenType.colon)) {\n const snapshot = state.snapshot();\n tsParseTypeOrTypePredicateAnnotation(TokenType.colon);\n if (canInsertSemicolon()) unexpected();\n if (!match(TokenType.arrow)) unexpected();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n return eat(TokenType.arrow);\n }\n function tsParseAssignableListItemTypes() {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n tsTryParseTypeAnnotation();\n popTypeContext(oldIsType);\n }\n function tsParseMaybeDecoratorArguments() {\n if (match(TokenType.lessThan) || match(TokenType.bitShiftL)) {\n tsParseTypeArgumentsWithPossibleBitshift();\n }\n baseParseMaybeDecoratorArguments();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/jsx/index.js\n function jsxReadToken() {\n let sawNewline = false;\n let sawNonWhitespace = false;\n while (true) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated JSX contents\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === charCodes.lessThan || ch === charCodes.leftCurlyBrace) {\n if (state.pos === state.start) {\n if (ch === charCodes.lessThan) {\n state.pos++;\n finishToken(TokenType.jsxTagStart);\n return;\n }\n getTokenFromCode(ch);\n return;\n }\n if (sawNewline && !sawNonWhitespace) {\n finishToken(TokenType.jsxEmptyText);\n } else {\n finishToken(TokenType.jsxText);\n }\n return;\n }\n if (ch === charCodes.lineFeed) {\n sawNewline = true;\n } else if (ch !== charCodes.space && ch !== charCodes.carriageReturn && ch !== charCodes.tab) {\n sawNonWhitespace = true;\n }\n state.pos++;\n }\n }\n function jsxReadString(quote) {\n state.pos++;\n for (; ; ) {\n if (state.pos >= input.length) {\n unexpected(\"Unterminated string constant\");\n return;\n }\n const ch = input.charCodeAt(state.pos);\n if (ch === quote) {\n state.pos++;\n break;\n }\n state.pos++;\n }\n finishToken(TokenType.string);\n }\n function jsxReadWord() {\n let ch;\n do {\n if (state.pos > input.length) {\n unexpected(\"Unexpectedly reached the end of input.\");\n return;\n }\n ch = input.charCodeAt(++state.pos);\n } while (IS_IDENTIFIER_CHAR[ch] || ch === charCodes.dash);\n finishToken(TokenType.jsxName);\n }\n function jsxParseIdentifier() {\n nextJSXTagToken();\n }\n function jsxParseNamespacedName(identifierRole) {\n jsxParseIdentifier();\n if (!eat(TokenType.colon)) {\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n return;\n }\n jsxParseIdentifier();\n }\n function jsxParseElementName() {\n const firstTokenIndex = state.tokens.length;\n jsxParseNamespacedName(IdentifierRole.Access);\n let hadDot = false;\n while (match(TokenType.dot)) {\n hadDot = true;\n nextJSXTagToken();\n jsxParseIdentifier();\n }\n if (!hadDot) {\n const firstToken = state.tokens[firstTokenIndex];\n const firstChar = input.charCodeAt(firstToken.start);\n if (firstChar >= charCodes.lowercaseA && firstChar <= charCodes.lowercaseZ) {\n firstToken.identifierRole = null;\n }\n }\n }\n function jsxParseAttributeValue() {\n switch (state.type) {\n case TokenType.braceL:\n next();\n parseExpression();\n nextJSXTagToken();\n return;\n case TokenType.jsxTagStart:\n jsxParseElement();\n nextJSXTagToken();\n return;\n case TokenType.string:\n nextJSXTagToken();\n return;\n default:\n unexpected(\"JSX value should be either an expression or a quoted JSX text\");\n }\n }\n function jsxParseSpreadChild() {\n expect(TokenType.ellipsis);\n parseExpression();\n }\n function jsxParseOpeningElement(initialTokenIndex) {\n if (match(TokenType.jsxTagEnd)) {\n return false;\n }\n jsxParseElementName();\n if (isTypeScriptEnabled) {\n tsTryParseJSXTypeArgument();\n }\n let hasSeenPropSpread = false;\n while (!match(TokenType.slash) && !match(TokenType.jsxTagEnd) && !state.error) {\n if (eat(TokenType.braceL)) {\n hasSeenPropSpread = true;\n expect(TokenType.ellipsis);\n parseMaybeAssign();\n nextJSXTagToken();\n continue;\n }\n if (hasSeenPropSpread && state.end - state.start === 3 && input.charCodeAt(state.start) === charCodes.lowercaseK && input.charCodeAt(state.start + 1) === charCodes.lowercaseE && input.charCodeAt(state.start + 2) === charCodes.lowercaseY) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.KeyAfterPropSpread;\n }\n jsxParseNamespacedName(IdentifierRole.ObjectKey);\n if (match(TokenType.eq)) {\n nextJSXTagToken();\n jsxParseAttributeValue();\n }\n }\n const isSelfClosing = match(TokenType.slash);\n if (isSelfClosing) {\n nextJSXTagToken();\n }\n return isSelfClosing;\n }\n function jsxParseClosingElement() {\n if (match(TokenType.jsxTagEnd)) {\n return;\n }\n jsxParseElementName();\n }\n function jsxParseElementAt() {\n const initialTokenIndex = state.tokens.length - 1;\n state.tokens[initialTokenIndex].jsxRole = JSXRole.NoChildren;\n let numExplicitChildren = 0;\n const isSelfClosing = jsxParseOpeningElement(initialTokenIndex);\n if (!isSelfClosing) {\n nextJSXExprToken();\n while (true) {\n switch (state.type) {\n case TokenType.jsxTagStart:\n nextJSXTagToken();\n if (match(TokenType.slash)) {\n nextJSXTagToken();\n jsxParseClosingElement();\n if (state.tokens[initialTokenIndex].jsxRole !== JSXRole.KeyAfterPropSpread) {\n if (numExplicitChildren === 1) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.OneChild;\n } else if (numExplicitChildren > 1) {\n state.tokens[initialTokenIndex].jsxRole = JSXRole.StaticChildren;\n }\n }\n return;\n }\n numExplicitChildren++;\n jsxParseElementAt();\n nextJSXExprToken();\n break;\n case TokenType.jsxText:\n numExplicitChildren++;\n nextJSXExprToken();\n break;\n case TokenType.jsxEmptyText:\n nextJSXExprToken();\n break;\n case TokenType.braceL:\n next();\n if (match(TokenType.ellipsis)) {\n jsxParseSpreadChild();\n nextJSXExprToken();\n numExplicitChildren += 2;\n } else {\n if (!match(TokenType.braceR)) {\n numExplicitChildren++;\n parseExpression();\n }\n nextJSXExprToken();\n }\n break;\n // istanbul ignore next - should never happen\n default:\n unexpected();\n return;\n }\n }\n }\n }\n function jsxParseElement() {\n nextJSXTagToken();\n jsxParseElementAt();\n }\n function nextJSXTagToken() {\n state.tokens.push(new Token());\n skipSpace();\n state.start = state.pos;\n const code = input.charCodeAt(state.pos);\n if (IS_IDENTIFIER_START[code]) {\n jsxReadWord();\n } else if (code === charCodes.quotationMark || code === charCodes.apostrophe) {\n jsxReadString(code);\n } else {\n ++state.pos;\n switch (code) {\n case charCodes.greaterThan:\n finishToken(TokenType.jsxTagEnd);\n break;\n case charCodes.lessThan:\n finishToken(TokenType.jsxTagStart);\n break;\n case charCodes.slash:\n finishToken(TokenType.slash);\n break;\n case charCodes.equalsTo:\n finishToken(TokenType.eq);\n break;\n case charCodes.leftCurlyBrace:\n finishToken(TokenType.braceL);\n break;\n case charCodes.dot:\n finishToken(TokenType.dot);\n break;\n case charCodes.colon:\n finishToken(TokenType.colon);\n break;\n default:\n unexpected();\n }\n }\n }\n function nextJSXExprToken() {\n state.tokens.push(new Token());\n state.start = state.pos;\n jsxReadToken();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/types.js\n function typedParseConditional(noIn) {\n if (match(TokenType.question)) {\n const nextType = lookaheadType();\n if (nextType === TokenType.colon || nextType === TokenType.comma || nextType === TokenType.parenR) {\n return;\n }\n }\n baseParseConditional(noIn);\n }\n function typedParseParenItem() {\n eatTypeToken(TokenType.question);\n if (match(TokenType.colon)) {\n if (isTypeScriptEnabled) {\n tsParseTypeAnnotation();\n } else if (isFlowEnabled) {\n flowParseTypeAnnotation();\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/expression.js\n var StopState = class {\n constructor(stop) {\n this.stop = stop;\n }\n };\n function parseExpression(noIn = false) {\n parseMaybeAssign(noIn);\n if (match(TokenType.comma)) {\n while (eat(TokenType.comma)) {\n parseMaybeAssign(noIn);\n }\n }\n }\n function parseMaybeAssign(noIn = false, isWithinParens = false) {\n if (isTypeScriptEnabled) {\n return tsParseMaybeAssign(noIn, isWithinParens);\n } else if (isFlowEnabled) {\n return flowParseMaybeAssign(noIn, isWithinParens);\n } else {\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n }\n function baseParseMaybeAssign(noIn, isWithinParens) {\n if (match(TokenType._yield)) {\n parseYield();\n return false;\n }\n if (match(TokenType.parenL) || match(TokenType.name) || match(TokenType._yield)) {\n state.potentialArrowAt = state.start;\n }\n const wasArrow = parseMaybeConditional(noIn);\n if (isWithinParens) {\n parseParenItem();\n }\n if (state.type & TokenType.IS_ASSIGN) {\n next();\n parseMaybeAssign(noIn);\n return false;\n }\n return wasArrow;\n }\n function parseMaybeConditional(noIn) {\n const wasArrow = parseExprOps(noIn);\n if (wasArrow) {\n return true;\n }\n parseConditional(noIn);\n return false;\n }\n function parseConditional(noIn) {\n if (isTypeScriptEnabled || isFlowEnabled) {\n typedParseConditional(noIn);\n } else {\n baseParseConditional(noIn);\n }\n }\n function baseParseConditional(noIn) {\n if (eat(TokenType.question)) {\n parseMaybeAssign();\n expect(TokenType.colon);\n parseMaybeAssign(noIn);\n }\n }\n function parseExprOps(noIn) {\n const startTokenIndex = state.tokens.length;\n const wasArrow = parseMaybeUnary();\n if (wasArrow) {\n return true;\n }\n parseExprOp(startTokenIndex, -1, noIn);\n return false;\n }\n function parseExprOp(startTokenIndex, minPrec, noIn) {\n if (isTypeScriptEnabled && (TokenType._in & TokenType.PRECEDENCE_MASK) > minPrec && !hasPrecedingLineBreak() && (eatContextual(ContextualKeyword._as) || eatContextual(ContextualKeyword._satisfies))) {\n const oldIsType = pushTypeContext(1);\n tsParseType();\n popTypeContext(oldIsType);\n rescan_gt();\n parseExprOp(startTokenIndex, minPrec, noIn);\n return;\n }\n const prec = state.type & TokenType.PRECEDENCE_MASK;\n if (prec > 0 && (!noIn || !match(TokenType._in))) {\n if (prec > minPrec) {\n const op = state.type;\n next();\n if (op === TokenType.nullishCoalescing) {\n state.tokens[state.tokens.length - 1].nullishStartIndex = startTokenIndex;\n }\n const rhsStartTokenIndex = state.tokens.length;\n parseMaybeUnary();\n parseExprOp(rhsStartTokenIndex, op & TokenType.IS_RIGHT_ASSOCIATIVE ? prec - 1 : prec, noIn);\n if (op === TokenType.nullishCoalescing) {\n state.tokens[startTokenIndex].numNullishCoalesceStarts++;\n state.tokens[state.tokens.length - 1].numNullishCoalesceEnds++;\n }\n parseExprOp(startTokenIndex, minPrec, noIn);\n }\n }\n }\n function parseMaybeUnary() {\n if (isTypeScriptEnabled && !isJSXEnabled && eat(TokenType.lessThan)) {\n tsParseTypeAssertion();\n return false;\n }\n if (isContextual(ContextualKeyword._module) && lookaheadCharCode() === charCodes.leftCurlyBrace && !hasFollowingLineBreak()) {\n parseModuleExpression();\n return false;\n }\n if (state.type & TokenType.IS_PREFIX) {\n next();\n parseMaybeUnary();\n return false;\n }\n const wasArrow = parseExprSubscripts();\n if (wasArrow) {\n return true;\n }\n while (state.type & TokenType.IS_POSTFIX && !canInsertSemicolon()) {\n if (state.type === TokenType.preIncDec) {\n state.type = TokenType.postIncDec;\n }\n next();\n }\n return false;\n }\n function parseExprSubscripts() {\n const startTokenIndex = state.tokens.length;\n const wasArrow = parseExprAtom();\n if (wasArrow) {\n return true;\n }\n parseSubscripts(startTokenIndex);\n if (state.tokens.length > startTokenIndex && state.tokens[startTokenIndex].isOptionalChainStart) {\n state.tokens[state.tokens.length - 1].isOptionalChainEnd = true;\n }\n return false;\n }\n function parseSubscripts(startTokenIndex, noCalls = false) {\n if (isFlowEnabled) {\n flowParseSubscripts(startTokenIndex, noCalls);\n } else {\n baseParseSubscripts(startTokenIndex, noCalls);\n }\n }\n function baseParseSubscripts(startTokenIndex, noCalls = false) {\n const stopState = new StopState(false);\n do {\n parseSubscript(startTokenIndex, noCalls, stopState);\n } while (!stopState.stop && !state.error);\n }\n function parseSubscript(startTokenIndex, noCalls, stopState) {\n if (isTypeScriptEnabled) {\n tsParseSubscript(startTokenIndex, noCalls, stopState);\n } else if (isFlowEnabled) {\n flowParseSubscript(startTokenIndex, noCalls, stopState);\n } else {\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n }\n function baseParseSubscript(startTokenIndex, noCalls, stopState) {\n if (!noCalls && eat(TokenType.doubleColon)) {\n parseNoCallExpr();\n stopState.stop = true;\n parseSubscripts(startTokenIndex, noCalls);\n } else if (match(TokenType.questionDot)) {\n state.tokens[startTokenIndex].isOptionalChainStart = true;\n if (noCalls && lookaheadType() === TokenType.parenL) {\n stopState.stop = true;\n return;\n }\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n if (eat(TokenType.bracketL)) {\n parseExpression();\n expect(TokenType.bracketR);\n } else if (eat(TokenType.parenL)) {\n parseCallExpressionArguments();\n } else {\n parseMaybePrivateName();\n }\n } else if (eat(TokenType.dot)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseMaybePrivateName();\n } else if (eat(TokenType.bracketL)) {\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n parseExpression();\n expect(TokenType.bracketR);\n } else if (!noCalls && match(TokenType.parenL)) {\n if (atPossibleAsync()) {\n const snapshot = state.snapshot();\n const asyncStartTokenIndex = state.tokens.length;\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n const callContextId = getNextContextId();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n parseCallExpressionArguments();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n if (shouldParseAsyncArrow()) {\n state.restoreFromSnapshot(snapshot);\n stopState.stop = true;\n state.scopeDepth++;\n parseFunctionParams();\n parseAsyncArrowFromCallExpression(asyncStartTokenIndex);\n }\n } else {\n next();\n state.tokens[state.tokens.length - 1].subscriptStartIndex = startTokenIndex;\n const callContextId = getNextContextId();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n parseCallExpressionArguments();\n state.tokens[state.tokens.length - 1].contextId = callContextId;\n }\n } else if (match(TokenType.backQuote)) {\n parseTemplate();\n } else {\n stopState.stop = true;\n }\n }\n function atPossibleAsync() {\n return state.tokens[state.tokens.length - 1].contextualKeyword === ContextualKeyword._async && !canInsertSemicolon();\n }\n function parseCallExpressionArguments() {\n let first = true;\n while (!eat(TokenType.parenR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.parenR)) {\n break;\n }\n }\n parseExprListItem(false);\n }\n }\n function shouldParseAsyncArrow() {\n return match(TokenType.colon) || match(TokenType.arrow);\n }\n function parseAsyncArrowFromCallExpression(startTokenIndex) {\n if (isTypeScriptEnabled) {\n tsStartParseAsyncArrowFromCallExpression();\n } else if (isFlowEnabled) {\n flowStartParseAsyncArrowFromCallExpression();\n }\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n }\n function parseNoCallExpr() {\n const startTokenIndex = state.tokens.length;\n parseExprAtom();\n parseSubscripts(startTokenIndex, true);\n }\n function parseExprAtom() {\n if (eat(TokenType.modulo)) {\n parseIdentifier();\n return false;\n }\n if (match(TokenType.jsxText) || match(TokenType.jsxEmptyText)) {\n parseLiteral();\n return false;\n } else if (match(TokenType.lessThan) && isJSXEnabled) {\n state.type = TokenType.jsxTagStart;\n jsxParseElement();\n next();\n return false;\n }\n const canBeArrow = state.potentialArrowAt === state.start;\n switch (state.type) {\n case TokenType.slash:\n case TokenType.assign:\n retokenizeSlashAsRegex();\n // Fall through.\n case TokenType._super:\n case TokenType._this:\n case TokenType.regexp:\n case TokenType.num:\n case TokenType.bigint:\n case TokenType.decimal:\n case TokenType.string:\n case TokenType._null:\n case TokenType._true:\n case TokenType._false:\n next();\n return false;\n case TokenType._import:\n next();\n if (match(TokenType.dot)) {\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n next();\n parseIdentifier();\n }\n return false;\n case TokenType.name: {\n const startTokenIndex = state.tokens.length;\n const functionStart = state.start;\n const contextualKeyword = state.contextualKeyword;\n parseIdentifier();\n if (contextualKeyword === ContextualKeyword._await) {\n parseAwait();\n return false;\n } else if (contextualKeyword === ContextualKeyword._async && match(TokenType._function) && !canInsertSemicolon()) {\n next();\n parseFunction(functionStart, false);\n return false;\n } else if (canBeArrow && contextualKeyword === ContextualKeyword._async && !canInsertSemicolon() && match(TokenType.name)) {\n state.scopeDepth++;\n parseBindingIdentifier(false);\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n return true;\n } else if (match(TokenType._do) && !canInsertSemicolon()) {\n next();\n parseBlock();\n return false;\n }\n if (canBeArrow && !canInsertSemicolon() && match(TokenType.arrow)) {\n state.scopeDepth++;\n markPriorBindingIdentifier(false);\n expect(TokenType.arrow);\n parseArrowExpression(startTokenIndex);\n return true;\n }\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.Access;\n return false;\n }\n case TokenType._do: {\n next();\n parseBlock();\n return false;\n }\n case TokenType.parenL: {\n const wasArrow = parseParenAndDistinguishExpression(canBeArrow);\n return wasArrow;\n }\n case TokenType.bracketL:\n next();\n parseExprList(TokenType.bracketR, true);\n return false;\n case TokenType.braceL:\n parseObj(false, false);\n return false;\n case TokenType._function:\n parseFunctionExpression();\n return false;\n case TokenType.at:\n parseDecorators();\n // Fall through.\n case TokenType._class:\n parseClass(false);\n return false;\n case TokenType._new:\n parseNew();\n return false;\n case TokenType.backQuote:\n parseTemplate();\n return false;\n case TokenType.doubleColon: {\n next();\n parseNoCallExpr();\n return false;\n }\n case TokenType.hash: {\n const code = lookaheadCharCode();\n if (IS_IDENTIFIER_START[code] || code === charCodes.backslash) {\n parseMaybePrivateName();\n } else {\n next();\n }\n return false;\n }\n default:\n unexpected();\n return false;\n }\n }\n function parseMaybePrivateName() {\n eat(TokenType.hash);\n parseIdentifier();\n }\n function parseFunctionExpression() {\n const functionStart = state.start;\n parseIdentifier();\n if (eat(TokenType.dot)) {\n parseIdentifier();\n }\n parseFunction(functionStart, false);\n }\n function parseLiteral() {\n next();\n }\n function parseParenExpression() {\n expect(TokenType.parenL);\n parseExpression();\n expect(TokenType.parenR);\n }\n function parseParenAndDistinguishExpression(canBeArrow) {\n const snapshot = state.snapshot();\n const startTokenIndex = state.tokens.length;\n expect(TokenType.parenL);\n let first = true;\n while (!match(TokenType.parenR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (match(TokenType.parenR)) {\n break;\n }\n }\n if (match(TokenType.ellipsis)) {\n parseRest(\n false\n /* isBlockScope */\n );\n parseParenItem();\n break;\n } else {\n parseMaybeAssign(false, true);\n }\n }\n expect(TokenType.parenR);\n if (canBeArrow && shouldParseArrow()) {\n const wasArrow = parseArrow();\n if (wasArrow) {\n state.restoreFromSnapshot(snapshot);\n state.scopeDepth++;\n parseFunctionParams();\n parseArrow();\n parseArrowExpression(startTokenIndex);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n parseParenAndDistinguishExpression(false);\n return false;\n }\n return true;\n }\n }\n return false;\n }\n function shouldParseArrow() {\n return match(TokenType.colon) || !canInsertSemicolon();\n }\n function parseArrow() {\n if (isTypeScriptEnabled) {\n return tsParseArrow();\n } else if (isFlowEnabled) {\n return flowParseArrow();\n } else {\n return eat(TokenType.arrow);\n }\n }\n function parseParenItem() {\n if (isTypeScriptEnabled || isFlowEnabled) {\n typedParseParenItem();\n }\n }\n function parseNew() {\n expect(TokenType._new);\n if (eat(TokenType.dot)) {\n parseIdentifier();\n return;\n }\n parseNewCallee();\n if (isFlowEnabled) {\n flowStartParseNewArguments();\n }\n if (eat(TokenType.parenL)) {\n parseExprList(TokenType.parenR);\n }\n }\n function parseNewCallee() {\n parseNoCallExpr();\n eat(TokenType.questionDot);\n }\n function parseTemplate() {\n nextTemplateToken();\n nextTemplateToken();\n while (!match(TokenType.backQuote) && !state.error) {\n expect(TokenType.dollarBraceL);\n parseExpression();\n nextTemplateToken();\n nextTemplateToken();\n }\n next();\n }\n function parseObj(isPattern, isBlockScope) {\n const contextId = getNextContextId();\n let first = true;\n next();\n state.tokens[state.tokens.length - 1].contextId = contextId;\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n let isGenerator = false;\n if (match(TokenType.ellipsis)) {\n const previousIndex = state.tokens.length;\n parseSpread();\n if (isPattern) {\n if (state.tokens.length === previousIndex + 2) {\n markPriorBindingIdentifier(isBlockScope);\n }\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n continue;\n }\n if (!isPattern) {\n isGenerator = eat(TokenType.star);\n }\n if (!isPattern && isContextual(ContextualKeyword._async)) {\n if (isGenerator) unexpected();\n parseIdentifier();\n if (match(TokenType.colon) || match(TokenType.parenL) || match(TokenType.braceR) || match(TokenType.eq) || match(TokenType.comma)) {\n } else {\n if (match(TokenType.star)) {\n next();\n isGenerator = true;\n }\n parsePropertyName(contextId);\n }\n } else {\n parsePropertyName(contextId);\n }\n parseObjPropValue(isPattern, isBlockScope, contextId);\n }\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n function isGetterOrSetterMethod(isPattern) {\n return !isPattern && (match(TokenType.string) || // get \"string\"() {}\n match(TokenType.num) || // get 1() {}\n match(TokenType.bracketL) || // get [\"string\"]() {}\n match(TokenType.name) || // get foo() {}\n !!(state.type & TokenType.IS_KEYWORD));\n }\n function parseObjectMethod(isPattern, objectContextId) {\n const functionStart = state.start;\n if (match(TokenType.parenL)) {\n if (isPattern) unexpected();\n parseMethod(\n functionStart,\n /* isConstructor */\n false\n );\n return true;\n }\n if (isGetterOrSetterMethod(isPattern)) {\n parsePropertyName(objectContextId);\n parseMethod(\n functionStart,\n /* isConstructor */\n false\n );\n return true;\n }\n return false;\n }\n function parseObjectProperty(isPattern, isBlockScope) {\n if (eat(TokenType.colon)) {\n if (isPattern) {\n parseMaybeDefault(isBlockScope);\n } else {\n parseMaybeAssign(false);\n }\n return;\n }\n let identifierRole;\n if (isPattern) {\n if (state.scopeDepth === 0) {\n identifierRole = IdentifierRole.ObjectShorthandTopLevelDeclaration;\n } else if (isBlockScope) {\n identifierRole = IdentifierRole.ObjectShorthandBlockScopedDeclaration;\n } else {\n identifierRole = IdentifierRole.ObjectShorthandFunctionScopedDeclaration;\n }\n } else {\n identifierRole = IdentifierRole.ObjectShorthand;\n }\n state.tokens[state.tokens.length - 1].identifierRole = identifierRole;\n parseMaybeDefault(isBlockScope, true);\n }\n function parseObjPropValue(isPattern, isBlockScope, objectContextId) {\n if (isTypeScriptEnabled) {\n tsStartParseObjPropValue();\n } else if (isFlowEnabled) {\n flowStartParseObjPropValue();\n }\n const wasMethod = parseObjectMethod(isPattern, objectContextId);\n if (!wasMethod) {\n parseObjectProperty(isPattern, isBlockScope);\n }\n }\n function parsePropertyName(objectContextId) {\n if (isFlowEnabled) {\n flowParseVariance();\n }\n if (eat(TokenType.bracketL)) {\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n parseMaybeAssign();\n expect(TokenType.bracketR);\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n } else {\n if (match(TokenType.num) || match(TokenType.string) || match(TokenType.bigint) || match(TokenType.decimal)) {\n parseExprAtom();\n } else {\n parseMaybePrivateName();\n }\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ObjectKey;\n state.tokens[state.tokens.length - 1].contextId = objectContextId;\n }\n }\n function parseMethod(functionStart, isConstructor) {\n const funcContextId = getNextContextId();\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n const allowModifiers = isConstructor;\n parseFunctionParams(allowModifiers, funcContextId);\n parseFunctionBodyAndFinish(functionStart, funcContextId);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n function parseArrowExpression(startTokenIndex) {\n parseFunctionBody(true);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n function parseFunctionBodyAndFinish(functionStart, funcContextId = 0) {\n if (isTypeScriptEnabled) {\n tsParseFunctionBodyAndFinish(functionStart, funcContextId);\n } else if (isFlowEnabled) {\n flowParseFunctionBodyAndFinish(funcContextId);\n } else {\n parseFunctionBody(false, funcContextId);\n }\n }\n function parseFunctionBody(allowExpression, funcContextId = 0) {\n const isExpression = allowExpression && !match(TokenType.braceL);\n if (isExpression) {\n parseMaybeAssign();\n } else {\n parseBlock(true, funcContextId);\n }\n }\n function parseExprList(close, allowEmpty = false) {\n let first = true;\n while (!eat(close) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(close)) break;\n }\n parseExprListItem(allowEmpty);\n }\n }\n function parseExprListItem(allowEmpty) {\n if (allowEmpty && match(TokenType.comma)) {\n } else if (match(TokenType.ellipsis)) {\n parseSpread();\n parseParenItem();\n } else if (match(TokenType.question)) {\n next();\n } else {\n parseMaybeAssign(false, true);\n }\n }\n function parseIdentifier() {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n }\n function parseAwait() {\n parseMaybeUnary();\n }\n function parseYield() {\n next();\n if (!match(TokenType.semi) && !canInsertSemicolon()) {\n eat(TokenType.star);\n parseMaybeAssign();\n }\n }\n function parseModuleExpression() {\n expectContextual(ContextualKeyword._module);\n expect(TokenType.braceL);\n parseBlockBody(TokenType.braceR);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/plugins/flow.js\n function isMaybeDefaultImport(lookahead) {\n return (lookahead.type === TokenType.name || !!(lookahead.type & TokenType.IS_KEYWORD)) && lookahead.contextualKeyword !== ContextualKeyword._from;\n }\n function flowParseTypeInitialiser(tok) {\n const oldIsType = pushTypeContext(0);\n expect(tok || TokenType.colon);\n flowParseType();\n popTypeContext(oldIsType);\n }\n function flowParsePredicate() {\n expect(TokenType.modulo);\n expectContextual(ContextualKeyword._checks);\n if (eat(TokenType.parenL)) {\n parseExpression();\n expect(TokenType.parenR);\n }\n }\n function flowParseTypeAndPredicateInitialiser() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.colon);\n if (match(TokenType.modulo)) {\n flowParsePredicate();\n } else {\n flowParseType();\n if (match(TokenType.modulo)) {\n flowParsePredicate();\n }\n }\n popTypeContext(oldIsType);\n }\n function flowParseDeclareClass() {\n next();\n flowParseInterfaceish(\n /* isClass */\n true\n );\n }\n function flowParseDeclareFunction() {\n next();\n parseIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n expect(TokenType.parenL);\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n flowParseTypeAndPredicateInitialiser();\n semicolon();\n }\n function flowParseDeclare() {\n if (match(TokenType._class)) {\n flowParseDeclareClass();\n } else if (match(TokenType._function)) {\n flowParseDeclareFunction();\n } else if (match(TokenType._var)) {\n flowParseDeclareVariable();\n } else if (eatContextual(ContextualKeyword._module)) {\n if (eat(TokenType.dot)) {\n flowParseDeclareModuleExports();\n } else {\n flowParseDeclareModule();\n }\n } else if (isContextual(ContextualKeyword._type)) {\n flowParseDeclareTypeAlias();\n } else if (isContextual(ContextualKeyword._opaque)) {\n flowParseDeclareOpaqueType();\n } else if (isContextual(ContextualKeyword._interface)) {\n flowParseDeclareInterface();\n } else if (match(TokenType._export)) {\n flowParseDeclareExportDeclaration();\n } else {\n unexpected();\n }\n }\n function flowParseDeclareVariable() {\n next();\n flowParseTypeAnnotatableIdentifier();\n semicolon();\n }\n function flowParseDeclareModule() {\n if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseIdentifier();\n }\n expect(TokenType.braceL);\n while (!match(TokenType.braceR) && !state.error) {\n if (match(TokenType._import)) {\n next();\n parseImport();\n } else {\n unexpected();\n }\n }\n expect(TokenType.braceR);\n }\n function flowParseDeclareExportDeclaration() {\n expect(TokenType._export);\n if (eat(TokenType._default)) {\n if (match(TokenType._function) || match(TokenType._class)) {\n flowParseDeclare();\n } else {\n flowParseType();\n semicolon();\n }\n } else if (match(TokenType._var) || // declare export var ...\n match(TokenType._function) || // declare export function ...\n match(TokenType._class) || // declare export class ...\n isContextual(ContextualKeyword._opaque)) {\n flowParseDeclare();\n } else if (match(TokenType.star) || // declare export * from ''\n match(TokenType.braceL) || // declare export {} ...\n isContextual(ContextualKeyword._interface) || // declare export interface ...\n isContextual(ContextualKeyword._type) || // declare export type ...\n isContextual(ContextualKeyword._opaque)) {\n parseExport();\n } else {\n unexpected();\n }\n }\n function flowParseDeclareModuleExports() {\n expectContextual(ContextualKeyword._exports);\n flowParseTypeAnnotation();\n semicolon();\n }\n function flowParseDeclareTypeAlias() {\n next();\n flowParseTypeAlias();\n }\n function flowParseDeclareOpaqueType() {\n next();\n flowParseOpaqueType(true);\n }\n function flowParseDeclareInterface() {\n next();\n flowParseInterfaceish();\n }\n function flowParseInterfaceish(isClass = false) {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n if (eat(TokenType._extends)) {\n do {\n flowParseInterfaceExtends();\n } while (!isClass && eat(TokenType.comma));\n }\n if (isContextual(ContextualKeyword._mixins)) {\n next();\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n if (isContextual(ContextualKeyword._implements)) {\n next();\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n flowParseObjectType(isClass, false, isClass);\n }\n function flowParseInterfaceExtends() {\n flowParseQualifiedTypeIdentifier(false);\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n }\n function flowParseInterface() {\n flowParseInterfaceish();\n }\n function flowParseRestrictedIdentifier() {\n parseIdentifier();\n }\n function flowParseTypeAlias() {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n flowParseTypeInitialiser(TokenType.eq);\n semicolon();\n }\n function flowParseOpaqueType(declare) {\n expectContextual(ContextualKeyword._type);\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n if (match(TokenType.colon)) {\n flowParseTypeInitialiser(TokenType.colon);\n }\n if (!declare) {\n flowParseTypeInitialiser(TokenType.eq);\n }\n semicolon();\n }\n function flowParseTypeParameter() {\n flowParseVariance();\n flowParseTypeAnnotatableIdentifier();\n if (eat(TokenType.eq)) {\n flowParseType();\n }\n }\n function flowParseTypeParameterDeclaration() {\n const oldIsType = pushTypeContext(0);\n if (match(TokenType.lessThan) || match(TokenType.typeParameterStart)) {\n next();\n } else {\n unexpected();\n }\n do {\n flowParseTypeParameter();\n if (!match(TokenType.greaterThan)) {\n expect(TokenType.comma);\n }\n } while (!match(TokenType.greaterThan) && !state.error);\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n function flowParseTypeParameterInstantiation() {\n const oldIsType = pushTypeContext(0);\n expect(TokenType.lessThan);\n while (!match(TokenType.greaterThan) && !state.error) {\n flowParseType();\n if (!match(TokenType.greaterThan)) {\n expect(TokenType.comma);\n }\n }\n expect(TokenType.greaterThan);\n popTypeContext(oldIsType);\n }\n function flowParseInterfaceType() {\n expectContextual(ContextualKeyword._interface);\n if (eat(TokenType._extends)) {\n do {\n flowParseInterfaceExtends();\n } while (eat(TokenType.comma));\n }\n flowParseObjectType(false, false, false);\n }\n function flowParseObjectPropertyKey() {\n if (match(TokenType.num) || match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseIdentifier();\n }\n }\n function flowParseObjectTypeIndexer() {\n if (lookaheadType() === TokenType.colon) {\n flowParseObjectPropertyKey();\n flowParseTypeInitialiser();\n } else {\n flowParseType();\n }\n expect(TokenType.bracketR);\n flowParseTypeInitialiser();\n }\n function flowParseObjectTypeInternalSlot() {\n flowParseObjectPropertyKey();\n expect(TokenType.bracketR);\n expect(TokenType.bracketR);\n if (match(TokenType.lessThan) || match(TokenType.parenL)) {\n flowParseObjectTypeMethodish();\n } else {\n eat(TokenType.question);\n flowParseTypeInitialiser();\n }\n }\n function flowParseObjectTypeMethodish() {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n expect(TokenType.parenL);\n while (!match(TokenType.parenR) && !match(TokenType.ellipsis) && !state.error) {\n flowParseFunctionTypeParam();\n if (!match(TokenType.parenR)) {\n expect(TokenType.comma);\n }\n }\n if (eat(TokenType.ellipsis)) {\n flowParseFunctionTypeParam();\n }\n expect(TokenType.parenR);\n flowParseTypeInitialiser();\n }\n function flowParseObjectTypeCallProperty() {\n flowParseObjectTypeMethodish();\n }\n function flowParseObjectType(allowStatic, allowExact, allowProto) {\n let endDelim;\n if (allowExact && match(TokenType.braceBarL)) {\n expect(TokenType.braceBarL);\n endDelim = TokenType.braceBarR;\n } else {\n expect(TokenType.braceL);\n endDelim = TokenType.braceR;\n }\n while (!match(endDelim) && !state.error) {\n if (allowProto && isContextual(ContextualKeyword._proto)) {\n const lookahead = lookaheadType();\n if (lookahead !== TokenType.colon && lookahead !== TokenType.question) {\n next();\n allowStatic = false;\n }\n }\n if (allowStatic && isContextual(ContextualKeyword._static)) {\n const lookahead = lookaheadType();\n if (lookahead !== TokenType.colon && lookahead !== TokenType.question) {\n next();\n }\n }\n flowParseVariance();\n if (eat(TokenType.bracketL)) {\n if (eat(TokenType.bracketL)) {\n flowParseObjectTypeInternalSlot();\n } else {\n flowParseObjectTypeIndexer();\n }\n } else if (match(TokenType.parenL) || match(TokenType.lessThan)) {\n flowParseObjectTypeCallProperty();\n } else {\n if (isContextual(ContextualKeyword._get) || isContextual(ContextualKeyword._set)) {\n const lookahead = lookaheadType();\n if (lookahead === TokenType.name || lookahead === TokenType.string || lookahead === TokenType.num) {\n next();\n }\n }\n flowParseObjectTypeProperty();\n }\n flowObjectTypeSemicolon();\n }\n expect(endDelim);\n }\n function flowParseObjectTypeProperty() {\n if (match(TokenType.ellipsis)) {\n expect(TokenType.ellipsis);\n if (!eat(TokenType.comma)) {\n eat(TokenType.semi);\n }\n if (match(TokenType.braceR)) {\n return;\n }\n flowParseType();\n } else {\n flowParseObjectPropertyKey();\n if (match(TokenType.lessThan) || match(TokenType.parenL)) {\n flowParseObjectTypeMethodish();\n } else {\n eat(TokenType.question);\n flowParseTypeInitialiser();\n }\n }\n }\n function flowObjectTypeSemicolon() {\n if (!eat(TokenType.semi) && !eat(TokenType.comma) && !match(TokenType.braceR) && !match(TokenType.braceBarR)) {\n unexpected();\n }\n }\n function flowParseQualifiedTypeIdentifier(initialIdAlreadyParsed) {\n if (!initialIdAlreadyParsed) {\n parseIdentifier();\n }\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n }\n function flowParseGenericType() {\n flowParseQualifiedTypeIdentifier(true);\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n }\n function flowParseTypeofType() {\n expect(TokenType._typeof);\n flowParsePrimaryType();\n }\n function flowParseTupleType() {\n expect(TokenType.bracketL);\n while (state.pos < input.length && !match(TokenType.bracketR)) {\n flowParseType();\n if (match(TokenType.bracketR)) {\n break;\n }\n expect(TokenType.comma);\n }\n expect(TokenType.bracketR);\n }\n function flowParseFunctionTypeParam() {\n const lookahead = lookaheadType();\n if (lookahead === TokenType.colon || lookahead === TokenType.question) {\n parseIdentifier();\n eat(TokenType.question);\n flowParseTypeInitialiser();\n } else {\n flowParseType();\n }\n }\n function flowParseFunctionTypeParams() {\n while (!match(TokenType.parenR) && !match(TokenType.ellipsis) && !state.error) {\n flowParseFunctionTypeParam();\n if (!match(TokenType.parenR)) {\n expect(TokenType.comma);\n }\n }\n if (eat(TokenType.ellipsis)) {\n flowParseFunctionTypeParam();\n }\n }\n function flowParsePrimaryType() {\n let isGroupedType = false;\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n switch (state.type) {\n case TokenType.name: {\n if (isContextual(ContextualKeyword._interface)) {\n flowParseInterfaceType();\n return;\n }\n parseIdentifier();\n flowParseGenericType();\n return;\n }\n case TokenType.braceL:\n flowParseObjectType(false, false, false);\n return;\n case TokenType.braceBarL:\n flowParseObjectType(false, true, false);\n return;\n case TokenType.bracketL:\n flowParseTupleType();\n return;\n case TokenType.lessThan:\n flowParseTypeParameterDeclaration();\n expect(TokenType.parenL);\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n expect(TokenType.arrow);\n flowParseType();\n return;\n case TokenType.parenL:\n next();\n if (!match(TokenType.parenR) && !match(TokenType.ellipsis)) {\n if (match(TokenType.name)) {\n const token = lookaheadType();\n isGroupedType = token !== TokenType.question && token !== TokenType.colon;\n } else {\n isGroupedType = true;\n }\n }\n if (isGroupedType) {\n state.noAnonFunctionType = false;\n flowParseType();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n if (state.noAnonFunctionType || !(match(TokenType.comma) || match(TokenType.parenR) && lookaheadType() === TokenType.arrow)) {\n expect(TokenType.parenR);\n return;\n } else {\n eat(TokenType.comma);\n }\n }\n flowParseFunctionTypeParams();\n expect(TokenType.parenR);\n expect(TokenType.arrow);\n flowParseType();\n return;\n case TokenType.minus:\n next();\n parseLiteral();\n return;\n case TokenType.string:\n case TokenType.num:\n case TokenType._true:\n case TokenType._false:\n case TokenType._null:\n case TokenType._this:\n case TokenType._void:\n case TokenType.star:\n next();\n return;\n default:\n if (state.type === TokenType._typeof) {\n flowParseTypeofType();\n return;\n } else if (state.type & TokenType.IS_KEYWORD) {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType.name;\n return;\n }\n }\n unexpected();\n }\n function flowParsePostfixType() {\n flowParsePrimaryType();\n while (!canInsertSemicolon() && (match(TokenType.bracketL) || match(TokenType.questionDot))) {\n eat(TokenType.questionDot);\n expect(TokenType.bracketL);\n if (eat(TokenType.bracketR)) {\n } else {\n flowParseType();\n expect(TokenType.bracketR);\n }\n }\n }\n function flowParsePrefixType() {\n if (eat(TokenType.question)) {\n flowParsePrefixType();\n } else {\n flowParsePostfixType();\n }\n }\n function flowParseAnonFunctionWithoutParens() {\n flowParsePrefixType();\n if (!state.noAnonFunctionType && eat(TokenType.arrow)) {\n flowParseType();\n }\n }\n function flowParseIntersectionType() {\n eat(TokenType.bitwiseAND);\n flowParseAnonFunctionWithoutParens();\n while (eat(TokenType.bitwiseAND)) {\n flowParseAnonFunctionWithoutParens();\n }\n }\n function flowParseUnionType() {\n eat(TokenType.bitwiseOR);\n flowParseIntersectionType();\n while (eat(TokenType.bitwiseOR)) {\n flowParseIntersectionType();\n }\n }\n function flowParseType() {\n flowParseUnionType();\n }\n function flowParseTypeAnnotation() {\n flowParseTypeInitialiser();\n }\n function flowParseTypeAnnotatableIdentifier() {\n parseIdentifier();\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n function flowParseVariance() {\n if (match(TokenType.plus) || match(TokenType.minus)) {\n next();\n state.tokens[state.tokens.length - 1].isType = true;\n }\n }\n function flowParseFunctionBodyAndFinish(funcContextId) {\n if (match(TokenType.colon)) {\n flowParseTypeAndPredicateInitialiser();\n }\n parseFunctionBody(false, funcContextId);\n }\n function flowParseSubscript(startTokenIndex, noCalls, stopState) {\n if (match(TokenType.questionDot) && lookaheadType() === TokenType.lessThan) {\n if (noCalls) {\n stopState.stop = true;\n return;\n }\n next();\n flowParseTypeParameterInstantiation();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n return;\n } else if (!noCalls && match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n flowParseTypeParameterInstantiation();\n expect(TokenType.parenL);\n parseCallExpressionArguments();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n } else {\n return;\n }\n }\n baseParseSubscript(startTokenIndex, noCalls, stopState);\n }\n function flowStartParseNewArguments() {\n if (match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n flowParseTypeParameterInstantiation();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n }\n }\n function flowTryParseStatement() {\n if (match(TokenType.name) && state.contextualKeyword === ContextualKeyword._interface) {\n const oldIsType = pushTypeContext(0);\n next();\n flowParseInterface();\n popTypeContext(oldIsType);\n return true;\n } else if (isContextual(ContextualKeyword._enum)) {\n flowParseEnumDeclaration();\n return true;\n }\n return false;\n }\n function flowTryParseExportDefaultExpression() {\n if (isContextual(ContextualKeyword._enum)) {\n flowParseEnumDeclaration();\n return true;\n }\n return false;\n }\n function flowParseIdentifierStatement(contextualKeyword) {\n if (contextualKeyword === ContextualKeyword._declare) {\n if (match(TokenType._class) || match(TokenType.name) || match(TokenType._function) || match(TokenType._var) || match(TokenType._export)) {\n const oldIsType = pushTypeContext(1);\n flowParseDeclare();\n popTypeContext(oldIsType);\n }\n } else if (match(TokenType.name)) {\n if (contextualKeyword === ContextualKeyword._interface) {\n const oldIsType = pushTypeContext(1);\n flowParseInterface();\n popTypeContext(oldIsType);\n } else if (contextualKeyword === ContextualKeyword._type) {\n const oldIsType = pushTypeContext(1);\n flowParseTypeAlias();\n popTypeContext(oldIsType);\n } else if (contextualKeyword === ContextualKeyword._opaque) {\n const oldIsType = pushTypeContext(1);\n flowParseOpaqueType(false);\n popTypeContext(oldIsType);\n }\n }\n semicolon();\n }\n function flowShouldParseExportDeclaration() {\n return isContextual(ContextualKeyword._type) || isContextual(ContextualKeyword._interface) || isContextual(ContextualKeyword._opaque) || isContextual(ContextualKeyword._enum);\n }\n function flowShouldDisallowExportDefaultSpecifier() {\n return match(TokenType.name) && (state.contextualKeyword === ContextualKeyword._type || state.contextualKeyword === ContextualKeyword._interface || state.contextualKeyword === ContextualKeyword._opaque || state.contextualKeyword === ContextualKeyword._enum);\n }\n function flowParseExportDeclaration() {\n if (isContextual(ContextualKeyword._type)) {\n const oldIsType = pushTypeContext(1);\n next();\n if (match(TokenType.braceL)) {\n parseExportSpecifiers();\n parseExportFrom();\n } else {\n flowParseTypeAlias();\n }\n popTypeContext(oldIsType);\n } else if (isContextual(ContextualKeyword._opaque)) {\n const oldIsType = pushTypeContext(1);\n next();\n flowParseOpaqueType(false);\n popTypeContext(oldIsType);\n } else if (isContextual(ContextualKeyword._interface)) {\n const oldIsType = pushTypeContext(1);\n next();\n flowParseInterface();\n popTypeContext(oldIsType);\n } else {\n parseStatement(true);\n }\n }\n function flowShouldParseExportStar() {\n return match(TokenType.star) || isContextual(ContextualKeyword._type) && lookaheadType() === TokenType.star;\n }\n function flowParseExportStar() {\n if (eatContextual(ContextualKeyword._type)) {\n const oldIsType = pushTypeContext(2);\n baseParseExportStar();\n popTypeContext(oldIsType);\n } else {\n baseParseExportStar();\n }\n }\n function flowAfterParseClassSuper(hasSuper) {\n if (hasSuper && match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n if (isContextual(ContextualKeyword._implements)) {\n const oldIsType = pushTypeContext(0);\n next();\n state.tokens[state.tokens.length - 1].type = TokenType._implements;\n do {\n flowParseRestrictedIdentifier();\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterInstantiation();\n }\n } while (eat(TokenType.comma));\n popTypeContext(oldIsType);\n }\n }\n function flowStartParseObjPropValue() {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n if (!match(TokenType.parenL)) unexpected();\n }\n }\n function flowParseAssignableListItemTypes() {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n popTypeContext(oldIsType);\n }\n function flowStartParseImportSpecifiers() {\n if (match(TokenType._typeof) || isContextual(ContextualKeyword._type)) {\n const lh = lookaheadTypeAndKeyword();\n if (isMaybeDefaultImport(lh) || lh.type === TokenType.braceL || lh.type === TokenType.star) {\n next();\n }\n }\n }\n function flowParseImportSpecifier() {\n const isTypeKeyword = state.contextualKeyword === ContextualKeyword._type || state.type === TokenType._typeof;\n if (isTypeKeyword) {\n next();\n } else {\n parseIdentifier();\n }\n if (isContextual(ContextualKeyword._as) && !isLookaheadContextual(ContextualKeyword._as)) {\n parseIdentifier();\n if (isTypeKeyword && !match(TokenType.name) && !(state.type & TokenType.IS_KEYWORD)) {\n } else {\n parseIdentifier();\n }\n } else {\n if (isTypeKeyword && (match(TokenType.name) || !!(state.type & TokenType.IS_KEYWORD))) {\n parseIdentifier();\n }\n if (eatContextual(ContextualKeyword._as)) {\n parseIdentifier();\n }\n }\n }\n function flowStartParseFunctionParams() {\n if (match(TokenType.lessThan)) {\n const oldIsType = pushTypeContext(0);\n flowParseTypeParameterDeclaration();\n popTypeContext(oldIsType);\n }\n }\n function flowAfterParseVarHead() {\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n function flowStartParseAsyncArrowFromCallExpression() {\n if (match(TokenType.colon)) {\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n state.noAnonFunctionType = true;\n flowParseTypeAnnotation();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n }\n }\n function flowParseMaybeAssign(noIn, isWithinParens) {\n if (match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n let wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n state.type = TokenType.typeParameterStart;\n } else {\n return wasArrow;\n }\n const oldIsType = pushTypeContext(0);\n flowParseTypeParameterDeclaration();\n popTypeContext(oldIsType);\n wasArrow = baseParseMaybeAssign(noIn, isWithinParens);\n if (wasArrow) {\n return true;\n }\n unexpected();\n }\n return baseParseMaybeAssign(noIn, isWithinParens);\n }\n function flowParseArrow() {\n if (match(TokenType.colon)) {\n const oldIsType = pushTypeContext(0);\n const snapshot = state.snapshot();\n const oldNoAnonFunctionType = state.noAnonFunctionType;\n state.noAnonFunctionType = true;\n flowParseTypeAndPredicateInitialiser();\n state.noAnonFunctionType = oldNoAnonFunctionType;\n if (canInsertSemicolon()) unexpected();\n if (!match(TokenType.arrow)) unexpected();\n if (state.error) {\n state.restoreFromSnapshot(snapshot);\n }\n popTypeContext(oldIsType);\n }\n return eat(TokenType.arrow);\n }\n function flowParseSubscripts(startTokenIndex, noCalls = false) {\n if (state.tokens[state.tokens.length - 1].contextualKeyword === ContextualKeyword._async && match(TokenType.lessThan)) {\n const snapshot = state.snapshot();\n const wasArrow = parseAsyncArrowWithTypeParameters();\n if (wasArrow && !state.error) {\n return;\n }\n state.restoreFromSnapshot(snapshot);\n }\n baseParseSubscripts(startTokenIndex, noCalls);\n }\n function parseAsyncArrowWithTypeParameters() {\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n parseFunctionParams();\n if (!parseArrow()) {\n return false;\n }\n parseArrowExpression(startTokenIndex);\n return true;\n }\n function flowParseEnumDeclaration() {\n expectContextual(ContextualKeyword._enum);\n state.tokens[state.tokens.length - 1].type = TokenType._enum;\n parseIdentifier();\n flowParseEnumBody();\n }\n function flowParseEnumBody() {\n if (eatContextual(ContextualKeyword._of)) {\n next();\n }\n expect(TokenType.braceL);\n flowParseEnumMembers();\n expect(TokenType.braceR);\n }\n function flowParseEnumMembers() {\n while (!match(TokenType.braceR) && !state.error) {\n if (eat(TokenType.ellipsis)) {\n break;\n }\n flowParseEnumMember();\n if (!match(TokenType.braceR)) {\n expect(TokenType.comma);\n }\n }\n }\n function flowParseEnumMember() {\n parseIdentifier();\n if (eat(TokenType.eq)) {\n next();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/statement.js\n function parseTopLevel() {\n parseBlockBody(TokenType.eof);\n state.scopes.push(new Scope(0, state.tokens.length, true));\n if (state.scopeDepth !== 0) {\n throw new Error(`Invalid scope depth at end of file: ${state.scopeDepth}`);\n }\n return new File2(state.tokens, state.scopes);\n }\n function parseStatement(declaration) {\n if (isFlowEnabled) {\n if (flowTryParseStatement()) {\n return;\n }\n }\n if (match(TokenType.at)) {\n parseDecorators();\n }\n parseStatementContent(declaration);\n }\n function parseStatementContent(declaration) {\n if (isTypeScriptEnabled) {\n if (tsTryParseStatementContent()) {\n return;\n }\n }\n const starttype = state.type;\n switch (starttype) {\n case TokenType._break:\n case TokenType._continue:\n parseBreakContinueStatement();\n return;\n case TokenType._debugger:\n parseDebuggerStatement();\n return;\n case TokenType._do:\n parseDoStatement();\n return;\n case TokenType._for:\n parseForStatement();\n return;\n case TokenType._function:\n if (lookaheadType() === TokenType.dot) break;\n if (!declaration) unexpected();\n parseFunctionStatement();\n return;\n case TokenType._class:\n if (!declaration) unexpected();\n parseClass(true);\n return;\n case TokenType._if:\n parseIfStatement();\n return;\n case TokenType._return:\n parseReturnStatement();\n return;\n case TokenType._switch:\n parseSwitchStatement();\n return;\n case TokenType._throw:\n parseThrowStatement();\n return;\n case TokenType._try:\n parseTryStatement();\n return;\n case TokenType._let:\n case TokenType._const:\n if (!declaration) unexpected();\n // NOTE: falls through to _var\n case TokenType._var:\n parseVarStatement(starttype !== TokenType._var);\n return;\n case TokenType._while:\n parseWhileStatement();\n return;\n case TokenType.braceL:\n parseBlock();\n return;\n case TokenType.semi:\n parseEmptyStatement();\n return;\n case TokenType._export:\n case TokenType._import: {\n const nextType = lookaheadType();\n if (nextType === TokenType.parenL || nextType === TokenType.dot) {\n break;\n }\n next();\n if (starttype === TokenType._import) {\n parseImport();\n } else {\n parseExport();\n }\n return;\n }\n case TokenType.name:\n if (state.contextualKeyword === ContextualKeyword._async) {\n const functionStart = state.start;\n const snapshot = state.snapshot();\n next();\n if (match(TokenType._function) && !canInsertSemicolon()) {\n expect(TokenType._function);\n parseFunction(functionStart, true);\n return;\n } else {\n state.restoreFromSnapshot(snapshot);\n }\n } else if (state.contextualKeyword === ContextualKeyword._using && !hasFollowingLineBreak() && // Statements like `using[0]` and `using in foo` aren't actual using\n // declarations.\n lookaheadType() === TokenType.name) {\n parseVarStatement(true);\n return;\n } else if (startsAwaitUsing()) {\n expectContextual(ContextualKeyword._await);\n parseVarStatement(true);\n return;\n }\n default:\n break;\n }\n const initialTokensLength = state.tokens.length;\n parseExpression();\n let simpleName = null;\n if (state.tokens.length === initialTokensLength + 1) {\n const token = state.tokens[state.tokens.length - 1];\n if (token.type === TokenType.name) {\n simpleName = token.contextualKeyword;\n }\n }\n if (simpleName == null) {\n semicolon();\n return;\n }\n if (eat(TokenType.colon)) {\n parseLabeledStatement();\n } else {\n parseIdentifierStatement(simpleName);\n }\n }\n function startsAwaitUsing() {\n if (!isContextual(ContextualKeyword._await)) {\n return false;\n }\n const snapshot = state.snapshot();\n next();\n if (!isContextual(ContextualKeyword._using) || hasPrecedingLineBreak()) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n next();\n if (!match(TokenType.name) || hasPrecedingLineBreak()) {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n state.restoreFromSnapshot(snapshot);\n return true;\n }\n function parseDecorators() {\n while (match(TokenType.at)) {\n parseDecorator();\n }\n }\n function parseDecorator() {\n next();\n if (eat(TokenType.parenL)) {\n parseExpression();\n expect(TokenType.parenR);\n } else {\n parseIdentifier();\n while (eat(TokenType.dot)) {\n parseIdentifier();\n }\n parseMaybeDecoratorArguments();\n }\n }\n function parseMaybeDecoratorArguments() {\n if (isTypeScriptEnabled) {\n tsParseMaybeDecoratorArguments();\n } else {\n baseParseMaybeDecoratorArguments();\n }\n }\n function baseParseMaybeDecoratorArguments() {\n if (eat(TokenType.parenL)) {\n parseCallExpressionArguments();\n }\n }\n function parseBreakContinueStatement() {\n next();\n if (!isLineTerminator()) {\n parseIdentifier();\n semicolon();\n }\n }\n function parseDebuggerStatement() {\n next();\n semicolon();\n }\n function parseDoStatement() {\n next();\n parseStatement(false);\n expect(TokenType._while);\n parseParenExpression();\n eat(TokenType.semi);\n }\n function parseForStatement() {\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n parseAmbiguousForStatement();\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n function isUsingInLoop() {\n if (!isContextual(ContextualKeyword._using)) {\n return false;\n }\n if (isLookaheadContextual(ContextualKeyword._of)) {\n return false;\n }\n return true;\n }\n function parseAmbiguousForStatement() {\n next();\n let forAwait = false;\n if (isContextual(ContextualKeyword._await)) {\n forAwait = true;\n next();\n }\n expect(TokenType.parenL);\n if (match(TokenType.semi)) {\n if (forAwait) {\n unexpected();\n }\n parseFor();\n return;\n }\n const isAwaitUsing = startsAwaitUsing();\n if (isAwaitUsing || match(TokenType._var) || match(TokenType._let) || match(TokenType._const) || isUsingInLoop()) {\n if (isAwaitUsing) {\n expectContextual(ContextualKeyword._await);\n }\n next();\n parseVar(true, state.type !== TokenType._var);\n if (match(TokenType._in) || isContextual(ContextualKeyword._of)) {\n parseForIn(forAwait);\n return;\n }\n parseFor();\n return;\n }\n parseExpression(true);\n if (match(TokenType._in) || isContextual(ContextualKeyword._of)) {\n parseForIn(forAwait);\n return;\n }\n if (forAwait) {\n unexpected();\n }\n parseFor();\n }\n function parseFunctionStatement() {\n const functionStart = state.start;\n next();\n parseFunction(functionStart, true);\n }\n function parseIfStatement() {\n next();\n parseParenExpression();\n parseStatement(false);\n if (eat(TokenType._else)) {\n parseStatement(false);\n }\n }\n function parseReturnStatement() {\n next();\n if (!isLineTerminator()) {\n parseExpression();\n semicolon();\n }\n }\n function parseSwitchStatement() {\n next();\n parseParenExpression();\n state.scopeDepth++;\n const startTokenIndex = state.tokens.length;\n expect(TokenType.braceL);\n while (!match(TokenType.braceR) && !state.error) {\n if (match(TokenType._case) || match(TokenType._default)) {\n const isCase = match(TokenType._case);\n next();\n if (isCase) {\n parseExpression();\n }\n expect(TokenType.colon);\n } else {\n parseStatement(true);\n }\n }\n next();\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n function parseThrowStatement() {\n next();\n parseExpression();\n semicolon();\n }\n function parseCatchClauseParam() {\n parseBindingAtom(\n true\n /* isBlockScope */\n );\n if (isTypeScriptEnabled) {\n tsTryParseTypeAnnotation();\n }\n }\n function parseTryStatement() {\n next();\n parseBlock();\n if (match(TokenType._catch)) {\n next();\n let catchBindingStartTokenIndex = null;\n if (match(TokenType.parenL)) {\n state.scopeDepth++;\n catchBindingStartTokenIndex = state.tokens.length;\n expect(TokenType.parenL);\n parseCatchClauseParam();\n expect(TokenType.parenR);\n }\n parseBlock();\n if (catchBindingStartTokenIndex != null) {\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(catchBindingStartTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n }\n if (eat(TokenType._finally)) {\n parseBlock();\n }\n }\n function parseVarStatement(isBlockScope) {\n next();\n parseVar(false, isBlockScope);\n semicolon();\n }\n function parseWhileStatement() {\n next();\n parseParenExpression();\n parseStatement(false);\n }\n function parseEmptyStatement() {\n next();\n }\n function parseLabeledStatement() {\n parseStatement(true);\n }\n function parseIdentifierStatement(contextualKeyword) {\n if (isTypeScriptEnabled) {\n tsParseIdentifierStatement(contextualKeyword);\n } else if (isFlowEnabled) {\n flowParseIdentifierStatement(contextualKeyword);\n } else {\n semicolon();\n }\n }\n function parseBlock(isFunctionScope = false, contextId = 0) {\n const startTokenIndex = state.tokens.length;\n state.scopeDepth++;\n expect(TokenType.braceL);\n if (contextId) {\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n parseBlockBody(TokenType.braceR);\n if (contextId) {\n state.tokens[state.tokens.length - 1].contextId = contextId;\n }\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, isFunctionScope));\n state.scopeDepth--;\n }\n function parseBlockBody(end) {\n while (!eat(end) && !state.error) {\n parseStatement(true);\n }\n }\n function parseFor() {\n expect(TokenType.semi);\n if (!match(TokenType.semi)) {\n parseExpression();\n }\n expect(TokenType.semi);\n if (!match(TokenType.parenR)) {\n parseExpression();\n }\n expect(TokenType.parenR);\n parseStatement(false);\n }\n function parseForIn(forAwait) {\n if (forAwait) {\n eatContextual(ContextualKeyword._of);\n } else {\n next();\n }\n parseExpression();\n expect(TokenType.parenR);\n parseStatement(false);\n }\n function parseVar(isFor, isBlockScope) {\n while (true) {\n parseVarHead(isBlockScope);\n if (eat(TokenType.eq)) {\n const eqIndex = state.tokens.length - 1;\n parseMaybeAssign(isFor);\n state.tokens[eqIndex].rhsEndIndex = state.tokens.length;\n }\n if (!eat(TokenType.comma)) {\n break;\n }\n }\n }\n function parseVarHead(isBlockScope) {\n parseBindingAtom(isBlockScope);\n if (isTypeScriptEnabled) {\n tsAfterParseVarHead();\n } else if (isFlowEnabled) {\n flowAfterParseVarHead();\n }\n }\n function parseFunction(functionStart, isStatement, optionalId = false) {\n if (match(TokenType.star)) {\n next();\n }\n if (isStatement && !optionalId && !match(TokenType.name) && !match(TokenType._yield)) {\n unexpected();\n }\n let nameScopeStartTokenIndex = null;\n if (match(TokenType.name)) {\n if (!isStatement) {\n nameScopeStartTokenIndex = state.tokens.length;\n state.scopeDepth++;\n }\n parseBindingIdentifier(false);\n }\n const startTokenIndex = state.tokens.length;\n state.scopeDepth++;\n parseFunctionParams();\n parseFunctionBodyAndFinish(functionStart);\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(startTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n if (nameScopeStartTokenIndex !== null) {\n state.scopes.push(new Scope(nameScopeStartTokenIndex, endTokenIndex, true));\n state.scopeDepth--;\n }\n }\n function parseFunctionParams(allowModifiers = false, funcContextId = 0) {\n if (isTypeScriptEnabled) {\n tsStartParseFunctionParams();\n } else if (isFlowEnabled) {\n flowStartParseFunctionParams();\n }\n expect(TokenType.parenL);\n if (funcContextId) {\n state.tokens[state.tokens.length - 1].contextId = funcContextId;\n }\n parseBindingList(\n TokenType.parenR,\n false,\n false,\n allowModifiers,\n funcContextId\n );\n if (funcContextId) {\n state.tokens[state.tokens.length - 1].contextId = funcContextId;\n }\n }\n function parseClass(isStatement, optionalId = false) {\n const contextId = getNextContextId();\n next();\n state.tokens[state.tokens.length - 1].contextId = contextId;\n state.tokens[state.tokens.length - 1].isExpression = !isStatement;\n let nameScopeStartTokenIndex = null;\n if (!isStatement) {\n nameScopeStartTokenIndex = state.tokens.length;\n state.scopeDepth++;\n }\n parseClassId(isStatement, optionalId);\n parseClassSuper();\n const openBraceIndex = state.tokens.length;\n parseClassBody(contextId);\n if (state.error) {\n return;\n }\n state.tokens[openBraceIndex].contextId = contextId;\n state.tokens[state.tokens.length - 1].contextId = contextId;\n if (nameScopeStartTokenIndex !== null) {\n const endTokenIndex = state.tokens.length;\n state.scopes.push(new Scope(nameScopeStartTokenIndex, endTokenIndex, false));\n state.scopeDepth--;\n }\n }\n function isClassProperty() {\n return match(TokenType.eq) || match(TokenType.semi) || match(TokenType.braceR) || match(TokenType.bang) || match(TokenType.colon);\n }\n function isClassMethod() {\n return match(TokenType.parenL) || match(TokenType.lessThan);\n }\n function parseClassBody(classContextId) {\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (eat(TokenType.semi)) {\n continue;\n }\n if (match(TokenType.at)) {\n parseDecorator();\n continue;\n }\n const memberStart = state.start;\n parseClassMember(memberStart, classContextId);\n }\n }\n function parseClassMember(memberStart, classContextId) {\n if (isTypeScriptEnabled) {\n tsParseModifiers([\n ContextualKeyword._declare,\n ContextualKeyword._public,\n ContextualKeyword._protected,\n ContextualKeyword._private,\n ContextualKeyword._override\n ]);\n }\n let isStatic = false;\n if (match(TokenType.name) && state.contextualKeyword === ContextualKeyword._static) {\n parseIdentifier();\n if (isClassMethod()) {\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n return;\n } else if (isClassProperty()) {\n parseClassProperty();\n return;\n }\n state.tokens[state.tokens.length - 1].type = TokenType._static;\n isStatic = true;\n if (match(TokenType.braceL)) {\n state.tokens[state.tokens.length - 1].contextId = classContextId;\n parseBlock();\n return;\n }\n }\n parseClassMemberWithIsStatic(memberStart, isStatic, classContextId);\n }\n function parseClassMemberWithIsStatic(memberStart, isStatic, classContextId) {\n if (isTypeScriptEnabled) {\n if (tsTryParseClassMemberWithIsStatic(isStatic)) {\n return;\n }\n }\n if (eat(TokenType.star)) {\n parseClassPropertyName(classContextId);\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n return;\n }\n parseClassPropertyName(classContextId);\n let isConstructor = false;\n const token = state.tokens[state.tokens.length - 1];\n if (token.contextualKeyword === ContextualKeyword._constructor) {\n isConstructor = true;\n }\n parsePostMemberNameModifiers();\n if (isClassMethod()) {\n parseClassMethod(memberStart, isConstructor);\n } else if (isClassProperty()) {\n parseClassProperty();\n } else if (token.contextualKeyword === ContextualKeyword._async && !isLineTerminator()) {\n state.tokens[state.tokens.length - 1].type = TokenType._async;\n const isGenerator = match(TokenType.star);\n if (isGenerator) {\n next();\n }\n parseClassPropertyName(classContextId);\n parsePostMemberNameModifiers();\n parseClassMethod(\n memberStart,\n false\n /* isConstructor */\n );\n } else if ((token.contextualKeyword === ContextualKeyword._get || token.contextualKeyword === ContextualKeyword._set) && !(isLineTerminator() && match(TokenType.star))) {\n if (token.contextualKeyword === ContextualKeyword._get) {\n state.tokens[state.tokens.length - 1].type = TokenType._get;\n } else {\n state.tokens[state.tokens.length - 1].type = TokenType._set;\n }\n parseClassPropertyName(classContextId);\n parseClassMethod(\n memberStart,\n /* isConstructor */\n false\n );\n } else if (token.contextualKeyword === ContextualKeyword._accessor && !isLineTerminator()) {\n parseClassPropertyName(classContextId);\n parseClassProperty();\n } else if (isLineTerminator()) {\n parseClassProperty();\n } else {\n unexpected();\n }\n }\n function parseClassMethod(functionStart, isConstructor) {\n if (isTypeScriptEnabled) {\n tsTryParseTypeParameters();\n } else if (isFlowEnabled) {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n }\n parseMethod(functionStart, isConstructor);\n }\n function parseClassPropertyName(classContextId) {\n parsePropertyName(classContextId);\n }\n function parsePostMemberNameModifiers() {\n if (isTypeScriptEnabled) {\n const oldIsType = pushTypeContext(0);\n eat(TokenType.question);\n popTypeContext(oldIsType);\n }\n }\n function parseClassProperty() {\n if (isTypeScriptEnabled) {\n eatTypeToken(TokenType.bang);\n tsTryParseTypeAnnotation();\n } else if (isFlowEnabled) {\n if (match(TokenType.colon)) {\n flowParseTypeAnnotation();\n }\n }\n if (match(TokenType.eq)) {\n const equalsTokenIndex = state.tokens.length;\n next();\n parseMaybeAssign();\n state.tokens[equalsTokenIndex].rhsEndIndex = state.tokens.length;\n }\n semicolon();\n }\n function parseClassId(isStatement, optionalId = false) {\n if (isTypeScriptEnabled && (!isStatement || optionalId) && isContextual(ContextualKeyword._implements)) {\n return;\n }\n if (match(TokenType.name)) {\n parseBindingIdentifier(true);\n }\n if (isTypeScriptEnabled) {\n tsTryParseTypeParameters();\n } else if (isFlowEnabled) {\n if (match(TokenType.lessThan)) {\n flowParseTypeParameterDeclaration();\n }\n }\n }\n function parseClassSuper() {\n let hasSuper = false;\n if (eat(TokenType._extends)) {\n parseExprSubscripts();\n hasSuper = true;\n } else {\n hasSuper = false;\n }\n if (isTypeScriptEnabled) {\n tsAfterParseClassSuper(hasSuper);\n } else if (isFlowEnabled) {\n flowAfterParseClassSuper(hasSuper);\n }\n }\n function parseExport() {\n const exportIndex = state.tokens.length - 1;\n if (isTypeScriptEnabled) {\n if (tsTryParseExport()) {\n return;\n }\n }\n if (shouldParseExportStar()) {\n parseExportStar();\n } else if (isExportDefaultSpecifier()) {\n parseIdentifier();\n if (match(TokenType.comma) && lookaheadType() === TokenType.star) {\n expect(TokenType.comma);\n expect(TokenType.star);\n expectContextual(ContextualKeyword._as);\n parseIdentifier();\n } else {\n parseExportSpecifiersMaybe();\n }\n parseExportFrom();\n } else if (eat(TokenType._default)) {\n parseExportDefaultExpression();\n } else if (shouldParseExportDeclaration()) {\n parseExportDeclaration();\n } else {\n parseExportSpecifiers();\n parseExportFrom();\n }\n state.tokens[exportIndex].rhsEndIndex = state.tokens.length;\n }\n function parseExportDefaultExpression() {\n if (isTypeScriptEnabled) {\n if (tsTryParseExportDefaultExpression()) {\n return;\n }\n }\n if (isFlowEnabled) {\n if (flowTryParseExportDefaultExpression()) {\n return;\n }\n }\n const functionStart = state.start;\n if (eat(TokenType._function)) {\n parseFunction(functionStart, true, true);\n } else if (isContextual(ContextualKeyword._async) && lookaheadType() === TokenType._function) {\n eatContextual(ContextualKeyword._async);\n eat(TokenType._function);\n parseFunction(functionStart, true, true);\n } else if (match(TokenType._class)) {\n parseClass(true, true);\n } else if (match(TokenType.at)) {\n parseDecorators();\n parseClass(true, true);\n } else {\n parseMaybeAssign();\n semicolon();\n }\n }\n function parseExportDeclaration() {\n if (isTypeScriptEnabled) {\n tsParseExportDeclaration();\n } else if (isFlowEnabled) {\n flowParseExportDeclaration();\n } else {\n parseStatement(true);\n }\n }\n function isExportDefaultSpecifier() {\n if (isTypeScriptEnabled && tsIsDeclarationStart()) {\n return false;\n } else if (isFlowEnabled && flowShouldDisallowExportDefaultSpecifier()) {\n return false;\n }\n if (match(TokenType.name)) {\n return state.contextualKeyword !== ContextualKeyword._async;\n }\n if (!match(TokenType._default)) {\n return false;\n }\n const _next = nextTokenStart();\n const lookahead = lookaheadTypeAndKeyword();\n const hasFrom = lookahead.type === TokenType.name && lookahead.contextualKeyword === ContextualKeyword._from;\n if (lookahead.type === TokenType.comma) {\n return true;\n }\n if (hasFrom) {\n const nextAfterFrom = input.charCodeAt(nextTokenStartSince(_next + 4));\n return nextAfterFrom === charCodes.quotationMark || nextAfterFrom === charCodes.apostrophe;\n }\n return false;\n }\n function parseExportSpecifiersMaybe() {\n if (eat(TokenType.comma)) {\n parseExportSpecifiers();\n }\n }\n function parseExportFrom() {\n if (eatContextual(ContextualKeyword._from)) {\n parseExprAtom();\n maybeParseImportAttributes();\n }\n semicolon();\n }\n function shouldParseExportStar() {\n if (isFlowEnabled) {\n return flowShouldParseExportStar();\n } else {\n return match(TokenType.star);\n }\n }\n function parseExportStar() {\n if (isFlowEnabled) {\n flowParseExportStar();\n } else {\n baseParseExportStar();\n }\n }\n function baseParseExportStar() {\n expect(TokenType.star);\n if (isContextual(ContextualKeyword._as)) {\n parseExportNamespace();\n } else {\n parseExportFrom();\n }\n }\n function parseExportNamespace() {\n next();\n state.tokens[state.tokens.length - 1].type = TokenType._as;\n parseIdentifier();\n parseExportSpecifiersMaybe();\n parseExportFrom();\n }\n function shouldParseExportDeclaration() {\n return isTypeScriptEnabled && tsIsDeclarationStart() || isFlowEnabled && flowShouldParseExportDeclaration() || state.type === TokenType._var || state.type === TokenType._const || state.type === TokenType._let || state.type === TokenType._function || state.type === TokenType._class || isContextual(ContextualKeyword._async) || match(TokenType.at);\n }\n function parseExportSpecifiers() {\n let first = true;\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n parseExportSpecifier();\n }\n }\n function parseExportSpecifier() {\n if (isTypeScriptEnabled) {\n tsParseExportSpecifier();\n return;\n }\n parseIdentifier();\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ExportAccess;\n if (eatContextual(ContextualKeyword._as)) {\n parseIdentifier();\n }\n }\n function isImportReflection() {\n const snapshot = state.snapshot();\n expectContextual(ContextualKeyword._module);\n if (eatContextual(ContextualKeyword._from)) {\n if (isContextual(ContextualKeyword._from)) {\n state.restoreFromSnapshot(snapshot);\n return true;\n } else {\n state.restoreFromSnapshot(snapshot);\n return false;\n }\n } else if (match(TokenType.comma)) {\n state.restoreFromSnapshot(snapshot);\n return false;\n } else {\n state.restoreFromSnapshot(snapshot);\n return true;\n }\n }\n function parseMaybeImportReflection() {\n if (isContextual(ContextualKeyword._module) && isImportReflection()) {\n next();\n }\n }\n function parseImport() {\n if (isTypeScriptEnabled && match(TokenType.name) && lookaheadType() === TokenType.eq) {\n tsParseImportEqualsDeclaration();\n return;\n }\n if (isTypeScriptEnabled && isContextual(ContextualKeyword._type)) {\n const lookahead = lookaheadTypeAndKeyword();\n if (lookahead.type === TokenType.name && lookahead.contextualKeyword !== ContextualKeyword._from) {\n expectContextual(ContextualKeyword._type);\n if (lookaheadType() === TokenType.eq) {\n tsParseImportEqualsDeclaration();\n return;\n }\n } else if (lookahead.type === TokenType.star || lookahead.type === TokenType.braceL) {\n expectContextual(ContextualKeyword._type);\n }\n }\n if (match(TokenType.string)) {\n parseExprAtom();\n } else {\n parseMaybeImportReflection();\n parseImportSpecifiers();\n expectContextual(ContextualKeyword._from);\n parseExprAtom();\n }\n maybeParseImportAttributes();\n semicolon();\n }\n function shouldParseDefaultImport() {\n return match(TokenType.name);\n }\n function parseImportSpecifierLocal() {\n parseImportedIdentifier();\n }\n function parseImportSpecifiers() {\n if (isFlowEnabled) {\n flowStartParseImportSpecifiers();\n }\n let first = true;\n if (shouldParseDefaultImport()) {\n parseImportSpecifierLocal();\n if (!eat(TokenType.comma)) return;\n }\n if (match(TokenType.star)) {\n next();\n expectContextual(ContextualKeyword._as);\n parseImportSpecifierLocal();\n return;\n }\n expect(TokenType.braceL);\n while (!eat(TokenType.braceR) && !state.error) {\n if (first) {\n first = false;\n } else {\n if (eat(TokenType.colon)) {\n unexpected(\n \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\"\n );\n }\n expect(TokenType.comma);\n if (eat(TokenType.braceR)) {\n break;\n }\n }\n parseImportSpecifier();\n }\n }\n function parseImportSpecifier() {\n if (isTypeScriptEnabled) {\n tsParseImportSpecifier();\n return;\n }\n if (isFlowEnabled) {\n flowParseImportSpecifier();\n return;\n }\n parseImportedIdentifier();\n if (isContextual(ContextualKeyword._as)) {\n state.tokens[state.tokens.length - 1].identifierRole = IdentifierRole.ImportAccess;\n next();\n parseImportedIdentifier();\n }\n }\n function maybeParseImportAttributes() {\n if (match(TokenType._with) || isContextual(ContextualKeyword._assert) && !hasPrecedingLineBreak()) {\n next();\n parseObj(false, false);\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/traverser/index.js\n function parseFile() {\n if (state.pos === 0 && input.charCodeAt(0) === charCodes.numberSign && input.charCodeAt(1) === charCodes.exclamationMark) {\n skipLineComment(2);\n }\n nextToken();\n return parseTopLevel();\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/parser/index.js\n var File2 = class {\n constructor(tokens, scopes) {\n this.tokens = tokens;\n this.scopes = scopes;\n }\n };\n function parse(input2, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2) {\n if (isFlowEnabled2 && isTypeScriptEnabled2) {\n throw new Error(\"Cannot combine flow and typescript plugins.\");\n }\n initParser(input2, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2);\n const result = parseFile();\n if (state.error) {\n throw augmentError(state.error);\n }\n return result;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isAsyncOperation.js\n function isAsyncOperation(tokens) {\n let index2 = tokens.currentIndex();\n let depth = 0;\n const startToken = tokens.currentToken();\n do {\n const token = tokens.tokens[index2];\n if (token.isOptionalChainStart) {\n depth++;\n }\n if (token.isOptionalChainEnd) {\n depth--;\n }\n depth += token.numNullishCoalesceStarts;\n depth -= token.numNullishCoalesceEnds;\n if (token.contextualKeyword === ContextualKeyword._await && token.identifierRole == null && token.scopeDepth === startToken.scopeDepth) {\n return true;\n }\n index2 += 1;\n } while (depth > 0 && index2 < tokens.tokens.length);\n return false;\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/TokenProcessor.js\n var TokenProcessor = class _TokenProcessor {\n __init() {\n this.resultCode = \"\";\n }\n // Array mapping input token index to optional string index position in the\n // output code.\n __init2() {\n this.resultMappings = new Array(this.tokens.length);\n }\n __init3() {\n this.tokenIndex = 0;\n }\n constructor(code, tokens, isFlowEnabled2, disableESTransforms, helperManager) {\n ;\n this.code = code;\n this.tokens = tokens;\n this.isFlowEnabled = isFlowEnabled2;\n this.disableESTransforms = disableESTransforms;\n this.helperManager = helperManager;\n _TokenProcessor.prototype.__init.call(this);\n _TokenProcessor.prototype.__init2.call(this);\n _TokenProcessor.prototype.__init3.call(this);\n }\n /**\n * Snapshot the token state in a way that can be restored later, useful for\n * things like lookahead.\n *\n * resultMappings do not need to be copied since in all use cases, they will\n * be overwritten anyway after restore.\n */\n snapshot() {\n return {\n resultCode: this.resultCode,\n tokenIndex: this.tokenIndex\n };\n }\n restoreToSnapshot(snapshot) {\n this.resultCode = snapshot.resultCode;\n this.tokenIndex = snapshot.tokenIndex;\n }\n /**\n * Remove and return the code generated since the snapshot, leaving the\n * current token position in-place. Unlike most TokenProcessor operations,\n * this operation can result in input/output line number mismatches because\n * the removed code may contain newlines, so this operation should be used\n * sparingly.\n */\n dangerouslyGetAndRemoveCodeSinceSnapshot(snapshot) {\n const result = this.resultCode.slice(snapshot.resultCode.length);\n this.resultCode = snapshot.resultCode;\n return result;\n }\n reset() {\n this.resultCode = \"\";\n this.resultMappings = new Array(this.tokens.length);\n this.tokenIndex = 0;\n }\n matchesContextualAtIndex(index2, contextualKeyword) {\n return this.matches1AtIndex(index2, TokenType.name) && this.tokens[index2].contextualKeyword === contextualKeyword;\n }\n identifierNameAtIndex(index2) {\n return this.identifierNameForToken(this.tokens[index2]);\n }\n identifierNameAtRelativeIndex(relativeIndex) {\n return this.identifierNameForToken(this.tokenAtRelativeIndex(relativeIndex));\n }\n identifierName() {\n return this.identifierNameForToken(this.currentToken());\n }\n identifierNameForToken(token) {\n return this.code.slice(token.start, token.end);\n }\n rawCodeForToken(token) {\n return this.code.slice(token.start, token.end);\n }\n stringValueAtIndex(index2) {\n return this.stringValueForToken(this.tokens[index2]);\n }\n stringValue() {\n return this.stringValueForToken(this.currentToken());\n }\n stringValueForToken(token) {\n return this.code.slice(token.start + 1, token.end - 1);\n }\n matches1AtIndex(index2, t12) {\n return this.tokens[index2].type === t12;\n }\n matches2AtIndex(index2, t12, t2) {\n return this.tokens[index2].type === t12 && this.tokens[index2 + 1].type === t2;\n }\n matches3AtIndex(index2, t12, t2, t3) {\n return this.tokens[index2].type === t12 && this.tokens[index2 + 1].type === t2 && this.tokens[index2 + 2].type === t3;\n }\n matches1(t12) {\n return this.tokens[this.tokenIndex].type === t12;\n }\n matches2(t12, t2) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2;\n }\n matches3(t12, t2, t3) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3;\n }\n matches4(t12, t2, t3, t4) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3 && this.tokens[this.tokenIndex + 3].type === t4;\n }\n matches5(t12, t2, t3, t4, t5) {\n return this.tokens[this.tokenIndex].type === t12 && this.tokens[this.tokenIndex + 1].type === t2 && this.tokens[this.tokenIndex + 2].type === t3 && this.tokens[this.tokenIndex + 3].type === t4 && this.tokens[this.tokenIndex + 4].type === t5;\n }\n matchesContextual(contextualKeyword) {\n return this.matchesContextualAtIndex(this.tokenIndex, contextualKeyword);\n }\n matchesContextIdAndLabel(type, contextId) {\n return this.matches1(type) && this.currentToken().contextId === contextId;\n }\n previousWhitespaceAndComments() {\n let whitespaceAndComments = this.code.slice(\n this.tokenIndex > 0 ? this.tokens[this.tokenIndex - 1].end : 0,\n this.tokenIndex < this.tokens.length ? this.tokens[this.tokenIndex].start : this.code.length\n );\n if (this.isFlowEnabled) {\n whitespaceAndComments = whitespaceAndComments.replace(/@flow/g, \"\");\n }\n return whitespaceAndComments;\n }\n replaceToken(newCode) {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += newCode;\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n replaceTokenTrimmingLeftWhitespace(newCode) {\n this.resultCode += this.previousWhitespaceAndComments().replace(/[^\\r\\n]/g, \"\");\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += newCode;\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n removeInitialToken() {\n this.replaceToken(\"\");\n }\n removeToken() {\n this.replaceTokenTrimmingLeftWhitespace(\"\");\n }\n /**\n * Remove all code until the next }, accounting for balanced braces.\n */\n removeBalancedCode() {\n let braceDepth = 0;\n while (!this.isAtEnd()) {\n if (this.matches1(TokenType.braceL)) {\n braceDepth++;\n } else if (this.matches1(TokenType.braceR)) {\n if (braceDepth === 0) {\n return;\n }\n braceDepth--;\n }\n this.removeToken();\n }\n }\n copyExpectedToken(tokenType) {\n if (this.tokens[this.tokenIndex].type !== tokenType) {\n throw new Error(`Expected token ${tokenType}`);\n }\n this.copyToken();\n }\n copyToken() {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += this.code.slice(\n this.tokens[this.tokenIndex].start,\n this.tokens[this.tokenIndex].end\n );\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n copyTokenWithPrefix(prefix2) {\n this.resultCode += this.previousWhitespaceAndComments();\n this.appendTokenPrefix();\n this.resultCode += prefix2;\n this.resultMappings[this.tokenIndex] = this.resultCode.length;\n this.resultCode += this.code.slice(\n this.tokens[this.tokenIndex].start,\n this.tokens[this.tokenIndex].end\n );\n this.appendTokenSuffix();\n this.tokenIndex++;\n }\n appendTokenPrefix() {\n const token = this.currentToken();\n if (token.numNullishCoalesceStarts || token.isOptionalChainStart) {\n token.isAsyncOperation = isAsyncOperation(this);\n }\n if (this.disableESTransforms) {\n return;\n }\n if (token.numNullishCoalesceStarts) {\n for (let i = 0; i < token.numNullishCoalesceStarts; i++) {\n if (token.isAsyncOperation) {\n this.resultCode += \"await \";\n this.resultCode += this.helperManager.getHelperName(\"asyncNullishCoalesce\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"nullishCoalesce\");\n }\n this.resultCode += \"(\";\n }\n }\n if (token.isOptionalChainStart) {\n if (token.isAsyncOperation) {\n this.resultCode += \"await \";\n }\n if (this.tokenIndex > 0 && this.tokenAtRelativeIndex(-1).type === TokenType._delete) {\n if (token.isAsyncOperation) {\n this.resultCode += this.helperManager.getHelperName(\"asyncOptionalChainDelete\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"optionalChainDelete\");\n }\n } else if (token.isAsyncOperation) {\n this.resultCode += this.helperManager.getHelperName(\"asyncOptionalChain\");\n } else {\n this.resultCode += this.helperManager.getHelperName(\"optionalChain\");\n }\n this.resultCode += \"([\";\n }\n }\n appendTokenSuffix() {\n const token = this.currentToken();\n if (token.isOptionalChainEnd && !this.disableESTransforms) {\n this.resultCode += \"])\";\n }\n if (token.numNullishCoalesceEnds && !this.disableESTransforms) {\n for (let i = 0; i < token.numNullishCoalesceEnds; i++) {\n this.resultCode += \"))\";\n }\n }\n }\n appendCode(code) {\n this.resultCode += code;\n }\n currentToken() {\n return this.tokens[this.tokenIndex];\n }\n currentTokenCode() {\n const token = this.currentToken();\n return this.code.slice(token.start, token.end);\n }\n tokenAtRelativeIndex(relativeIndex) {\n return this.tokens[this.tokenIndex + relativeIndex];\n }\n currentIndex() {\n return this.tokenIndex;\n }\n /**\n * Move to the next token. Only suitable in preprocessing steps. When\n * generating new code, you should use copyToken or removeToken.\n */\n nextToken() {\n if (this.tokenIndex === this.tokens.length) {\n throw new Error(\"Unexpectedly reached end of input.\");\n }\n this.tokenIndex++;\n }\n previousToken() {\n this.tokenIndex--;\n }\n finish() {\n if (this.tokenIndex !== this.tokens.length) {\n throw new Error(\"Tried to finish processing tokens before reaching the end.\");\n }\n this.resultCode += this.previousWhitespaceAndComments();\n return { code: this.resultCode, mappings: this.resultMappings };\n }\n isAtEnd() {\n return this.tokenIndex === this.tokens.length;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getClassInfo.js\n function getClassInfo(rootTransformer, tokens, nameManager, disableESTransforms) {\n const snapshot = tokens.snapshot();\n const headerInfo = processClassHeader(tokens);\n let constructorInitializerStatements = [];\n const instanceInitializerNames = [];\n const staticInitializerNames = [];\n let constructorInsertPos = null;\n const fields = [];\n const rangesToRemove = [];\n const classContextId = tokens.currentToken().contextId;\n if (classContextId == null) {\n throw new Error(\"Expected non-null class context ID on class open-brace.\");\n }\n tokens.nextToken();\n while (!tokens.matchesContextIdAndLabel(TokenType.braceR, classContextId)) {\n if (tokens.matchesContextual(ContextualKeyword._constructor) && !tokens.currentToken().isType) {\n ({ constructorInitializerStatements, constructorInsertPos } = processConstructor(tokens));\n } else if (tokens.matches1(TokenType.semi)) {\n if (!disableESTransforms) {\n rangesToRemove.push({ start: tokens.currentIndex(), end: tokens.currentIndex() + 1 });\n }\n tokens.nextToken();\n } else if (tokens.currentToken().isType) {\n tokens.nextToken();\n } else {\n const statementStartIndex = tokens.currentIndex();\n let isStatic = false;\n let isESPrivate = false;\n let isDeclareOrAbstract = false;\n while (isAccessModifier(tokens.currentToken())) {\n if (tokens.matches1(TokenType._static)) {\n isStatic = true;\n }\n if (tokens.matches1(TokenType.hash)) {\n isESPrivate = true;\n }\n if (tokens.matches1(TokenType._declare) || tokens.matches1(TokenType._abstract)) {\n isDeclareOrAbstract = true;\n }\n tokens.nextToken();\n }\n if (isStatic && tokens.matches1(TokenType.braceL)) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n if (isESPrivate) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n if (tokens.matchesContextual(ContextualKeyword._constructor) && !tokens.currentToken().isType) {\n ({ constructorInitializerStatements, constructorInsertPos } = processConstructor(tokens));\n continue;\n }\n const nameStartIndex = tokens.currentIndex();\n skipFieldName(tokens);\n if (tokens.matches1(TokenType.lessThan) || tokens.matches1(TokenType.parenL)) {\n skipToNextClassElement(tokens, classContextId);\n continue;\n }\n while (tokens.currentToken().isType) {\n tokens.nextToken();\n }\n if (tokens.matches1(TokenType.eq)) {\n const equalsIndex = tokens.currentIndex();\n const valueEnd = tokens.currentToken().rhsEndIndex;\n if (valueEnd == null) {\n throw new Error(\"Expected rhsEndIndex on class field assignment.\");\n }\n tokens.nextToken();\n while (tokens.currentIndex() < valueEnd) {\n rootTransformer.processToken();\n }\n let initializerName;\n if (isStatic) {\n initializerName = nameManager.claimFreeName(\"__initStatic\");\n staticInitializerNames.push(initializerName);\n } else {\n initializerName = nameManager.claimFreeName(\"__init\");\n instanceInitializerNames.push(initializerName);\n }\n fields.push({\n initializerName,\n equalsIndex,\n start: nameStartIndex,\n end: tokens.currentIndex()\n });\n } else if (!disableESTransforms || isDeclareOrAbstract) {\n rangesToRemove.push({ start: statementStartIndex, end: tokens.currentIndex() });\n }\n }\n }\n tokens.restoreToSnapshot(snapshot);\n if (disableESTransforms) {\n return {\n headerInfo,\n constructorInitializerStatements,\n instanceInitializerNames: [],\n staticInitializerNames: [],\n constructorInsertPos,\n fields: [],\n rangesToRemove\n };\n } else {\n return {\n headerInfo,\n constructorInitializerStatements,\n instanceInitializerNames,\n staticInitializerNames,\n constructorInsertPos,\n fields,\n rangesToRemove\n };\n }\n }\n function skipToNextClassElement(tokens, classContextId) {\n tokens.nextToken();\n while (tokens.currentToken().contextId !== classContextId) {\n tokens.nextToken();\n }\n while (isAccessModifier(tokens.tokenAtRelativeIndex(-1))) {\n tokens.previousToken();\n }\n }\n function processClassHeader(tokens) {\n const classToken = tokens.currentToken();\n const contextId = classToken.contextId;\n if (contextId == null) {\n throw new Error(\"Expected context ID on class token.\");\n }\n const isExpression = classToken.isExpression;\n if (isExpression == null) {\n throw new Error(\"Expected isExpression on class token.\");\n }\n let className = null;\n let hasSuperclass = false;\n tokens.nextToken();\n if (tokens.matches1(TokenType.name)) {\n className = tokens.identifierName();\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.braceL, contextId)) {\n if (tokens.matches1(TokenType._extends) && !tokens.currentToken().isType) {\n hasSuperclass = true;\n }\n tokens.nextToken();\n }\n return { isExpression, className, hasSuperclass };\n }\n function processConstructor(tokens) {\n const constructorInitializerStatements = [];\n tokens.nextToken();\n const constructorContextId = tokens.currentToken().contextId;\n if (constructorContextId == null) {\n throw new Error(\"Expected context ID on open-paren starting constructor params.\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.parenR, constructorContextId)) {\n if (tokens.currentToken().contextId === constructorContextId) {\n tokens.nextToken();\n if (isAccessModifier(tokens.currentToken())) {\n tokens.nextToken();\n while (isAccessModifier(tokens.currentToken())) {\n tokens.nextToken();\n }\n const token = tokens.currentToken();\n if (token.type !== TokenType.name) {\n throw new Error(\"Expected identifier after access modifiers in constructor arg.\");\n }\n const name = tokens.identifierNameForToken(token);\n constructorInitializerStatements.push(`this.${name} = ${name}`);\n }\n } else {\n tokens.nextToken();\n }\n }\n tokens.nextToken();\n while (tokens.currentToken().isType) {\n tokens.nextToken();\n }\n let constructorInsertPos = tokens.currentIndex();\n let foundSuperCall = false;\n while (!tokens.matchesContextIdAndLabel(TokenType.braceR, constructorContextId)) {\n if (!foundSuperCall && tokens.matches2(TokenType._super, TokenType.parenL)) {\n tokens.nextToken();\n const superCallContextId = tokens.currentToken().contextId;\n if (superCallContextId == null) {\n throw new Error(\"Expected a context ID on the super call\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.parenR, superCallContextId)) {\n tokens.nextToken();\n }\n constructorInsertPos = tokens.currentIndex();\n foundSuperCall = true;\n }\n tokens.nextToken();\n }\n tokens.nextToken();\n return { constructorInitializerStatements, constructorInsertPos };\n }\n function isAccessModifier(token) {\n return [\n TokenType._async,\n TokenType._get,\n TokenType._set,\n TokenType.plus,\n TokenType.minus,\n TokenType._readonly,\n TokenType._static,\n TokenType._public,\n TokenType._private,\n TokenType._protected,\n TokenType._override,\n TokenType._abstract,\n TokenType.star,\n TokenType._declare,\n TokenType.hash\n ].includes(token.type);\n }\n function skipFieldName(tokens) {\n if (tokens.matches1(TokenType.bracketL)) {\n const startToken = tokens.currentToken();\n const classContextId = startToken.contextId;\n if (classContextId == null) {\n throw new Error(\"Expected class context ID on computed name open bracket.\");\n }\n while (!tokens.matchesContextIdAndLabel(TokenType.bracketR, classContextId)) {\n tokens.nextToken();\n }\n tokens.nextToken();\n } else {\n tokens.nextToken();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/elideImportEquals.js\n function elideImportEquals(tokens) {\n tokens.removeInitialToken();\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeToken();\n if (tokens.matches1(TokenType.parenL)) {\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeToken();\n } else {\n while (tokens.matches1(TokenType.dot)) {\n tokens.removeToken();\n tokens.removeToken();\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getDeclarationInfo.js\n var EMPTY_DECLARATION_INFO = {\n typeDeclarations: /* @__PURE__ */ new Set(),\n valueDeclarations: /* @__PURE__ */ new Set()\n };\n function getDeclarationInfo(tokens) {\n const typeDeclarations = /* @__PURE__ */ new Set();\n const valueDeclarations = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n const token = tokens.tokens[i];\n if (token.type === TokenType.name && isTopLevelDeclaration(token)) {\n if (token.isType) {\n typeDeclarations.add(tokens.identifierNameForToken(token));\n } else {\n valueDeclarations.add(tokens.identifierNameForToken(token));\n }\n }\n }\n return { typeDeclarations, valueDeclarations };\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isExportFrom.js\n function isExportFrom(tokens) {\n let closeBraceIndex = tokens.currentIndex();\n while (!tokens.matches1AtIndex(closeBraceIndex, TokenType.braceR)) {\n closeBraceIndex++;\n }\n return tokens.matchesContextualAtIndex(closeBraceIndex + 1, ContextualKeyword._from) && tokens.matches1AtIndex(closeBraceIndex + 2, TokenType.string);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js\n function removeMaybeImportAttributes(tokens) {\n if (tokens.matches2(TokenType._with, TokenType.braceL) || tokens.matches2(TokenType.name, TokenType.braceL) && tokens.matchesContextual(ContextualKeyword._assert)) {\n tokens.removeToken();\n tokens.removeToken();\n tokens.removeBalancedCode();\n tokens.removeToken();\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/shouldElideDefaultExport.js\n function shouldElideDefaultExport(isTypeScriptTransformEnabled, keepUnusedImports, tokens, declarationInfo) {\n if (!isTypeScriptTransformEnabled || keepUnusedImports) {\n return false;\n }\n const exportToken = tokens.currentToken();\n if (exportToken.rhsEndIndex == null) {\n throw new Error(\"Expected non-null rhsEndIndex on export token.\");\n }\n const numTokens = exportToken.rhsEndIndex - tokens.currentIndex();\n if (numTokens !== 3 && !(numTokens === 4 && tokens.matches1AtIndex(exportToken.rhsEndIndex - 1, TokenType.semi))) {\n return false;\n }\n const identifierToken = tokens.tokenAtRelativeIndex(2);\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n const exportedName = tokens.identifierNameForToken(identifierToken);\n return declarationInfo.typeDeclarations.has(exportedName) && !declarationInfo.valueDeclarations.has(exportedName);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/CJSImportTransformer.js\n var CJSImportTransformer = class _CJSImportTransformer extends Transformer {\n __init() {\n this.hadExport = false;\n }\n __init2() {\n this.hadNamedExport = false;\n }\n __init3() {\n this.hadDefaultExport = false;\n }\n constructor(rootTransformer, tokens, importProcessor, nameManager, helperManager, reactHotLoaderTransformer, enableLegacyBabel5ModuleInterop, enableLegacyTypeScriptModuleInterop, isTypeScriptTransformEnabled, isFlowTransformEnabled, preserveDynamicImport, keepUnusedImports) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.nameManager = nameManager;\n this.helperManager = helperManager;\n this.reactHotLoaderTransformer = reactHotLoaderTransformer;\n this.enableLegacyBabel5ModuleInterop = enableLegacyBabel5ModuleInterop;\n this.enableLegacyTypeScriptModuleInterop = enableLegacyTypeScriptModuleInterop;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.isFlowTransformEnabled = isFlowTransformEnabled;\n this.preserveDynamicImport = preserveDynamicImport;\n this.keepUnusedImports = keepUnusedImports;\n _CJSImportTransformer.prototype.__init.call(this);\n _CJSImportTransformer.prototype.__init2.call(this);\n _CJSImportTransformer.prototype.__init3.call(this);\n ;\n this.declarationInfo = isTypeScriptTransformEnabled ? getDeclarationInfo(tokens) : EMPTY_DECLARATION_INFO;\n }\n getPrefixCode() {\n let prefix2 = \"\";\n if (this.hadExport) {\n prefix2 += 'Object.defineProperty(exports, \"__esModule\", {value: true});';\n }\n return prefix2;\n }\n getSuffixCode() {\n if (this.enableLegacyBabel5ModuleInterop && this.hadDefaultExport && !this.hadNamedExport) {\n return \"\\nmodule.exports = exports.default;\\n\";\n }\n return \"\";\n }\n process() {\n if (this.tokens.matches3(TokenType._import, TokenType.name, TokenType.eq)) {\n return this.processImportEquals();\n }\n if (this.tokens.matches1(TokenType._import)) {\n this.processImport();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType.eq)) {\n this.tokens.replaceToken(\"module.exports\");\n return true;\n }\n if (this.tokens.matches1(TokenType._export) && !this.tokens.currentToken().isType) {\n this.hadExport = true;\n return this.processExport();\n }\n if (this.tokens.matches2(TokenType.name, TokenType.postIncDec)) {\n if (this.processPostIncDec()) {\n return true;\n }\n }\n if (this.tokens.matches1(TokenType.name) || this.tokens.matches1(TokenType.jsxName)) {\n return this.processIdentifier();\n }\n if (this.tokens.matches1(TokenType.eq)) {\n return this.processAssignment();\n }\n if (this.tokens.matches1(TokenType.assign)) {\n return this.processComplexAssignment();\n }\n if (this.tokens.matches1(TokenType.preIncDec)) {\n return this.processPreIncDec();\n }\n return false;\n }\n processImportEquals() {\n const importName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n if (this.importProcessor.shouldAutomaticallyElideImportedName(importName)) {\n elideImportEquals(this.tokens);\n } else {\n this.tokens.replaceToken(\"const\");\n }\n return true;\n }\n /**\n * Transform this:\n * import foo, {bar} from 'baz';\n * into\n * var _baz = require('baz'); var _baz2 = _interopRequireDefault(_baz);\n *\n * The import code was already generated in the import preprocessing step, so\n * we just need to look it up.\n */\n processImport() {\n if (this.tokens.matches2(TokenType._import, TokenType.parenL)) {\n if (this.preserveDynamicImport) {\n this.tokens.copyToken();\n return;\n }\n const requireWrapper = this.enableLegacyTypeScriptModuleInterop ? \"\" : `${this.helperManager.getHelperName(\"interopRequireWildcard\")}(`;\n this.tokens.replaceToken(`Promise.resolve().then(() => ${requireWrapper}require`);\n const contextId = this.tokens.currentToken().contextId;\n if (contextId == null) {\n throw new Error(\"Expected context ID on dynamic import invocation.\");\n }\n this.tokens.copyToken();\n while (!this.tokens.matchesContextIdAndLabel(TokenType.parenR, contextId)) {\n this.rootTransformer.processToken();\n }\n this.tokens.replaceToken(requireWrapper ? \")))\" : \"))\");\n return;\n }\n const shouldElideImport = this.removeImportAndDetectIfShouldElide();\n if (shouldElideImport) {\n this.tokens.removeToken();\n } else {\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n this.tokens.appendCode(this.importProcessor.claimImportCode(path2));\n }\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n /**\n * Erase this import (since any CJS output would be completely different), and\n * return true if this import is should be elided due to being a type-only\n * import. Such imports will not be emitted at all to avoid side effects.\n *\n * Import elision only happens with the TypeScript or Flow transforms enabled.\n *\n * TODO: This function has some awkward overlap with\n * CJSImportProcessor.pruneTypeOnlyImports , and the two should be unified.\n * That function handles TypeScript implicit import name elision, and removes\n * an import if all typical imported names (without `type`) are removed due\n * to being type-only imports. This function handles Flow import removal and\n * properly distinguishes `import 'foo'` from `import {} from 'foo'` for TS\n * purposes.\n *\n * The position should end at the import string.\n */\n removeImportAndDetectIfShouldElide() {\n this.tokens.removeInitialToken();\n if (this.tokens.matchesContextual(ContextualKeyword._type) && !this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._from)) {\n this.removeRemainingImport();\n return true;\n }\n if (this.tokens.matches1(TokenType.name) || this.tokens.matches1(TokenType.star)) {\n this.removeRemainingImport();\n return false;\n }\n if (this.tokens.matches1(TokenType.string)) {\n return false;\n }\n let foundNonTypeImport = false;\n let foundAnyNamedImport = false;\n while (!this.tokens.matches1(TokenType.string)) {\n if (!foundNonTypeImport && this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n if (!this.tokens.matches1(TokenType.braceR)) {\n foundAnyNamedImport = true;\n }\n if (this.tokens.matches2(TokenType.name, TokenType.comma) || this.tokens.matches2(TokenType.name, TokenType.braceR) || this.tokens.matches4(TokenType.name, TokenType.name, TokenType.name, TokenType.comma) || this.tokens.matches4(TokenType.name, TokenType.name, TokenType.name, TokenType.braceR)) {\n foundNonTypeImport = true;\n }\n }\n this.tokens.removeToken();\n }\n if (this.keepUnusedImports) {\n return false;\n }\n if (this.isTypeScriptTransformEnabled) {\n return !foundNonTypeImport;\n } else if (this.isFlowTransformEnabled) {\n return foundAnyNamedImport && !foundNonTypeImport;\n } else {\n return false;\n }\n }\n removeRemainingImport() {\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n }\n processIdentifier() {\n const token = this.tokens.currentToken();\n if (token.shadowsGlobal) {\n return false;\n }\n if (token.identifierRole === IdentifierRole.ObjectShorthand) {\n return this.processObjectShorthand();\n }\n if (token.identifierRole !== IdentifierRole.Access) {\n return false;\n }\n const replacement = this.importProcessor.getIdentifierReplacement(\n this.tokens.identifierNameForToken(token)\n );\n if (!replacement) {\n return false;\n }\n let possibleOpenParenIndex = this.tokens.currentIndex() + 1;\n while (possibleOpenParenIndex < this.tokens.tokens.length && this.tokens.tokens[possibleOpenParenIndex].type === TokenType.parenR) {\n possibleOpenParenIndex++;\n }\n if (this.tokens.tokens[possibleOpenParenIndex].type === TokenType.parenL) {\n if (this.tokens.tokenAtRelativeIndex(1).type === TokenType.parenL && this.tokens.tokenAtRelativeIndex(-1).type !== TokenType._new) {\n this.tokens.replaceToken(`${replacement}.call(void 0, `);\n this.tokens.removeToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n } else {\n this.tokens.replaceToken(`(0, ${replacement})`);\n }\n } else {\n this.tokens.replaceToken(replacement);\n }\n return true;\n }\n processObjectShorthand() {\n const identifier = this.tokens.identifierName();\n const replacement = this.importProcessor.getIdentifierReplacement(identifier);\n if (!replacement) {\n return false;\n }\n this.tokens.replaceToken(`${identifier}: ${replacement}`);\n return true;\n }\n processExport() {\n if (this.tokens.matches2(TokenType._export, TokenType._enum) || this.tokens.matches3(TokenType._export, TokenType._const, TokenType._enum)) {\n this.hadNamedExport = true;\n return false;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._default)) {\n if (this.tokens.matches3(TokenType._export, TokenType._default, TokenType._enum)) {\n this.hadDefaultExport = true;\n return false;\n }\n this.processExportDefault();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.braceL)) {\n this.processExportBindings();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.name) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.braceL)) {\n while (!this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n } else {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType._as)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from) && this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.string)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n this.hadNamedExport = true;\n if (this.tokens.matches2(TokenType._export, TokenType._var) || this.tokens.matches2(TokenType._export, TokenType._let) || this.tokens.matches2(TokenType._export, TokenType._const)) {\n this.processExportVar();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType._function) || // export async function\n this.tokens.matches3(TokenType._export, TokenType.name, TokenType._function)) {\n this.processExportFunction();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType._class) || this.tokens.matches3(TokenType._export, TokenType._abstract, TokenType._class) || this.tokens.matches2(TokenType._export, TokenType.at)) {\n this.processExportClass();\n return true;\n } else if (this.tokens.matches2(TokenType._export, TokenType.star)) {\n this.processExportStar();\n return true;\n } else {\n throw new Error(\"Unrecognized export syntax.\");\n }\n }\n processAssignment() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 - 1];\n if (identifierToken.isType || identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 2 && this.tokens.matches1AtIndex(index2 - 2, TokenType.dot)) {\n return false;\n }\n if (index2 >= 2 && [TokenType._var, TokenType._let, TokenType._const].includes(this.tokens.tokens[index2 - 2].type)) {\n return false;\n }\n const assignmentSnippet = this.importProcessor.resolveExportBinding(\n this.tokens.identifierNameForToken(identifierToken)\n );\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.copyToken();\n this.tokens.appendCode(` ${assignmentSnippet} =`);\n return true;\n }\n /**\n * Process something like `a += 3`, where `a` might be an exported value.\n */\n processComplexAssignment() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 - 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 2 && this.tokens.matches1AtIndex(index2 - 2, TokenType.dot)) {\n return false;\n }\n const assignmentSnippet = this.importProcessor.resolveExportBinding(\n this.tokens.identifierNameForToken(identifierToken)\n );\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.appendCode(` = ${assignmentSnippet}`);\n this.tokens.copyToken();\n return true;\n }\n /**\n * Process something like `++a`, where `a` might be an exported value.\n */\n processPreIncDec() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2 + 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 + 2 < this.tokens.tokens.length && (this.tokens.matches1AtIndex(index2 + 2, TokenType.dot) || this.tokens.matches1AtIndex(index2 + 2, TokenType.bracketL) || this.tokens.matches1AtIndex(index2 + 2, TokenType.parenL))) {\n return false;\n }\n const identifierName = this.tokens.identifierNameForToken(identifierToken);\n const assignmentSnippet = this.importProcessor.resolveExportBinding(identifierName);\n if (!assignmentSnippet) {\n return false;\n }\n this.tokens.appendCode(`${assignmentSnippet} = `);\n this.tokens.copyToken();\n return true;\n }\n /**\n * Process something like `a++`, where `a` might be an exported value.\n * This starts at the `a`, not at the `++`.\n */\n processPostIncDec() {\n const index2 = this.tokens.currentIndex();\n const identifierToken = this.tokens.tokens[index2];\n const operatorToken = this.tokens.tokens[index2 + 1];\n if (identifierToken.type !== TokenType.name) {\n return false;\n }\n if (identifierToken.shadowsGlobal) {\n return false;\n }\n if (index2 >= 1 && this.tokens.matches1AtIndex(index2 - 1, TokenType.dot)) {\n return false;\n }\n const identifierName = this.tokens.identifierNameForToken(identifierToken);\n const assignmentSnippet = this.importProcessor.resolveExportBinding(identifierName);\n if (!assignmentSnippet) {\n return false;\n }\n const operatorCode = this.tokens.rawCodeForToken(operatorToken);\n const base = this.importProcessor.getIdentifierReplacement(identifierName) || identifierName;\n if (operatorCode === \"++\") {\n this.tokens.replaceToken(`(${base} = ${assignmentSnippet} = ${base} + 1, ${base} - 1)`);\n } else if (operatorCode === \"--\") {\n this.tokens.replaceToken(`(${base} = ${assignmentSnippet} = ${base} - 1, ${base} + 1)`);\n } else {\n throw new Error(`Unexpected operator: ${operatorCode}`);\n }\n this.tokens.removeToken();\n return true;\n }\n processExportDefault() {\n let exportedRuntimeValue = true;\n if (this.tokens.matches4(TokenType._export, TokenType._default, TokenType._function, TokenType.name) || // export default async function\n this.tokens.matches5(TokenType._export, TokenType._default, TokenType.name, TokenType._function, TokenType.name) && this.tokens.matchesContextualAtIndex(\n this.tokens.currentIndex() + 2,\n ContextualKeyword._async\n )) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const name = this.processNamedFunction();\n this.tokens.appendCode(` exports.default = ${name};`);\n } else if (this.tokens.matches4(TokenType._export, TokenType._default, TokenType._class, TokenType.name) || this.tokens.matches5(TokenType._export, TokenType._default, TokenType._abstract, TokenType._class, TokenType.name) || this.tokens.matches3(TokenType._export, TokenType._default, TokenType.at)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.copyDecorators();\n if (this.tokens.matches1(TokenType._abstract)) {\n this.tokens.removeToken();\n }\n const name = this.rootTransformer.processNamedClass();\n this.tokens.appendCode(` exports.default = ${name};`);\n } else if (shouldElideDefaultExport(\n this.isTypeScriptTransformEnabled,\n this.keepUnusedImports,\n this.tokens,\n this.declarationInfo\n )) {\n exportedRuntimeValue = false;\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n } else if (this.reactHotLoaderTransformer) {\n const defaultVarName = this.nameManager.claimFreeName(\"_default\");\n this.tokens.replaceToken(`let ${defaultVarName}; exports.`);\n this.tokens.copyToken();\n this.tokens.appendCode(` = ${defaultVarName} =`);\n this.reactHotLoaderTransformer.setExtractedDefaultExportName(defaultVarName);\n } else {\n this.tokens.replaceToken(\"exports.\");\n this.tokens.copyToken();\n this.tokens.appendCode(\" =\");\n }\n if (exportedRuntimeValue) {\n this.hadDefaultExport = true;\n }\n }\n copyDecorators() {\n while (this.tokens.matches1(TokenType.at)) {\n this.tokens.copyToken();\n if (this.tokens.matches1(TokenType.parenL)) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n } else {\n this.tokens.copyExpectedToken(TokenType.name);\n while (this.tokens.matches1(TokenType.dot)) {\n this.tokens.copyExpectedToken(TokenType.dot);\n this.tokens.copyExpectedToken(TokenType.name);\n }\n if (this.tokens.matches1(TokenType.parenL)) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n }\n }\n }\n }\n /**\n * Transform a declaration like `export var`, `export let`, or `export const`.\n */\n processExportVar() {\n if (this.isSimpleExportVar()) {\n this.processSimpleExportVar();\n } else {\n this.processComplexExportVar();\n }\n }\n /**\n * Determine if the export is of the form:\n * export var/let/const [varName] = [expr];\n * In other words, determine if function name inference might apply.\n */\n isSimpleExportVar() {\n let tokenIndex = this.tokens.currentIndex();\n tokenIndex++;\n tokenIndex++;\n if (!this.tokens.matches1AtIndex(tokenIndex, TokenType.name)) {\n return false;\n }\n tokenIndex++;\n while (tokenIndex < this.tokens.tokens.length && this.tokens.tokens[tokenIndex].isType) {\n tokenIndex++;\n }\n if (!this.tokens.matches1AtIndex(tokenIndex, TokenType.eq)) {\n return false;\n }\n return true;\n }\n /**\n * Transform an `export var` declaration initializing a single variable.\n *\n * For example, this:\n * export const f = () => {};\n * becomes this:\n * const f = () => {}; exports.f = f;\n *\n * The variable is unused (e.g. exports.f has the true value of the export).\n * We need to produce an assignment of this form so that the function will\n * have an inferred name of \"f\", which wouldn't happen in the more general\n * case below.\n */\n processSimpleExportVar() {\n this.tokens.removeInitialToken();\n this.tokens.copyToken();\n const varName = this.tokens.identifierName();\n while (!this.tokens.matches1(TokenType.eq)) {\n this.rootTransformer.processToken();\n }\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(`; exports.${varName} = ${varName}`);\n }\n /**\n * Transform normal declaration exports, including handling destructuring.\n * For example, this:\n * export const {x: [a = 2, b], c} = d;\n * becomes this:\n * ({x: [exports.a = 2, exports.b], c: exports.c} = d;)\n */\n processComplexExportVar() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const needsParens = this.tokens.matches1(TokenType.braceL);\n if (needsParens) {\n this.tokens.appendCode(\"(\");\n }\n let depth = 0;\n while (true) {\n if (this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.dollarBraceL) || this.tokens.matches1(TokenType.bracketL)) {\n depth++;\n this.tokens.copyToken();\n } else if (this.tokens.matches1(TokenType.braceR) || this.tokens.matches1(TokenType.bracketR)) {\n depth--;\n this.tokens.copyToken();\n } else if (depth === 0 && !this.tokens.matches1(TokenType.name) && !this.tokens.currentToken().isType) {\n break;\n } else if (this.tokens.matches1(TokenType.eq)) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n } else {\n const token = this.tokens.currentToken();\n if (isDeclaration(token)) {\n const name = this.tokens.identifierName();\n let replacement = this.importProcessor.getIdentifierReplacement(name);\n if (replacement === null) {\n throw new Error(`Expected a replacement for ${name} in \\`export var\\` syntax.`);\n }\n if (isObjectShorthandDeclaration(token)) {\n replacement = `${name}: ${replacement}`;\n }\n this.tokens.replaceToken(replacement);\n } else {\n this.rootTransformer.processToken();\n }\n }\n }\n if (needsParens) {\n const endIndex = this.tokens.currentToken().rhsEndIndex;\n if (endIndex == null) {\n throw new Error(\"Expected = token with an end index.\");\n }\n while (this.tokens.currentIndex() < endIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(\")\");\n }\n }\n /**\n * Transform this:\n * export function foo() {}\n * into this:\n * function foo() {} exports.foo = foo;\n */\n processExportFunction() {\n this.tokens.replaceToken(\"\");\n const name = this.processNamedFunction();\n this.tokens.appendCode(` exports.${name} = ${name};`);\n }\n /**\n * Skip past a function with a name and return that name.\n */\n processNamedFunction() {\n if (this.tokens.matches1(TokenType._function)) {\n this.tokens.copyToken();\n } else if (this.tokens.matches2(TokenType.name, TokenType._function)) {\n if (!this.tokens.matchesContextual(ContextualKeyword._async)) {\n throw new Error(\"Expected async keyword in function export.\");\n }\n this.tokens.copyToken();\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.star)) {\n this.tokens.copyToken();\n }\n if (!this.tokens.matches1(TokenType.name)) {\n throw new Error(\"Expected identifier for exported function name.\");\n }\n const name = this.tokens.identifierName();\n this.tokens.copyToken();\n if (this.tokens.currentToken().isType) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentToken().isType) {\n this.tokens.removeToken();\n }\n }\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n this.rootTransformer.processPossibleTypeRange();\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.braceR);\n return name;\n }\n /**\n * Transform this:\n * export class A {}\n * into this:\n * class A {} exports.A = A;\n */\n processExportClass() {\n this.tokens.removeInitialToken();\n this.copyDecorators();\n if (this.tokens.matches1(TokenType._abstract)) {\n this.tokens.removeToken();\n }\n const name = this.rootTransformer.processNamedClass();\n this.tokens.appendCode(` exports.${name} = ${name};`);\n }\n /**\n * Transform this:\n * export {a, b as c};\n * into this:\n * exports.a = a; exports.c = b;\n *\n * OR\n *\n * Transform this:\n * export {a, b as c} from './foo';\n * into the pre-generated Object.defineProperty code from the ImportProcessor.\n *\n * For the first case, if the TypeScript transform is enabled, we need to skip\n * exports that are only defined as types.\n */\n processExportBindings() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const isReExport = isExportFrom(this.tokens);\n const exportStatements = [];\n while (true) {\n if (this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n break;\n }\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n const shouldRemoveExport = specifierInfo.isType || !isReExport && this.shouldElideExportedIdentifier(specifierInfo.leftName);\n if (!shouldRemoveExport) {\n const exportedName = specifierInfo.rightName;\n if (exportedName === \"default\") {\n this.hadDefaultExport = true;\n } else {\n this.hadNamedExport = true;\n }\n const localName = specifierInfo.leftName;\n const newLocalName = this.importProcessor.getIdentifierReplacement(localName);\n exportStatements.push(`exports.${exportedName} = ${newLocalName || localName};`);\n }\n if (this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n break;\n }\n if (this.tokens.matches2(TokenType.comma, TokenType.braceR)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n break;\n } else if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(this.tokens.currentToken())}`);\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from)) {\n this.tokens.removeToken();\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n removeMaybeImportAttributes(this.tokens);\n } else {\n this.tokens.appendCode(exportStatements.join(\" \"));\n }\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n processExportStar() {\n this.tokens.removeInitialToken();\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n const path2 = this.tokens.stringValue();\n this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(path2));\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n shouldElideExportedIdentifier(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.declarationInfo.valueDeclarations.has(name);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ESMImportTransformer.js\n var ESMImportTransformer = class extends Transformer {\n constructor(tokens, nameManager, helperManager, reactHotLoaderTransformer, isTypeScriptTransformEnabled, isFlowTransformEnabled, keepUnusedImports, options2) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n this.helperManager = helperManager;\n this.reactHotLoaderTransformer = reactHotLoaderTransformer;\n this.isTypeScriptTransformEnabled = isTypeScriptTransformEnabled;\n this.isFlowTransformEnabled = isFlowTransformEnabled;\n this.keepUnusedImports = keepUnusedImports;\n ;\n this.nonTypeIdentifiers = isTypeScriptTransformEnabled && !keepUnusedImports ? getNonTypeIdentifiers(tokens, options2) : /* @__PURE__ */ new Set();\n this.declarationInfo = isTypeScriptTransformEnabled && !keepUnusedImports ? getDeclarationInfo(tokens) : EMPTY_DECLARATION_INFO;\n this.injectCreateRequireForImportRequire = Boolean(options2.injectCreateRequireForImportRequire);\n }\n process() {\n if (this.tokens.matches3(TokenType._import, TokenType.name, TokenType.eq)) {\n return this.processImportEquals();\n }\n if (this.tokens.matches4(TokenType._import, TokenType.name, TokenType.name, TokenType.eq) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n for (let i = 0; i < 7; i++) {\n this.tokens.removeToken();\n }\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType.eq)) {\n this.tokens.replaceToken(\"module.exports\");\n return true;\n }\n if (this.tokens.matches5(TokenType._export, TokenType._import, TokenType.name, TokenType.name, TokenType.eq) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 2, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n for (let i = 0; i < 8; i++) {\n this.tokens.removeToken();\n }\n return true;\n }\n if (this.tokens.matches1(TokenType._import)) {\n return this.processImport();\n }\n if (this.tokens.matches2(TokenType._export, TokenType._default)) {\n return this.processExportDefault();\n }\n if (this.tokens.matches2(TokenType._export, TokenType.braceL)) {\n return this.processNamedExports();\n }\n if (this.tokens.matches2(TokenType._export, TokenType.name) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._type)) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.braceL)) {\n while (!this.tokens.matches1(TokenType.braceR)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n } else {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType._as)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n }\n }\n if (this.tokens.matchesContextual(ContextualKeyword._from) && this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.string)) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n return false;\n }\n processImportEquals() {\n const importName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n if (this.shouldAutomaticallyElideImportedName(importName)) {\n elideImportEquals(this.tokens);\n } else if (this.injectCreateRequireForImportRequire) {\n this.tokens.replaceToken(\"const\");\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.replaceToken(this.helperManager.getHelperName(\"require\"));\n } else {\n this.tokens.replaceToken(\"const\");\n }\n return true;\n }\n processImport() {\n if (this.tokens.matches2(TokenType._import, TokenType.parenL)) {\n return false;\n }\n const snapshot = this.tokens.snapshot();\n const allImportsRemoved = this.removeImportTypeBindings();\n if (allImportsRemoved) {\n this.tokens.restoreToSnapshot(snapshot);\n while (!this.tokens.matches1(TokenType.string)) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n if (this.tokens.matches1(TokenType.semi)) {\n this.tokens.removeToken();\n }\n }\n return true;\n }\n /**\n * Remove type bindings from this import, leaving the rest of the import intact.\n *\n * Return true if this import was ONLY types, and thus is eligible for removal. This will bail out\n * of the replacement operation, so we can return early here.\n */\n removeImportTypeBindings() {\n this.tokens.copyExpectedToken(TokenType._import);\n if (this.tokens.matchesContextual(ContextualKeyword._type) && !this.tokens.matches1AtIndex(this.tokens.currentIndex() + 1, TokenType.comma) && !this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 1, ContextualKeyword._from)) {\n return true;\n }\n if (this.tokens.matches1(TokenType.string)) {\n this.tokens.copyToken();\n return false;\n }\n if (this.tokens.matchesContextual(ContextualKeyword._module) && this.tokens.matchesContextualAtIndex(this.tokens.currentIndex() + 2, ContextualKeyword._from)) {\n this.tokens.copyToken();\n }\n let foundNonTypeImport = false;\n let foundAnyNamedImport = false;\n let needsComma = false;\n if (this.tokens.matches1(TokenType.name)) {\n if (this.shouldAutomaticallyElideImportedName(this.tokens.identifierName())) {\n this.tokens.removeToken();\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeImport = true;\n this.tokens.copyToken();\n if (this.tokens.matches1(TokenType.comma)) {\n needsComma = true;\n this.tokens.removeToken();\n }\n }\n }\n if (this.tokens.matches1(TokenType.star)) {\n if (this.shouldAutomaticallyElideImportedName(this.tokens.identifierNameAtRelativeIndex(2))) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n } else {\n if (needsComma) {\n this.tokens.appendCode(\",\");\n }\n foundNonTypeImport = true;\n this.tokens.copyExpectedToken(TokenType.star);\n this.tokens.copyExpectedToken(TokenType.name);\n this.tokens.copyExpectedToken(TokenType.name);\n }\n } else if (this.tokens.matches1(TokenType.braceL)) {\n if (needsComma) {\n this.tokens.appendCode(\",\");\n }\n this.tokens.copyToken();\n while (!this.tokens.matches1(TokenType.braceR)) {\n foundAnyNamedImport = true;\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n if (specifierInfo.isType || this.shouldAutomaticallyElideImportedName(specifierInfo.rightName)) {\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeImport = true;\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n }\n if (this.keepUnusedImports) {\n return false;\n }\n if (this.isTypeScriptTransformEnabled) {\n return !foundNonTypeImport;\n } else if (this.isFlowTransformEnabled) {\n return foundAnyNamedImport && !foundNonTypeImport;\n } else {\n return false;\n }\n }\n shouldAutomaticallyElideImportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && !this.nonTypeIdentifiers.has(name);\n }\n processExportDefault() {\n if (shouldElideDefaultExport(\n this.isTypeScriptTransformEnabled,\n this.keepUnusedImports,\n this.tokens,\n this.declarationInfo\n )) {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n this.tokens.removeToken();\n return true;\n }\n const alreadyHasName = this.tokens.matches4(TokenType._export, TokenType._default, TokenType._function, TokenType.name) || // export default async function\n this.tokens.matches5(TokenType._export, TokenType._default, TokenType.name, TokenType._function, TokenType.name) && this.tokens.matchesContextualAtIndex(\n this.tokens.currentIndex() + 2,\n ContextualKeyword._async\n ) || this.tokens.matches4(TokenType._export, TokenType._default, TokenType._class, TokenType.name) || this.tokens.matches5(TokenType._export, TokenType._default, TokenType._abstract, TokenType._class, TokenType.name);\n if (!alreadyHasName && this.reactHotLoaderTransformer) {\n const defaultVarName = this.nameManager.claimFreeName(\"_default\");\n this.tokens.replaceToken(`let ${defaultVarName}; export`);\n this.tokens.copyToken();\n this.tokens.appendCode(` ${defaultVarName} =`);\n this.reactHotLoaderTransformer.setExtractedDefaultExportName(defaultVarName);\n return true;\n }\n return false;\n }\n /**\n * Handle a statement with one of these forms:\n * export {a, type b};\n * export {c, type d} from 'foo';\n *\n * In both cases, any explicit type exports should be removed. In the first\n * case, we also need to handle implicit export elision for names declared as\n * types. In the second case, we must NOT do implicit named export elision,\n * but we must remove the runtime import if all exports are type exports.\n */\n processNamedExports() {\n if (!this.isTypeScriptTransformEnabled) {\n return false;\n }\n this.tokens.copyExpectedToken(TokenType._export);\n this.tokens.copyExpectedToken(TokenType.braceL);\n const isReExport = isExportFrom(this.tokens);\n let foundNonTypeExport = false;\n while (!this.tokens.matches1(TokenType.braceR)) {\n const specifierInfo = getImportExportSpecifierInfo(this.tokens);\n if (specifierInfo.isType || !isReExport && this.shouldElideExportedName(specifierInfo.leftName)) {\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.removeToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n } else {\n foundNonTypeExport = true;\n while (this.tokens.currentIndex() < specifierInfo.endIndex) {\n this.tokens.copyToken();\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n if (!this.keepUnusedImports && isReExport && !foundNonTypeExport) {\n this.tokens.removeToken();\n this.tokens.removeToken();\n removeMaybeImportAttributes(this.tokens);\n }\n return true;\n }\n /**\n * ESM elides all imports with the rule that we only elide if we see that it's\n * a type and never see it as a value. This is in contrast to CJS, which\n * elides imports that are completely unknown.\n */\n shouldElideExportedName(name) {\n return this.isTypeScriptTransformEnabled && !this.keepUnusedImports && this.declarationInfo.typeDeclarations.has(name) && !this.declarationInfo.valueDeclarations.has(name);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/FlowTransformer.js\n var FlowTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, isImportsTransformEnabled) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.isImportsTransformEnabled = isImportsTransformEnabled;\n ;\n }\n process() {\n if (this.rootTransformer.processPossibleArrowParamEnd() || this.rootTransformer.processPossibleAsyncArrowWithTypeParams() || this.rootTransformer.processPossibleTypeRange()) {\n return true;\n }\n if (this.tokens.matches1(TokenType._enum)) {\n this.processEnum();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._enum)) {\n this.processNamedExportEnum();\n return true;\n }\n if (this.tokens.matches3(TokenType._export, TokenType._default, TokenType._enum)) {\n this.processDefaultExportEnum();\n return true;\n }\n return false;\n }\n /**\n * Handle a declaration like:\n * export enum E ...\n *\n * With this imports transform, this becomes:\n * const E = [[enum]]; exports.E = E;\n *\n * otherwise, it becomes:\n * export const E = [[enum]];\n */\n processNamedExportEnum() {\n if (this.isImportsTransformEnabled) {\n this.tokens.removeInitialToken();\n const enumName = this.tokens.identifierNameAtRelativeIndex(1);\n this.processEnum();\n this.tokens.appendCode(` exports.${enumName} = ${enumName};`);\n } else {\n this.tokens.copyToken();\n this.processEnum();\n }\n }\n /**\n * Handle a declaration like:\n * export default enum E\n *\n * With the imports transform, this becomes:\n * const E = [[enum]]; exports.default = E;\n *\n * otherwise, it becomes:\n * const E = [[enum]]; export default E;\n */\n processDefaultExportEnum() {\n this.tokens.removeInitialToken();\n this.tokens.removeToken();\n const enumName = this.tokens.identifierNameAtRelativeIndex(1);\n this.processEnum();\n if (this.isImportsTransformEnabled) {\n this.tokens.appendCode(` exports.default = ${enumName};`);\n } else {\n this.tokens.appendCode(` export default ${enumName};`);\n }\n }\n /**\n * Transpile flow enums to invoke the \"flow-enums-runtime\" library.\n *\n * Currently, the transpiled code always uses `require(\"flow-enums-runtime\")`,\n * but if future flexibility is needed, we could expose a config option for\n * this string (similar to configurable JSX). Even when targeting ESM, the\n * default behavior of babel-plugin-transform-flow-enums is to use require\n * rather than injecting an import.\n *\n * Flow enums are quite a bit simpler than TS enums and have some convenient\n * constraints:\n * - Element initializers must be either always present or always absent. That\n * means that we can use fixed lookahead on the first element (if any) and\n * assume that all elements are like that.\n * - The right-hand side of an element initializer must be a literal value,\n * not a complex expression and not referencing other elements. That means\n * we can simply copy a single token.\n *\n * Enums can be broken up into three basic cases:\n *\n * Mirrored enums:\n * enum E {A, B}\n * ->\n * const E = require(\"flow-enums-runtime\").Mirrored([\"A\", \"B\"]);\n *\n * Initializer enums:\n * enum E {A = 1, B = 2}\n * ->\n * const E = require(\"flow-enums-runtime\")({A: 1, B: 2});\n *\n * Symbol enums:\n * enum E of symbol {A, B}\n * ->\n * const E = require(\"flow-enums-runtime\")({A: Symbol(\"A\"), B: Symbol(\"B\")});\n *\n * We can statically detect which of the three cases this is by looking at the\n * \"of\" declaration (if any) and seeing if the first element has an initializer.\n * Since the other transform details are so similar between the three cases, we\n * use a single implementation and vary the transform within processEnumElement\n * based on case.\n */\n processEnum() {\n this.tokens.replaceToken(\"const\");\n this.tokens.copyExpectedToken(TokenType.name);\n let isSymbolEnum = false;\n if (this.tokens.matchesContextual(ContextualKeyword._of)) {\n this.tokens.removeToken();\n isSymbolEnum = this.tokens.matchesContextual(ContextualKeyword._symbol);\n this.tokens.removeToken();\n }\n const hasInitializers = this.tokens.matches3(TokenType.braceL, TokenType.name, TokenType.eq);\n this.tokens.appendCode(' = require(\"flow-enums-runtime\")');\n const isMirrored = !isSymbolEnum && !hasInitializers;\n this.tokens.replaceTokenTrimmingLeftWhitespace(isMirrored ? \".Mirrored([\" : \"({\");\n while (!this.tokens.matches1(TokenType.braceR)) {\n if (this.tokens.matches1(TokenType.ellipsis)) {\n this.tokens.removeToken();\n break;\n }\n this.processEnumElement(isSymbolEnum, hasInitializers);\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.copyToken();\n }\n }\n this.tokens.replaceToken(isMirrored ? \"]);\" : \"});\");\n }\n /**\n * Process an individual enum element, producing either an array element or an\n * object element based on what type of enum this is.\n */\n processEnumElement(isSymbolEnum, hasInitializers) {\n if (isSymbolEnum) {\n const elementName = this.tokens.identifierName();\n this.tokens.copyToken();\n this.tokens.appendCode(`: Symbol(\"${elementName}\")`);\n } else if (hasInitializers) {\n this.tokens.copyToken();\n this.tokens.replaceTokenTrimmingLeftWhitespace(\":\");\n this.tokens.copyToken();\n } else {\n this.tokens.replaceToken(`\"${this.tokens.identifierName()}\"`);\n }\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/JestHoistTransformer.js\n function _optionalChain(ops) {\n let lastAccessLHS = void 0;\n let value = ops[0];\n let i = 1;\n while (i < ops.length) {\n const op = ops[i];\n const fn = ops[i + 1];\n i += 2;\n if ((op === \"optionalAccess\" || op === \"optionalCall\") && value == null) {\n return void 0;\n }\n if (op === \"access\" || op === \"optionalAccess\") {\n lastAccessLHS = value;\n value = fn(value);\n } else if (op === \"call\" || op === \"optionalCall\") {\n value = fn((...args) => value.call(lastAccessLHS, ...args));\n lastAccessLHS = void 0;\n }\n }\n return value;\n }\n var JEST_GLOBAL_NAME = \"jest\";\n var HOISTED_METHODS = [\"mock\", \"unmock\", \"enableAutomock\", \"disableAutomock\"];\n var JestHoistTransformer = class _JestHoistTransformer extends Transformer {\n __init() {\n this.hoistedFunctionNames = [];\n }\n constructor(rootTransformer, tokens, nameManager, importProcessor) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.nameManager = nameManager;\n this.importProcessor = importProcessor;\n _JestHoistTransformer.prototype.__init.call(this);\n ;\n }\n process() {\n if (this.tokens.currentToken().scopeDepth === 0 && this.tokens.matches4(TokenType.name, TokenType.dot, TokenType.name, TokenType.parenL) && this.tokens.identifierName() === JEST_GLOBAL_NAME) {\n if (_optionalChain([this, \"access\", (_) => _.importProcessor, \"optionalAccess\", (_2) => _2.getGlobalNames, \"call\", (_3) => _3(), \"optionalAccess\", (_4) => _4.has, \"call\", (_5) => _5(JEST_GLOBAL_NAME)])) {\n return false;\n }\n return this.extractHoistedCalls();\n }\n return false;\n }\n getHoistedCode() {\n if (this.hoistedFunctionNames.length > 0) {\n return this.hoistedFunctionNames.map((name) => `${name}();`).join(\"\");\n }\n return \"\";\n }\n /**\n * Extracts any methods calls on the jest-object that should be hoisted.\n *\n * According to the jest docs, https://jestjs.io/docs/en/jest-object#jestmockmodulename-factory-options,\n * mock, unmock, enableAutomock, disableAutomock, are the methods that should be hoisted.\n *\n * We do not apply the same checks of the arguments as babel-plugin-jest-hoist does.\n */\n extractHoistedCalls() {\n this.tokens.removeToken();\n let followsNonHoistedJestCall = false;\n while (this.tokens.matches3(TokenType.dot, TokenType.name, TokenType.parenL)) {\n const methodName = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n const shouldHoist = HOISTED_METHODS.includes(methodName);\n if (shouldHoist) {\n const hoistedFunctionName = this.nameManager.claimFreeName(\"__jestHoist\");\n this.hoistedFunctionNames.push(hoistedFunctionName);\n this.tokens.replaceToken(`function ${hoistedFunctionName}(){${JEST_GLOBAL_NAME}.`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n this.tokens.appendCode(\";}\");\n followsNonHoistedJestCall = false;\n } else {\n if (followsNonHoistedJestCall) {\n this.tokens.copyToken();\n } else {\n this.tokens.replaceToken(`${JEST_GLOBAL_NAME}.`);\n }\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.parenR);\n followsNonHoistedJestCall = true;\n }\n }\n return true;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/NumericSeparatorTransformer.js\n var NumericSeparatorTransformer = class extends Transformer {\n constructor(tokens) {\n super();\n this.tokens = tokens;\n ;\n }\n process() {\n if (this.tokens.matches1(TokenType.num)) {\n const code = this.tokens.currentTokenCode();\n if (code.includes(\"_\")) {\n this.tokens.replaceToken(code.replace(/_/g, \"\"));\n return true;\n }\n }\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/OptionalCatchBindingTransformer.js\n var OptionalCatchBindingTransformer = class extends Transformer {\n constructor(tokens, nameManager) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n ;\n }\n process() {\n if (this.tokens.matches2(TokenType._catch, TokenType.braceL)) {\n this.tokens.copyToken();\n this.tokens.appendCode(` (${this.nameManager.claimFreeName(\"e\")})`);\n return true;\n }\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/OptionalChainingNullishTransformer.js\n var OptionalChainingNullishTransformer = class extends Transformer {\n constructor(tokens, nameManager) {\n super();\n this.tokens = tokens;\n this.nameManager = nameManager;\n ;\n }\n process() {\n if (this.tokens.matches1(TokenType.nullishCoalescing)) {\n const token2 = this.tokens.currentToken();\n if (this.tokens.tokens[token2.nullishStartIndex].isAsyncOperation) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(\", async () => (\");\n } else {\n this.tokens.replaceTokenTrimmingLeftWhitespace(\", () => (\");\n }\n return true;\n }\n if (this.tokens.matches1(TokenType._delete)) {\n const nextToken2 = this.tokens.tokenAtRelativeIndex(1);\n if (nextToken2.isOptionalChainStart) {\n this.tokens.removeInitialToken();\n return true;\n }\n }\n const token = this.tokens.currentToken();\n const chainStart = token.subscriptStartIndex;\n if (chainStart != null && this.tokens.tokens[chainStart].isOptionalChainStart && // Super subscripts can't be optional (since super is never null/undefined), and the syntax\n // relies on the subscript being intact, so leave this token alone.\n this.tokens.tokenAtRelativeIndex(-1).type !== TokenType._super) {\n const param = this.nameManager.claimFreeName(\"_\");\n let arrowStartSnippet;\n if (chainStart > 0 && this.tokens.matches1AtIndex(chainStart - 1, TokenType._delete) && this.isLastSubscriptInChain()) {\n arrowStartSnippet = `${param} => delete ${param}`;\n } else {\n arrowStartSnippet = `${param} => ${param}`;\n }\n if (this.tokens.tokens[chainStart].isAsyncOperation) {\n arrowStartSnippet = `async ${arrowStartSnippet}`;\n }\n if (this.tokens.matches2(TokenType.questionDot, TokenType.parenL) || this.tokens.matches2(TokenType.questionDot, TokenType.lessThan)) {\n if (this.justSkippedSuper()) {\n this.tokens.appendCode(\".bind(this)\");\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalCall', ${arrowStartSnippet}`);\n } else if (this.tokens.matches2(TokenType.questionDot, TokenType.bracketL)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${arrowStartSnippet}`);\n } else if (this.tokens.matches1(TokenType.questionDot)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${arrowStartSnippet}.`);\n } else if (this.tokens.matches1(TokenType.dot)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${arrowStartSnippet}.`);\n } else if (this.tokens.matches1(TokenType.bracketL)) {\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${arrowStartSnippet}[`);\n } else if (this.tokens.matches1(TokenType.parenL)) {\n if (this.justSkippedSuper()) {\n this.tokens.appendCode(\".bind(this)\");\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'call', ${arrowStartSnippet}(`);\n } else {\n throw new Error(\"Unexpected subscript operator in optional chain.\");\n }\n return true;\n }\n return false;\n }\n /**\n * Determine if the current token is the last of its chain, so that we know whether it's eligible\n * to have a delete op inserted.\n *\n * We can do this by walking forward until we determine one way or another. Each\n * isOptionalChainStart token must be paired with exactly one isOptionalChainEnd token after it in\n * a nesting way, so we can track depth and walk to the end of the chain (the point where the\n * depth goes negative) and see if any other subscript token is after us in the chain.\n */\n isLastSubscriptInChain() {\n let depth = 0;\n for (let i = this.tokens.currentIndex() + 1; ; i++) {\n if (i >= this.tokens.tokens.length) {\n throw new Error(\"Reached the end of the code while finding the end of the access chain.\");\n }\n if (this.tokens.tokens[i].isOptionalChainStart) {\n depth++;\n } else if (this.tokens.tokens[i].isOptionalChainEnd) {\n depth--;\n }\n if (depth < 0) {\n return true;\n }\n if (depth === 0 && this.tokens.tokens[i].subscriptStartIndex != null) {\n return false;\n }\n }\n }\n /**\n * Determine if we are the open-paren in an expression like super.a()?.b.\n *\n * We can do this by walking backward to find the previous subscript. If that subscript was\n * preceded by a super, then we must be the subscript after it, so if this is a call expression,\n * we'll need to attach the right context.\n */\n justSkippedSuper() {\n let depth = 0;\n let index2 = this.tokens.currentIndex() - 1;\n while (true) {\n if (index2 < 0) {\n throw new Error(\n \"Reached the start of the code while finding the start of the access chain.\"\n );\n }\n if (this.tokens.tokens[index2].isOptionalChainStart) {\n depth--;\n } else if (this.tokens.tokens[index2].isOptionalChainEnd) {\n depth++;\n }\n if (depth < 0) {\n return false;\n }\n if (depth === 0 && this.tokens.tokens[index2].subscriptStartIndex != null) {\n return this.tokens.tokens[index2 - 1].type === TokenType._super;\n }\n index2--;\n }\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ReactDisplayNameTransformer.js\n var ReactDisplayNameTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, importProcessor, options2) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.importProcessor = importProcessor;\n this.options = options2;\n ;\n }\n process() {\n const startIndex = this.tokens.currentIndex();\n if (this.tokens.identifierName() === \"createReactClass\") {\n const newName = this.importProcessor && this.importProcessor.getIdentifierReplacement(\"createReactClass\");\n if (newName) {\n this.tokens.replaceToken(`(0, ${newName})`);\n } else {\n this.tokens.copyToken();\n }\n this.tryProcessCreateClassCall(startIndex);\n return true;\n }\n if (this.tokens.matches3(TokenType.name, TokenType.dot, TokenType.name) && this.tokens.identifierName() === \"React\" && this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 2) === \"createClass\") {\n const newName = this.importProcessor ? this.importProcessor.getIdentifierReplacement(\"React\") || \"React\" : \"React\";\n if (newName) {\n this.tokens.replaceToken(newName);\n this.tokens.copyToken();\n this.tokens.copyToken();\n } else {\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.copyToken();\n }\n this.tryProcessCreateClassCall(startIndex);\n return true;\n }\n return false;\n }\n /**\n * This is called with the token position at the open-paren.\n */\n tryProcessCreateClassCall(startIndex) {\n const displayName = this.findDisplayName(startIndex);\n if (!displayName) {\n return;\n }\n if (this.classNeedsDisplayName()) {\n this.tokens.copyExpectedToken(TokenType.parenL);\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.tokens.appendCode(`displayName: '${displayName}',`);\n this.rootTransformer.processBalancedCode();\n this.tokens.copyExpectedToken(TokenType.braceR);\n this.tokens.copyExpectedToken(TokenType.parenR);\n }\n }\n findDisplayName(startIndex) {\n if (startIndex < 2) {\n return null;\n }\n if (this.tokens.matches2AtIndex(startIndex - 2, TokenType.name, TokenType.eq)) {\n return this.tokens.identifierNameAtIndex(startIndex - 2);\n }\n if (startIndex >= 2 && this.tokens.tokens[startIndex - 2].identifierRole === IdentifierRole.ObjectKey) {\n return this.tokens.identifierNameAtIndex(startIndex - 2);\n }\n if (this.tokens.matches2AtIndex(startIndex - 2, TokenType._export, TokenType._default)) {\n return this.getDisplayNameFromFilename();\n }\n return null;\n }\n getDisplayNameFromFilename() {\n const filePath = this.options.filePath || \"unknown\";\n const pathSegments = filePath.split(\"/\");\n const filename = pathSegments[pathSegments.length - 1];\n const dotIndex = filename.lastIndexOf(\".\");\n const baseFilename = dotIndex === -1 ? filename : filename.slice(0, dotIndex);\n if (baseFilename === \"index\" && pathSegments[pathSegments.length - 2]) {\n return pathSegments[pathSegments.length - 2];\n } else {\n return baseFilename;\n }\n }\n /**\n * We only want to add a display name when this is a function call containing\n * one argument, which is an object literal without `displayName` as an\n * existing key.\n */\n classNeedsDisplayName() {\n let index2 = this.tokens.currentIndex();\n if (!this.tokens.matches2(TokenType.parenL, TokenType.braceL)) {\n return false;\n }\n const objectStartIndex = index2 + 1;\n const objectContextId = this.tokens.tokens[objectStartIndex].contextId;\n if (objectContextId == null) {\n throw new Error(\"Expected non-null context ID on object open-brace.\");\n }\n for (; index2 < this.tokens.tokens.length; index2++) {\n const token = this.tokens.tokens[index2];\n if (token.type === TokenType.braceR && token.contextId === objectContextId) {\n index2++;\n break;\n }\n if (this.tokens.identifierNameAtIndex(index2) === \"displayName\" && this.tokens.tokens[index2].identifierRole === IdentifierRole.ObjectKey && token.contextId === objectContextId) {\n return false;\n }\n }\n if (index2 === this.tokens.tokens.length) {\n throw new Error(\"Unexpected end of input when processing React class.\");\n }\n return this.tokens.matches1AtIndex(index2, TokenType.parenR) || this.tokens.matches2AtIndex(index2, TokenType.comma, TokenType.parenR);\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/ReactHotLoaderTransformer.js\n var ReactHotLoaderTransformer = class _ReactHotLoaderTransformer extends Transformer {\n __init() {\n this.extractedDefaultExportName = null;\n }\n constructor(tokens, filePath) {\n super();\n this.tokens = tokens;\n this.filePath = filePath;\n _ReactHotLoaderTransformer.prototype.__init.call(this);\n ;\n }\n setExtractedDefaultExportName(extractedDefaultExportName) {\n this.extractedDefaultExportName = extractedDefaultExportName;\n }\n getPrefixCode() {\n return `\n (function () {\n var enterModule = require('react-hot-loader').enterModule;\n enterModule && enterModule(module);\n })();`.replace(/\\s+/g, \" \").trim();\n }\n getSuffixCode() {\n const topLevelNames = /* @__PURE__ */ new Set();\n for (const token of this.tokens.tokens) {\n if (!token.isType && isTopLevelDeclaration(token) && token.identifierRole !== IdentifierRole.ImportDeclaration) {\n topLevelNames.add(this.tokens.identifierNameForToken(token));\n }\n }\n const namesToRegister = Array.from(topLevelNames).map((name) => ({\n variableName: name,\n uniqueLocalName: name\n }));\n if (this.extractedDefaultExportName) {\n namesToRegister.push({\n variableName: this.extractedDefaultExportName,\n uniqueLocalName: \"default\"\n });\n }\n return `\n;(function () {\n var reactHotLoader = require('react-hot-loader').default;\n var leaveModule = require('react-hot-loader').leaveModule;\n if (!reactHotLoader) {\n return;\n }\n${namesToRegister.map(\n ({ variableName, uniqueLocalName }) => ` reactHotLoader.register(${variableName}, \"${uniqueLocalName}\", ${JSON.stringify(\n this.filePath || \"\"\n )});`\n ).join(\"\\n\")}\n leaveModule(module);\n})();`;\n }\n process() {\n return false;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/isIdentifier.js\n var RESERVED_WORDS = /* @__PURE__ */ new Set([\n // Reserved keywords as of ECMAScript 2015\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"export\",\n \"extends\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"new\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n // Future reserved keywords\n \"enum\",\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"await\",\n // Literals that cannot be used as identifiers\n \"false\",\n \"null\",\n \"true\"\n ]);\n function isIdentifier(name) {\n if (name.length === 0) {\n return false;\n }\n if (!IS_IDENTIFIER_START[name.charCodeAt(0)]) {\n return false;\n }\n for (let i = 1; i < name.length; i++) {\n if (!IS_IDENTIFIER_CHAR[name.charCodeAt(i)]) {\n return false;\n }\n }\n return !RESERVED_WORDS.has(name);\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/TypeScriptTransformer.js\n var TypeScriptTransformer = class extends Transformer {\n constructor(rootTransformer, tokens, isImportsTransformEnabled) {\n super();\n this.rootTransformer = rootTransformer;\n this.tokens = tokens;\n this.isImportsTransformEnabled = isImportsTransformEnabled;\n ;\n }\n process() {\n if (this.rootTransformer.processPossibleArrowParamEnd() || this.rootTransformer.processPossibleAsyncArrowWithTypeParams() || this.rootTransformer.processPossibleTypeRange()) {\n return true;\n }\n if (this.tokens.matches1(TokenType._public) || this.tokens.matches1(TokenType._protected) || this.tokens.matches1(TokenType._private) || this.tokens.matches1(TokenType._abstract) || this.tokens.matches1(TokenType._readonly) || this.tokens.matches1(TokenType._override) || this.tokens.matches1(TokenType.nonNullAssertion)) {\n this.tokens.removeInitialToken();\n return true;\n }\n if (this.tokens.matches1(TokenType._enum) || this.tokens.matches2(TokenType._const, TokenType._enum)) {\n this.processEnum();\n return true;\n }\n if (this.tokens.matches2(TokenType._export, TokenType._enum) || this.tokens.matches3(TokenType._export, TokenType._const, TokenType._enum)) {\n this.processEnum(true);\n return true;\n }\n return false;\n }\n processEnum(isExport = false) {\n this.tokens.removeInitialToken();\n while (this.tokens.matches1(TokenType._const) || this.tokens.matches1(TokenType._enum)) {\n this.tokens.removeToken();\n }\n const enumName = this.tokens.identifierName();\n this.tokens.removeToken();\n if (isExport && !this.isImportsTransformEnabled) {\n this.tokens.appendCode(\"export \");\n }\n this.tokens.appendCode(`var ${enumName}; (function (${enumName})`);\n this.tokens.copyExpectedToken(TokenType.braceL);\n this.processEnumBody(enumName);\n this.tokens.copyExpectedToken(TokenType.braceR);\n if (isExport && this.isImportsTransformEnabled) {\n this.tokens.appendCode(`)(${enumName} || (exports.${enumName} = ${enumName} = {}));`);\n } else {\n this.tokens.appendCode(`)(${enumName} || (${enumName} = {}));`);\n }\n }\n /**\n * Transform an enum into equivalent JS. This has complexity in a few places:\n * - TS allows string enums, numeric enums, and a mix of the two styles within an enum.\n * - Enum keys are allowed to be referenced in later enum values.\n * - Enum keys are allowed to be strings.\n * - When enum values are omitted, they should follow an auto-increment behavior.\n */\n processEnumBody(enumName) {\n let previousValueCode = null;\n while (true) {\n if (this.tokens.matches1(TokenType.braceR)) {\n break;\n }\n const { nameStringCode, variableName } = this.extractEnumKeyInfo(this.tokens.currentToken());\n this.tokens.removeInitialToken();\n if (this.tokens.matches3(TokenType.eq, TokenType.string, TokenType.comma) || this.tokens.matches3(TokenType.eq, TokenType.string, TokenType.braceR)) {\n this.processStringLiteralEnumMember(enumName, nameStringCode, variableName);\n } else if (this.tokens.matches1(TokenType.eq)) {\n this.processExplicitValueEnumMember(enumName, nameStringCode, variableName);\n } else {\n this.processImplicitValueEnumMember(\n enumName,\n nameStringCode,\n variableName,\n previousValueCode\n );\n }\n if (this.tokens.matches1(TokenType.comma)) {\n this.tokens.removeToken();\n }\n if (variableName != null) {\n previousValueCode = variableName;\n } else {\n previousValueCode = `${enumName}[${nameStringCode}]`;\n }\n }\n }\n /**\n * Detect name information about this enum key, which will be used to determine which code to emit\n * and whether we should declare a variable as part of this declaration.\n *\n * Some cases to keep in mind:\n * - Enum keys can be implicitly referenced later, e.g. `X = 1, Y = X`. In Sucrase, we implement\n * this by declaring a variable `X` so that later expressions can use it.\n * - In addition to the usual identifier key syntax, enum keys are allowed to be string literals,\n * e.g. `\"hello world\" = 3,`. Template literal syntax is NOT allowed.\n * - Even if the enum key is defined as a string literal, it may still be referenced by identifier\n * later, e.g. `\"X\" = 1, Y = X`. That means that we need to detect whether or not a string\n * literal is identifier-like and emit a variable if so, even if the declaration did not use an\n * identifier.\n * - Reserved keywords like `break` are valid enum keys, but are not valid to be referenced later\n * and would be a syntax error if we emitted a variable, so we need to skip the variable\n * declaration in those cases.\n *\n * The variableName return value captures these nuances: if non-null, we can and must emit a\n * variable declaration, and if null, we can't and shouldn't.\n */\n extractEnumKeyInfo(nameToken) {\n if (nameToken.type === TokenType.name) {\n const name = this.tokens.identifierNameForToken(nameToken);\n return {\n nameStringCode: `\"${name}\"`,\n variableName: isIdentifier(name) ? name : null\n };\n } else if (nameToken.type === TokenType.string) {\n const name = this.tokens.stringValueForToken(nameToken);\n return {\n nameStringCode: this.tokens.code.slice(nameToken.start, nameToken.end),\n variableName: isIdentifier(name) ? name : null\n };\n } else {\n throw new Error(\"Expected name or string at beginning of enum element.\");\n }\n }\n /**\n * Handle an enum member where the RHS is just a string literal (not omitted, not a number, and\n * not a complex expression). This is the typical form for TS string enums, and in this case, we\n * do *not* create a reverse mapping.\n *\n * This is called after deleting the key token, when the token processor is at the equals sign.\n *\n * Example 1:\n * someKey = \"some value\"\n * ->\n * const someKey = \"some value\"; MyEnum[\"someKey\"] = someKey;\n *\n * Example 2:\n * \"some key\" = \"some value\"\n * ->\n * MyEnum[\"some key\"] = \"some value\";\n */\n processStringLiteralEnumMember(enumName, nameStringCode, variableName) {\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName}`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.appendCode(`; ${enumName}[${nameStringCode}] = ${variableName};`);\n } else {\n this.tokens.appendCode(`${enumName}[${nameStringCode}]`);\n this.tokens.copyToken();\n this.tokens.copyToken();\n this.tokens.appendCode(\";\");\n }\n }\n /**\n * Handle an enum member initialized with an expression on the right-hand side (other than a\n * string literal). In these cases, we should transform the expression and emit code that sets up\n * a reverse mapping.\n *\n * The TypeScript implementation of this operation distinguishes between expressions that can be\n * \"constant folded\" at compile time (i.e. consist of number literals and simple math operations\n * on those numbers) and ones that are dynamic. For constant expressions, it emits the resolved\n * numeric value, and auto-incrementing is only allowed in that case. Evaluating expressions at\n * compile time would add significant complexity to Sucrase, so Sucrase instead leaves the\n * expression as-is, and will later emit something like `MyEnum[\"previousKey\"] + 1` to implement\n * auto-incrementing.\n *\n * This is called after deleting the key token, when the token processor is at the equals sign.\n *\n * Example 1:\n * someKey = 1 + 1\n * ->\n * const someKey = 1 + 1; MyEnum[MyEnum[\"someKey\"] = someKey] = \"someKey\";\n *\n * Example 2:\n * \"some key\" = 1 + 1\n * ->\n * MyEnum[MyEnum[\"some key\"] = 1 + 1] = \"some key\";\n */\n processExplicitValueEnumMember(enumName, nameStringCode, variableName) {\n const rhsEndIndex = this.tokens.currentToken().rhsEndIndex;\n if (rhsEndIndex == null) {\n throw new Error(\"Expected rhsEndIndex on enum assign.\");\n }\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName}`);\n this.tokens.copyToken();\n while (this.tokens.currentIndex() < rhsEndIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(\n `; ${enumName}[${enumName}[${nameStringCode}] = ${variableName}] = ${nameStringCode};`\n );\n } else {\n this.tokens.appendCode(`${enumName}[${enumName}[${nameStringCode}]`);\n this.tokens.copyToken();\n while (this.tokens.currentIndex() < rhsEndIndex) {\n this.rootTransformer.processToken();\n }\n this.tokens.appendCode(`] = ${nameStringCode};`);\n }\n }\n /**\n * Handle an enum member with no right-hand side expression. In this case, the value is the\n * previous value plus 1, or 0 if there was no previous value. We should also always emit a\n * reverse mapping.\n *\n * Example 1:\n * someKey2\n * ->\n * const someKey2 = someKey1 + 1; MyEnum[MyEnum[\"someKey2\"] = someKey2] = \"someKey2\";\n *\n * Example 2:\n * \"some key 2\"\n * ->\n * MyEnum[MyEnum[\"some key 2\"] = someKey1 + 1] = \"some key 2\";\n */\n processImplicitValueEnumMember(enumName, nameStringCode, variableName, previousValueCode) {\n let valueCode = previousValueCode != null ? `${previousValueCode} + 1` : \"0\";\n if (variableName != null) {\n this.tokens.appendCode(`const ${variableName} = ${valueCode}; `);\n valueCode = variableName;\n }\n this.tokens.appendCode(\n `${enumName}[${enumName}[${nameStringCode}] = ${valueCode}] = ${nameStringCode};`\n );\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/transformers/RootTransformer.js\n var RootTransformer = class _RootTransformer {\n __init() {\n this.transformers = [];\n }\n __init2() {\n this.generatedVariables = [];\n }\n constructor(sucraseContext, transforms, enableLegacyBabel5ModuleInterop, options2) {\n ;\n _RootTransformer.prototype.__init.call(this);\n _RootTransformer.prototype.__init2.call(this);\n this.nameManager = sucraseContext.nameManager;\n this.helperManager = sucraseContext.helperManager;\n const { tokenProcessor, importProcessor } = sucraseContext;\n this.tokens = tokenProcessor;\n this.isImportsTransformEnabled = transforms.includes(\"imports\");\n this.isReactHotLoaderTransformEnabled = transforms.includes(\"react-hot-loader\");\n this.disableESTransforms = Boolean(options2.disableESTransforms);\n if (!options2.disableESTransforms) {\n this.transformers.push(\n new OptionalChainingNullishTransformer(tokenProcessor, this.nameManager)\n );\n this.transformers.push(new NumericSeparatorTransformer(tokenProcessor));\n this.transformers.push(new OptionalCatchBindingTransformer(tokenProcessor, this.nameManager));\n }\n if (transforms.includes(\"jsx\")) {\n if (options2.jsxRuntime !== \"preserve\") {\n this.transformers.push(\n new JSXTransformer(this, tokenProcessor, importProcessor, this.nameManager, options2)\n );\n }\n this.transformers.push(\n new ReactDisplayNameTransformer(this, tokenProcessor, importProcessor, options2)\n );\n }\n let reactHotLoaderTransformer = null;\n if (transforms.includes(\"react-hot-loader\")) {\n if (!options2.filePath) {\n throw new Error(\"filePath is required when using the react-hot-loader transform.\");\n }\n reactHotLoaderTransformer = new ReactHotLoaderTransformer(tokenProcessor, options2.filePath);\n this.transformers.push(reactHotLoaderTransformer);\n }\n if (transforms.includes(\"imports\")) {\n if (importProcessor === null) {\n throw new Error(\"Expected non-null importProcessor with imports transform enabled.\");\n }\n this.transformers.push(\n new CJSImportTransformer(\n this,\n tokenProcessor,\n importProcessor,\n this.nameManager,\n this.helperManager,\n reactHotLoaderTransformer,\n enableLegacyBabel5ModuleInterop,\n Boolean(options2.enableLegacyTypeScriptModuleInterop),\n transforms.includes(\"typescript\"),\n transforms.includes(\"flow\"),\n Boolean(options2.preserveDynamicImport),\n Boolean(options2.keepUnusedImports)\n )\n );\n } else {\n this.transformers.push(\n new ESMImportTransformer(\n tokenProcessor,\n this.nameManager,\n this.helperManager,\n reactHotLoaderTransformer,\n transforms.includes(\"typescript\"),\n transforms.includes(\"flow\"),\n Boolean(options2.keepUnusedImports),\n options2\n )\n );\n }\n if (transforms.includes(\"flow\")) {\n this.transformers.push(\n new FlowTransformer(this, tokenProcessor, transforms.includes(\"imports\"))\n );\n }\n if (transforms.includes(\"typescript\")) {\n this.transformers.push(\n new TypeScriptTransformer(this, tokenProcessor, transforms.includes(\"imports\"))\n );\n }\n if (transforms.includes(\"jest\")) {\n this.transformers.push(\n new JestHoistTransformer(this, tokenProcessor, this.nameManager, importProcessor)\n );\n }\n }\n transform() {\n this.tokens.reset();\n this.processBalancedCode();\n const shouldAddUseStrict = this.isImportsTransformEnabled;\n let prefix2 = shouldAddUseStrict ? '\"use strict\";' : \"\";\n for (const transformer4 of this.transformers) {\n prefix2 += transformer4.getPrefixCode();\n }\n prefix2 += this.helperManager.emitHelpers();\n prefix2 += this.generatedVariables.map((v) => ` var ${v};`).join(\"\");\n for (const transformer4 of this.transformers) {\n prefix2 += transformer4.getHoistedCode();\n }\n let suffix2 = \"\";\n for (const transformer4 of this.transformers) {\n suffix2 += transformer4.getSuffixCode();\n }\n const result = this.tokens.finish();\n let { code } = result;\n if (code.startsWith(\"#!\")) {\n let newlineIndex = code.indexOf(\"\\n\");\n if (newlineIndex === -1) {\n newlineIndex = code.length;\n code += \"\\n\";\n }\n return {\n code: code.slice(0, newlineIndex + 1) + prefix2 + code.slice(newlineIndex + 1) + suffix2,\n // The hashbang line has no tokens, so shifting the tokens to account\n // for prefix can happen normally.\n mappings: this.shiftMappings(result.mappings, prefix2.length)\n };\n } else {\n return {\n code: prefix2 + code + suffix2,\n mappings: this.shiftMappings(result.mappings, prefix2.length)\n };\n }\n }\n processBalancedCode() {\n let braceDepth = 0;\n let parenDepth = 0;\n while (!this.tokens.isAtEnd()) {\n if (this.tokens.matches1(TokenType.braceL) || this.tokens.matches1(TokenType.dollarBraceL)) {\n braceDepth++;\n } else if (this.tokens.matches1(TokenType.braceR)) {\n if (braceDepth === 0) {\n return;\n }\n braceDepth--;\n }\n if (this.tokens.matches1(TokenType.parenL)) {\n parenDepth++;\n } else if (this.tokens.matches1(TokenType.parenR)) {\n if (parenDepth === 0) {\n return;\n }\n parenDepth--;\n }\n this.processToken();\n }\n }\n processToken() {\n if (this.tokens.matches1(TokenType._class)) {\n this.processClass();\n return;\n }\n for (const transformer4 of this.transformers) {\n const wasProcessed = transformer4.process();\n if (wasProcessed) {\n return;\n }\n }\n this.tokens.copyToken();\n }\n /**\n * Skip past a class with a name and return that name.\n */\n processNamedClass() {\n if (!this.tokens.matches2(TokenType._class, TokenType.name)) {\n throw new Error(\"Expected identifier for exported class name.\");\n }\n const name = this.tokens.identifierNameAtIndex(this.tokens.currentIndex() + 1);\n this.processClass();\n return name;\n }\n processClass() {\n const classInfo = getClassInfo(this, this.tokens, this.nameManager, this.disableESTransforms);\n const needsCommaExpression = (classInfo.headerInfo.isExpression || !classInfo.headerInfo.className) && classInfo.staticInitializerNames.length + classInfo.instanceInitializerNames.length > 0;\n let className = classInfo.headerInfo.className;\n if (needsCommaExpression) {\n className = this.nameManager.claimFreeName(\"_class\");\n this.generatedVariables.push(className);\n this.tokens.appendCode(` (${className} =`);\n }\n const classToken = this.tokens.currentToken();\n const contextId = classToken.contextId;\n if (contextId == null) {\n throw new Error(\"Expected class to have a context ID.\");\n }\n this.tokens.copyExpectedToken(TokenType._class);\n while (!this.tokens.matchesContextIdAndLabel(TokenType.braceL, contextId)) {\n this.processToken();\n }\n this.processClassBody(classInfo, className);\n const staticInitializerStatements = classInfo.staticInitializerNames.map(\n (name) => `${className}.${name}()`\n );\n if (needsCommaExpression) {\n this.tokens.appendCode(\n `, ${staticInitializerStatements.map((s2) => `${s2}, `).join(\"\")}${className})`\n );\n } else if (classInfo.staticInitializerNames.length > 0) {\n this.tokens.appendCode(` ${staticInitializerStatements.map((s2) => `${s2};`).join(\" \")}`);\n }\n }\n /**\n * We want to just handle class fields in all contexts, since TypeScript supports them. Later,\n * when some JS implementations support class fields, this should be made optional.\n */\n processClassBody(classInfo, className) {\n const {\n headerInfo,\n constructorInsertPos,\n constructorInitializerStatements,\n fields,\n instanceInitializerNames,\n rangesToRemove\n } = classInfo;\n let fieldIndex = 0;\n let rangeToRemoveIndex = 0;\n const classContextId = this.tokens.currentToken().contextId;\n if (classContextId == null) {\n throw new Error(\"Expected non-null context ID on class.\");\n }\n this.tokens.copyExpectedToken(TokenType.braceL);\n if (this.isReactHotLoaderTransformEnabled) {\n this.tokens.appendCode(\n \"__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}\"\n );\n }\n const needsConstructorInit = constructorInitializerStatements.length + instanceInitializerNames.length > 0;\n if (constructorInsertPos === null && needsConstructorInit) {\n const constructorInitializersCode = this.makeConstructorInitCode(\n constructorInitializerStatements,\n instanceInitializerNames,\n className\n );\n if (headerInfo.hasSuperclass) {\n const argsName = this.nameManager.claimFreeName(\"args\");\n this.tokens.appendCode(\n `constructor(...${argsName}) { super(...${argsName}); ${constructorInitializersCode}; }`\n );\n } else {\n this.tokens.appendCode(`constructor() { ${constructorInitializersCode}; }`);\n }\n }\n while (!this.tokens.matchesContextIdAndLabel(TokenType.braceR, classContextId)) {\n if (fieldIndex < fields.length && this.tokens.currentIndex() === fields[fieldIndex].start) {\n let needsCloseBrace = false;\n if (this.tokens.matches1(TokenType.bracketL)) {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this`);\n } else if (this.tokens.matches1(TokenType.string) || this.tokens.matches1(TokenType.num)) {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this[`);\n needsCloseBrace = true;\n } else {\n this.tokens.copyTokenWithPrefix(`${fields[fieldIndex].initializerName}() {this.`);\n }\n while (this.tokens.currentIndex() < fields[fieldIndex].end) {\n if (needsCloseBrace && this.tokens.currentIndex() === fields[fieldIndex].equalsIndex) {\n this.tokens.appendCode(\"]\");\n }\n this.processToken();\n }\n this.tokens.appendCode(\"}\");\n fieldIndex++;\n } else if (rangeToRemoveIndex < rangesToRemove.length && this.tokens.currentIndex() >= rangesToRemove[rangeToRemoveIndex].start) {\n if (this.tokens.currentIndex() < rangesToRemove[rangeToRemoveIndex].end) {\n this.tokens.removeInitialToken();\n }\n while (this.tokens.currentIndex() < rangesToRemove[rangeToRemoveIndex].end) {\n this.tokens.removeToken();\n }\n rangeToRemoveIndex++;\n } else if (this.tokens.currentIndex() === constructorInsertPos) {\n this.tokens.copyToken();\n if (needsConstructorInit) {\n this.tokens.appendCode(\n `;${this.makeConstructorInitCode(\n constructorInitializerStatements,\n instanceInitializerNames,\n className\n )};`\n );\n }\n this.processToken();\n } else {\n this.processToken();\n }\n }\n this.tokens.copyExpectedToken(TokenType.braceR);\n }\n makeConstructorInitCode(constructorInitializerStatements, instanceInitializerNames, className) {\n return [\n ...constructorInitializerStatements,\n ...instanceInitializerNames.map((name) => `${className}.prototype.${name}.call(this)`)\n ].join(\";\");\n }\n /**\n * Normally it's ok to simply remove type tokens, but we need to be more careful when dealing with\n * arrow function return types since they can confuse the parser. In that case, we want to move\n * the close-paren to the same line as the arrow.\n *\n * See https://github.com/alangpierce/sucrase/issues/391 for more details.\n */\n processPossibleArrowParamEnd() {\n if (this.tokens.matches2(TokenType.parenR, TokenType.colon) && this.tokens.tokenAtRelativeIndex(1).isType) {\n let nextNonTypeIndex = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[nextNonTypeIndex].isType) {\n nextNonTypeIndex++;\n }\n if (this.tokens.matches1AtIndex(nextNonTypeIndex, TokenType.arrow)) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentIndex() < nextNonTypeIndex) {\n this.tokens.removeToken();\n }\n this.tokens.replaceTokenTrimmingLeftWhitespace(\") =>\");\n return true;\n }\n }\n return false;\n }\n /**\n * An async arrow function might be of the form:\n *\n * async <\n * T\n * >() => {}\n *\n * in which case, removing the type parameters will cause a syntax error. Detect this case and\n * move the open-paren earlier.\n */\n processPossibleAsyncArrowWithTypeParams() {\n if (!this.tokens.matchesContextual(ContextualKeyword._async) && !this.tokens.matches1(TokenType._async)) {\n return false;\n }\n const nextToken2 = this.tokens.tokenAtRelativeIndex(1);\n if (nextToken2.type !== TokenType.lessThan || !nextToken2.isType) {\n return false;\n }\n let nextNonTypeIndex = this.tokens.currentIndex() + 1;\n while (this.tokens.tokens[nextNonTypeIndex].isType) {\n nextNonTypeIndex++;\n }\n if (this.tokens.matches1AtIndex(nextNonTypeIndex, TokenType.parenL)) {\n this.tokens.replaceToken(\"async (\");\n this.tokens.removeInitialToken();\n while (this.tokens.currentIndex() < nextNonTypeIndex) {\n this.tokens.removeToken();\n }\n this.tokens.removeToken();\n this.processBalancedCode();\n this.processToken();\n return true;\n }\n return false;\n }\n processPossibleTypeRange() {\n if (this.tokens.currentToken().isType) {\n this.tokens.removeInitialToken();\n while (this.tokens.currentToken().isType) {\n this.tokens.removeToken();\n }\n return true;\n }\n return false;\n }\n shiftMappings(mappings, prefixLength) {\n for (let i = 0; i < mappings.length; i++) {\n const mapping = mappings[i];\n if (mapping !== void 0) {\n mappings[i] = mapping + prefixLength;\n }\n }\n return mappings;\n }\n };\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/formatTokens.js\n var import_lines_and_columns = __toESM(require_build());\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/util/getTSImportedNames.js\n function getTSImportedNames(tokens) {\n const importedNames = /* @__PURE__ */ new Set();\n for (let i = 0; i < tokens.tokens.length; i++) {\n if (tokens.matches1AtIndex(i, TokenType._import) && !tokens.matches3AtIndex(i, TokenType._import, TokenType.name, TokenType.eq)) {\n collectNamesForImport(tokens, i, importedNames);\n }\n }\n return importedNames;\n }\n function collectNamesForImport(tokens, index2, importedNames) {\n index2++;\n if (tokens.matches1AtIndex(index2, TokenType.parenL)) {\n return;\n }\n if (tokens.matches1AtIndex(index2, TokenType.name)) {\n importedNames.add(tokens.identifierNameAtIndex(index2));\n index2++;\n if (tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n }\n }\n if (tokens.matches1AtIndex(index2, TokenType.star)) {\n index2 += 2;\n importedNames.add(tokens.identifierNameAtIndex(index2));\n index2++;\n }\n if (tokens.matches1AtIndex(index2, TokenType.braceL)) {\n index2++;\n collectNamesForNamedImport(tokens, index2, importedNames);\n }\n }\n function collectNamesForNamedImport(tokens, index2, importedNames) {\n while (true) {\n if (tokens.matches1AtIndex(index2, TokenType.braceR)) {\n return;\n }\n const specifierInfo = getImportExportSpecifierInfo(tokens, index2);\n index2 = specifierInfo.endIndex;\n if (!specifierInfo.isType) {\n importedNames.add(specifierInfo.rightName);\n }\n if (tokens.matches2AtIndex(index2, TokenType.comma, TokenType.braceR)) {\n return;\n } else if (tokens.matches1AtIndex(index2, TokenType.braceR)) {\n return;\n } else if (tokens.matches1AtIndex(index2, TokenType.comma)) {\n index2++;\n } else {\n throw new Error(`Unexpected token: ${JSON.stringify(tokens.tokens[index2])}`);\n }\n }\n }\n\n // ../../../node_modules/.bun/sucrase@3.35.1/node_modules/sucrase/dist/esm/index.js\n function transform(code, options2) {\n validateOptions(options2);\n try {\n const sucraseContext = getSucraseContext(code, options2);\n const transformer4 = new RootTransformer(\n sucraseContext,\n options2.transforms,\n Boolean(options2.enableLegacyBabel5ModuleInterop),\n options2\n );\n const transformerResult = transformer4.transform();\n let result = { code: transformerResult.code };\n if (options2.sourceMapOptions) {\n if (!options2.filePath) {\n throw new Error(\"filePath must be specified when generating a source map.\");\n }\n result = {\n ...result,\n sourceMap: computeSourceMap(\n transformerResult,\n options2.filePath,\n options2.sourceMapOptions,\n code,\n sucraseContext.tokenProcessor.tokens\n )\n };\n }\n return result;\n } catch (e) {\n if (options2.filePath) {\n e.message = `Error transforming ${options2.filePath}: ${e.message}`;\n }\n throw e;\n }\n }\n function getSucraseContext(code, options2) {\n const isJSXEnabled2 = options2.transforms.includes(\"jsx\");\n const isTypeScriptEnabled2 = options2.transforms.includes(\"typescript\");\n const isFlowEnabled2 = options2.transforms.includes(\"flow\");\n const disableESTransforms = options2.disableESTransforms === true;\n const file = parse(code, isJSXEnabled2, isTypeScriptEnabled2, isFlowEnabled2);\n const tokens = file.tokens;\n const scopes = file.scopes;\n const nameManager = new NameManager(code, tokens);\n const helperManager = new HelperManager(nameManager);\n const tokenProcessor = new TokenProcessor(\n code,\n tokens,\n isFlowEnabled2,\n disableESTransforms,\n helperManager\n );\n const enableLegacyTypeScriptModuleInterop = Boolean(options2.enableLegacyTypeScriptModuleInterop);\n let importProcessor = null;\n if (options2.transforms.includes(\"imports\")) {\n importProcessor = new CJSImportProcessor(\n nameManager,\n tokenProcessor,\n enableLegacyTypeScriptModuleInterop,\n options2,\n options2.transforms.includes(\"typescript\"),\n Boolean(options2.keepUnusedImports),\n helperManager\n );\n importProcessor.preprocessTokens();\n identifyShadowedGlobals(tokenProcessor, scopes, importProcessor.getGlobalNames());\n if (options2.transforms.includes(\"typescript\") && !options2.keepUnusedImports) {\n importProcessor.pruneTypeOnlyImports();\n }\n } else if (options2.transforms.includes(\"typescript\") && !options2.keepUnusedImports) {\n identifyShadowedGlobals(tokenProcessor, scopes, getTSImportedNames(tokenProcessor));\n }\n return { tokenProcessor, scopes, nameManager, importProcessor, helperManager };\n }\n\n // src/shell/hooks.ts\n var hooks_exports = {};\n __export(hooks_exports, {\n QueryClient: () => QueryClient,\n QueryClientProvider: () => QueryClientProvider,\n infiniteQueryOptions: () => infiniteQueryOptions,\n mutationOptions: () => mutationOptions,\n queryOptions: () => queryOptions,\n skipToken: () => skipToken,\n useInfiniteQuery: () => useInfiniteQuery2,\n useMutation: () => useMutation2,\n useQuery: () => useQuery2,\n useQueryClient: () => useQueryClient2\n });\n var import_react = __toESM(require_react(), 1);\n var invalidationScopes = [];\n var trackInvalidation = (promise) => {\n for (const scope of invalidationScopes) {\n scope.push(promise);\n }\n return promise;\n };\n var trackMutationCallback = async (callback) => {\n const scope = [];\n invalidationScopes.push(scope);\n try {\n const result = await callback();\n await Promise.allSettled(scope);\n return result;\n } finally {\n invalidationScopes.pop();\n }\n };\n var wrapQueryClient = (client) => new Proxy(client, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (prop === \"invalidateQueries\" && typeof value === \"function\") {\n return (...args) => trackInvalidation(\n value.apply(target, args)\n );\n }\n return typeof value === \"function\" ? value.bind(target) : value;\n }\n });\n var useQueryClient2 = (queryClient) => {\n const client = useQueryClient(queryClient);\n const wrappedRef = (0, import_react.useRef)(null);\n if (wrappedRef.current?.client !== client) {\n wrappedRef.current = { client, wrapped: wrapQueryClient(client) };\n }\n return wrappedRef.current.wrapped;\n };\n var wrapMutationOptions = (options2) => ({\n ...options2,\n onSuccess: options2.onSuccess ? (...args) => trackMutationCallback(() => options2.onSuccess?.(...args)) : void 0,\n onError: options2.onError ? (...args) => trackMutationCallback(() => options2.onError?.(...args)) : void 0,\n onSettled: options2.onSettled ? (...args) => trackMutationCallback(() => options2.onSettled?.(...args)) : void 0\n });\n function useQuery2(options2, queryClient) {\n return useQuery(options2, queryClient);\n }\n function useInfiniteQuery2(options2, queryClient) {\n return useInfiniteQuery(options2, queryClient);\n }\n function useMutation2(options2, queryClient) {\n return useMutation(wrapMutationOptions(options2), queryClient);\n }\n\n // src/shell/components.ts\n var components_exports = {};\n __export(components_exports, {\n Accordion: () => Accordion2,\n AccordionContent: () => AccordionContent2,\n AccordionItem: () => AccordionItem2,\n AccordionTrigger: () => AccordionTrigger2,\n Activity: () => Activity,\n Alert: () => Alert,\n AlertCircle: () => CircleAlert,\n AlertDescription: () => AlertDescription,\n AlertTitle: () => AlertTitle,\n AlertTriangle: () => TriangleAlert,\n Area: () => Area,\n AreaChart: () => AreaChart,\n ArrowDown: () => ArrowDown,\n ArrowLeft: () => ArrowLeft,\n ArrowRight: () => ArrowRight,\n ArrowUp: () => ArrowUp,\n ArrowUpRight: () => ArrowUpRight,\n ArtifactEmpty: () => ArtifactEmpty,\n ArtifactError: () => ArtifactError,\n ArtifactLoading: () => ArtifactLoading,\n AtSign: () => AtSign,\n Avatar: () => Avatar2,\n AvatarFallback: () => AvatarFallback2,\n AvatarImage: () => AvatarImage2,\n Badge: () => Badge,\n Bar: () => Bar,\n BarChart: () => BarChart,\n BarChart3: () => ChartColumn,\n Battery: () => Battery,\n Bookmark: () => Bookmark,\n Box: () => Box,\n Brush: () => Brush,\n Button: () => Button,\n Calendar: () => Calendar,\n Card: () => Card,\n CardAction: () => CardAction,\n CardContent: () => CardContent,\n CardDescription: () => CardDescription,\n CardFooter: () => CardFooter,\n CardHeader: () => CardHeader,\n CardTitle: () => CardTitle,\n CartesianGrid: () => CartesianGrid,\n Cell: () => Cell,\n ChartContainer: () => ChartContainer,\n ChartLegend: () => ChartLegend,\n ChartLegendContent: () => ChartLegendContent,\n ChartStyle: () => ChartStyle,\n ChartTooltip: () => ChartTooltip,\n ChartTooltipContent: () => ChartTooltipContent,\n Check: () => Check,\n Checkbox: () => Checkbox2,\n ChevronDown: () => ChevronDown,\n ChevronLeft: () => ChevronLeft,\n ChevronRight: () => ChevronRight,\n ChevronUp: () => ChevronUp,\n ChevronsUpDown: () => ChevronsUpDown,\n Circle: () => Circle,\n Clock: () => Clock,\n CloudRain: () => CloudRain,\n Code: () => Code,\n ComposedChart: () => ComposedChart,\n Copy: () => Copy,\n Cpu: () => Cpu,\n Database: () => Database,\n Dialog: () => Dialog2,\n DialogClose: () => DialogClose2,\n DialogContent: () => DialogContent2,\n DialogDescription: () => DialogDescription2,\n DialogFooter: () => DialogFooter,\n DialogHeader: () => DialogHeader,\n DialogTitle: () => DialogTitle2,\n DialogTrigger: () => DialogTrigger2,\n Download: () => Download,\n DropdownMenu: () => DropdownMenu2,\n DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem2,\n DropdownMenuContent: () => DropdownMenuContent2,\n DropdownMenuGroup: () => DropdownMenuGroup2,\n DropdownMenuItem: () => DropdownMenuItem2,\n DropdownMenuLabel: () => DropdownMenuLabel2,\n DropdownMenuRadioGroup: () => DropdownMenuRadioGroup2,\n DropdownMenuRadioItem: () => DropdownMenuRadioItem2,\n DropdownMenuSeparator: () => DropdownMenuSeparator2,\n DropdownMenuSub: () => DropdownMenuSub2,\n DropdownMenuSubContent: () => DropdownMenuSubContent2,\n DropdownMenuSubTrigger: () => DropdownMenuSubTrigger2,\n DropdownMenuTrigger: () => DropdownMenuTrigger2,\n Edit: () => SquarePen,\n ExternalLink: () => ExternalLink,\n Eye: () => Eye,\n EyeOff: () => EyeOff,\n File: () => File3,\n FileText: () => FileText,\n Filter: () => Funnel,\n Folder: () => Folder,\n FolderOpen: () => FolderOpen,\n Funnel: () => Funnel2,\n FunnelChart: () => FunnelChart,\n GitBranch: () => GitBranch,\n GitCommit: () => GitCommitHorizontal,\n GitPullRequest: () => GitPullRequest,\n Globe: () => Globe,\n Grip: () => Grip,\n GripVertical: () => GripVertical,\n Hash: () => Hash,\n Heart: () => Heart,\n Hexagon: () => Hexagon,\n Home: () => House,\n Image: () => Image2,\n Info: () => Info,\n Input: () => Input,\n Key: () => Key,\n Label: () => Label5,\n Legend: () => Legend,\n Line: () => Line,\n LineChart: () => LineChart,\n Link: () => Link,\n Loader2: () => LoaderCircle,\n Lock: () => Lock,\n Mail: () => Mail,\n MapPin: () => MapPin,\n Menu: () => Menu2,\n MessageSquare: () => MessageSquare,\n Mic: () => Mic,\n Minus: () => Minus,\n Moon: () => Moon,\n MoreHorizontal: () => Ellipsis,\n MoreVertical: () => EllipsisVertical,\n Package: () => Package,\n Paperclip: () => Paperclip,\n Pause: () => Pause,\n Phone: () => Phone,\n Pie: () => Pie,\n PieChart: () => PieChart,\n PieChartIcon: () => ChartPie,\n Play: () => Play,\n Plus: () => Plus,\n PolarAngleAxis: () => PolarAngleAxis,\n PolarGrid: () => PolarGrid,\n PolarRadiusAxis: () => PolarRadiusAxis,\n Popover: () => Popover2,\n PopoverAnchor: () => PopoverAnchor2,\n PopoverContent: () => PopoverContent2,\n PopoverTrigger: () => PopoverTrigger2,\n Progress: () => Progress2,\n Radar: () => Radar,\n RadarChart: () => RadarChart,\n RadialBar: () => RadialBar,\n RadialBarChart: () => RadialBarChart,\n RadioGroup: () => RadioGroup4,\n RadioGroupItem: () => RadioGroupItem2,\n ReferenceArea: () => ReferenceArea,\n ReferenceLine: () => ReferenceLine,\n RefreshCw: () => RefreshCw,\n ResponsiveContainer: () => ResponsiveContainer,\n RotateCcw: () => RotateCcw,\n Scatter: () => Scatter,\n ScatterChart: () => ScatterChart,\n ScrollArea: () => ScrollArea2,\n ScrollBar: () => ScrollBar,\n Search: () => Search,\n Select: () => Select2,\n SelectContent: () => SelectContent2,\n SelectGroup: () => SelectGroup2,\n SelectItem: () => SelectItem2,\n SelectLabel: () => SelectLabel2,\n SelectTrigger: () => SelectTrigger2,\n SelectValue: () => SelectValue2,\n Send: () => Send,\n Separator: () => Separator5,\n Server: () => Server,\n Settings: () => Settings,\n Sheet: () => Sheet,\n SheetClose: () => SheetClose,\n SheetContent: () => SheetContent,\n SheetDescription: () => SheetDescription,\n SheetFooter: () => SheetFooter,\n SheetHeader: () => SheetHeader,\n SheetTitle: () => SheetTitle,\n SheetTrigger: () => SheetTrigger,\n Shield: () => Shield,\n Skeleton: () => Skeleton,\n Slider: () => Slider2,\n SortAsc: () => ArrowUpNarrowWide,\n SortDesc: () => ArrowDownWideNarrow,\n Square: () => Square,\n Star: () => Star,\n Sun: () => Sun,\n Switch: () => Switch2,\n Table: () => Table,\n TableBody: () => TableBody,\n TableCaption: () => TableCaption,\n TableCell: () => TableCell,\n TableFooter: () => TableFooter,\n TableHead: () => TableHead,\n TableHeader: () => TableHeader,\n TableRow: () => TableRow,\n Tabs: () => Tabs2,\n TabsContent: () => TabsContent2,\n TabsList: () => TabsList2,\n TabsTrigger: () => TabsTrigger2,\n Tag: () => Tag,\n Terminal: () => Terminal,\n Textarea: () => Textarea,\n Thermometer: () => Thermometer,\n Toggle: () => Toggle2,\n ToggleGroup: () => ToggleGroup2,\n ToggleGroupItem: () => ToggleGroupItem2,\n Tooltip: () => Tooltip2,\n TooltipContent: () => TooltipContent2,\n TooltipProvider: () => TooltipProvider2,\n TooltipTrigger: () => TooltipTrigger2,\n Trash2: () => Trash2,\n Treemap: () => Treemap,\n TrendingDown: () => TrendingDown,\n TrendingUp: () => TrendingUp,\n Triangle: () => Triangle,\n Unlock: () => LockOpen,\n Upload: () => Upload,\n User: () => User,\n Users: () => Users,\n Video: () => Video,\n Volume2: () => Volume2,\n VolumeX: () => VolumeX,\n Wifi: () => Wifi,\n WifiOff: () => WifiOff,\n X: () => X,\n XAxis: () => XAxis,\n YAxis: () => YAxis,\n Zap: () => Zap,\n cn: () => cn\n });\n\n // ../../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\n function r(e) {\n var t2, f, n = \"\";\n if (\"string\" == typeof e || \"number\" == typeof e) n += e;\n else if (\"object\" == typeof e) if (Array.isArray(e)) {\n var o = e.length;\n for (t2 = 0; t2 < o; t2++) e[t2] && (f = r(e[t2])) && (n && (n += \" \"), n += f);\n } else for (f in e) e[f] && (n && (n += \" \"), n += f);\n return n;\n }\n function clsx() {\n for (var e, t2, f = 0, n = \"\", o = arguments.length; f < o; f++) (e = arguments[f]) && (t2 = r(e)) && (n && (n += \" \"), n += t2);\n return n;\n }\n\n // ../../../node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs\n var concatArrays = (array1, array2) => {\n const combinedArray = new Array(array1.length + array2.length);\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i];\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i];\n }\n return combinedArray;\n };\n var createClassValidatorObject = (classGroupId, validator) => ({\n classGroupId,\n validator\n });\n var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({\n nextPart,\n validators,\n classGroupId\n });\n var CLASS_PART_SEPARATOR = \"-\";\n var EMPTY_CONFLICTS = [];\n var ARBITRARY_PROPERTY_PREFIX = \"arbitrary..\";\n var createClassGroupUtils = (config) => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = (className) => {\n if (className.startsWith(\"[\") && className.endsWith(\"]\")) {\n return getGroupIdForArbitraryProperty(className);\n }\n const classParts = className.split(CLASS_PART_SEPARATOR);\n const startIndex = classParts[0] === \"\" && classParts.length > 1 ? 1 : 0;\n return getGroupRecursive(classParts, startIndex, classMap);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId];\n const baseConflicts = conflictingClassGroups[classGroupId];\n if (modifierConflicts) {\n if (baseConflicts) {\n return concatArrays(baseConflicts, modifierConflicts);\n }\n return modifierConflicts;\n }\n return baseConflicts || EMPTY_CONFLICTS;\n }\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n };\n var getGroupRecursive = (classParts, startIndex, classPartObject) => {\n const classPathsLength = classParts.length - startIndex;\n if (classPathsLength === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[startIndex];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);\n if (result) return result;\n }\n const validators = classPartObject.validators;\n if (validators === null) {\n return void 0;\n }\n const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);\n const validatorsLength = validators.length;\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i];\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId;\n }\n }\n return void 0;\n };\n var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(\":\") === -1 ? void 0 : (() => {\n const content = className.slice(1, -1);\n const colonIndex = content.indexOf(\":\");\n const property = content.slice(0, colonIndex);\n return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;\n })();\n var createClassMap = (config) => {\n const {\n theme,\n classGroups\n } = config;\n return processClassGroups(classGroups, theme);\n };\n var processClassGroups = (classGroups, theme) => {\n const classMap = createClassPartObject();\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId];\n processClassesRecursively(group, classMap, classGroupId, theme);\n }\n return classMap;\n };\n var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n const len = classGroup.length;\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i];\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme);\n }\n };\n var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (typeof classDefinition === \"string\") {\n processStringDefinition(classDefinition, classPartObject, classGroupId);\n return;\n }\n if (typeof classDefinition === \"function\") {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);\n return;\n }\n processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);\n };\n var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {\n const classPartObjectToEdit = classDefinition === \"\" ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n };\n var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n if (classPartObject.validators === null) {\n classPartObject.validators = [];\n }\n classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));\n };\n var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n const entries = Object.entries(classDefinition);\n const len = entries.length;\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i];\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);\n }\n };\n var getPart = (classPartObject, path2) => {\n let current3 = classPartObject;\n const parts = path2.split(CLASS_PART_SEPARATOR);\n const len = parts.length;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n let next2 = current3.nextPart.get(part);\n if (!next2) {\n next2 = createClassPartObject();\n current3.nextPart.set(part, next2);\n }\n current3 = next2;\n }\n return current3;\n };\n var isThemeGetter = (func) => \"isThemeGetter\" in func && func.isThemeGetter === true;\n var createLruCache = (maxCacheSize) => {\n if (maxCacheSize < 1) {\n return {\n get: () => void 0,\n set: () => {\n }\n };\n }\n let cacheSize = 0;\n let cache = /* @__PURE__ */ Object.create(null);\n let previousCache = /* @__PURE__ */ Object.create(null);\n const update = (key, value) => {\n cache[key] = value;\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = /* @__PURE__ */ Object.create(null);\n }\n };\n return {\n get(key) {\n let value = cache[key];\n if (value !== void 0) {\n return value;\n }\n if ((value = previousCache[key]) !== void 0) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value;\n } else {\n update(key, value);\n }\n }\n };\n };\n var IMPORTANT_MODIFIER = \"!\";\n var MODIFIER_SEPARATOR = \":\";\n var EMPTY_MODIFIERS = [];\n var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal\n });\n var createParseClassName = (config) => {\n const {\n prefix: prefix2,\n experimentalParseClassName\n } = config;\n let parseClassName = (className) => {\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n const len = className.length;\n for (let index2 = 0; index2 < len; index2++) {\n const currentCharacter = className[index2];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index2));\n modifierStart = index2 + 1;\n continue;\n }\n if (currentCharacter === \"/\") {\n postfixModifierPosition = index2;\n continue;\n }\n }\n if (currentCharacter === \"[\") bracketDepth++;\n else if (currentCharacter === \"]\") bracketDepth--;\n else if (currentCharacter === \"(\") parenDepth++;\n else if (currentCharacter === \")\") parenDepth--;\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);\n let baseClassName = baseClassNameWithImportantModifier;\n let hasImportantModifier = false;\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1);\n hasImportantModifier = true;\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n ) {\n baseClassName = baseClassNameWithImportantModifier.slice(1);\n hasImportantModifier = true;\n }\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;\n return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);\n };\n if (prefix2) {\n const fullPrefix = prefix2 + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = (className) => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n };\n var createSortModifiers = (config) => {\n const modifierWeights = /* @__PURE__ */ new Map();\n config.orderSensitiveModifiers.forEach((mod, index2) => {\n modifierWeights.set(mod, 1e6 + index2);\n });\n return (modifiers) => {\n const result = [];\n let currentSegment = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n const isArbitrary = modifier[0] === \"[\";\n const isOrderSensitive = modifierWeights.has(modifier);\n if (isArbitrary || isOrderSensitive) {\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n currentSegment = [];\n }\n result.push(modifier);\n } else {\n currentSegment.push(modifier);\n }\n }\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n }\n return result;\n };\n };\n var createConfigUtils = (config) => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n });\n var SPLIT_CLASSES_REGEX = /\\s+/;\n var mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = \"\";\n for (let index2 = classNames.length - 1; index2 >= 0; index2 -= 1) {\n const originalClassName = classNames[index2];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = modifiers.length === 0 ? \"\" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(\":\");\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.indexOf(classId) > -1) {\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n result = originalClassName + (result.length > 0 ? \" \" + result : result);\n }\n return result;\n };\n var twJoin = (...classLists) => {\n let index2 = 0;\n let argument;\n let resolvedValue;\n let string = \"\";\n while (index2 < classLists.length) {\n if (argument = classLists[index2++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += \" \");\n string += resolvedValue;\n }\n }\n }\n return string;\n };\n var toValue = (mix) => {\n if (typeof mix === \"string\") {\n return mix;\n }\n let resolvedValue;\n let string = \"\";\n for (let k2 = 0; k2 < mix.length; k2++) {\n if (mix[k2]) {\n if (resolvedValue = toValue(mix[k2])) {\n string && (string += \" \");\n string += resolvedValue;\n }\n }\n }\n return string;\n };\n var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall;\n const initTailwindMerge = (classList) => {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n };\n const tailwindMerge = (classList) => {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n };\n functionToCall = initTailwindMerge;\n return (...args) => functionToCall(twJoin(...args));\n };\n var fallbackThemeArr = [];\n var fromTheme = (key) => {\n const themeGetter = (theme) => theme[key] || fallbackThemeArr;\n themeGetter.isThemeGetter = true;\n return themeGetter;\n };\n var arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\n var arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\n var fractionRegex = /^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/;\n var tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\n var lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\n var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n var shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\n var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\n var isFraction = (value) => fractionRegex.test(value);\n var isNumber = (value) => !!value && !Number.isNaN(Number(value));\n var isInteger = (value) => !!value && Number.isInteger(Number(value));\n var isPercent = (value) => value.endsWith(\"%\") && isNumber(value.slice(0, -1));\n var isTshirtSize = (value) => tshirtUnitRegex.test(value);\n var isAny = () => true;\n var isLengthOnly = (value) => (\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n );\n var isNever = () => false;\n var isShadow = (value) => shadowRegex.test(value);\n var isImage = (value) => imageRegex.test(value);\n var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);\n var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);\n var isArbitraryValue = (value) => arbitraryValueRegex.test(value);\n var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\n var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);\n var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);\n var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);\n var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);\n var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);\n var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);\n var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);\n var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);\n var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);\n var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);\n var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);\n var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);\n var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);\n var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);\n var getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n };\n var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n };\n var isLabelPosition = (label) => label === \"position\" || label === \"percentage\";\n var isLabelImage = (label) => label === \"image\" || label === \"url\";\n var isLabelSize = (label) => label === \"length\" || label === \"size\" || label === \"bg-size\";\n var isLabelLength = (label) => label === \"length\";\n var isLabelNumber = (label) => label === \"number\";\n var isLabelFamilyName = (label) => label === \"family-name\";\n var isLabelWeight = (label) => label === \"number\" || label === \"weight\";\n var isLabelShadow = (label) => label === \"shadow\";\n var getDefaultConfig = () => {\n const themeColor = fromTheme(\"color\");\n const themeFont = fromTheme(\"font\");\n const themeText = fromTheme(\"text\");\n const themeFontWeight = fromTheme(\"font-weight\");\n const themeTracking = fromTheme(\"tracking\");\n const themeLeading = fromTheme(\"leading\");\n const themeBreakpoint = fromTheme(\"breakpoint\");\n const themeContainer = fromTheme(\"container\");\n const themeSpacing = fromTheme(\"spacing\");\n const themeRadius = fromTheme(\"radius\");\n const themeShadow = fromTheme(\"shadow\");\n const themeInsetShadow = fromTheme(\"inset-shadow\");\n const themeTextShadow = fromTheme(\"text-shadow\");\n const themeDropShadow = fromTheme(\"drop-shadow\");\n const themeBlur = fromTheme(\"blur\");\n const themePerspective = fromTheme(\"perspective\");\n const themeAspect = fromTheme(\"aspect\");\n const themeEase = fromTheme(\"ease\");\n const themeAnimate = fromTheme(\"animate\");\n const scaleBreak = () => [\"auto\", \"avoid\", \"all\", \"avoid-page\", \"page\", \"left\", \"right\", \"column\"];\n const scalePosition = () => [\n \"center\",\n \"top\",\n \"bottom\",\n \"left\",\n \"right\",\n \"top-left\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"left-top\",\n \"top-right\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"right-top\",\n \"bottom-right\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"right-bottom\",\n \"bottom-left\",\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n \"left-bottom\"\n ];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => [\"auto\", \"hidden\", \"clip\", \"visible\", \"scroll\"];\n const scaleOverscroll = () => [\"auto\", \"contain\", \"none\"];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, \"full\", \"auto\", ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, \"none\", \"subgrid\", isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => [\"auto\", {\n span: [\"full\", isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, \"auto\", isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => [\"auto\", \"min\", \"max\", \"fr\", isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => [\"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\"];\n const scaleAlignSecondaryAxis = () => [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\"];\n const scaleMargin = () => [\"auto\", ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, \"auto\", \"full\", \"dvw\", \"dvh\", \"lvw\", \"lvh\", \"svw\", \"svh\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleSizingInline = () => [isFraction, \"screen\", \"full\", \"dvw\", \"lvw\", \"svw\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleSizingBlock = () => [isFraction, \"screen\", \"full\", \"lh\", \"dvh\", \"lvh\", \"svh\", \"min\", \"max\", \"fit\", ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => [\"no-repeat\", {\n repeat: [\"\", \"x\", \"y\", \"space\", \"round\"]\n }];\n const scaleBgSize = () => [\"auto\", \"cover\", \"contain\", isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n \"full\",\n themeRadius,\n isArbitraryVariable,\n isArbitraryValue\n ];\n const scaleBorderWidth = () => [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => [\"solid\", \"dashed\", \"dotted\", \"double\"];\n const scaleBlendMode = () => [\"normal\", \"multiply\", \"screen\", \"overlay\", \"darken\", \"lighten\", \"color-dodge\", \"color-burn\", \"hard-light\", \"soft-light\", \"difference\", \"exclusion\", \"hue\", \"saturation\", \"color\", \"luminosity\"];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeBlur,\n isArbitraryVariable,\n isArbitraryValue\n ];\n const scaleRotate = () => [\"none\", isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => [\"none\", isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, \"full\", ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: [\"spin\", \"ping\", \"pulse\", \"bounce\"],\n aspect: [\"video\"],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n \"drop-shadow\": [isTshirtSize],\n ease: [\"in\", \"out\", \"in-out\"],\n font: [isAnyNonArbitrary],\n \"font-weight\": [\"thin\", \"extralight\", \"light\", \"normal\", \"medium\", \"semibold\", \"bold\", \"extrabold\", \"black\"],\n \"inset-shadow\": [isTshirtSize],\n leading: [\"none\", \"tight\", \"snug\", \"normal\", \"relaxed\", \"loose\"],\n perspective: [\"dramatic\", \"near\", \"normal\", \"midrange\", \"distant\", \"none\"],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: [\"px\", isNumber],\n text: [isTshirtSize],\n \"text-shadow\": [isTshirtSize],\n tracking: [\"tighter\", \"tight\", \"normal\", \"wide\", \"wider\", \"widest\"]\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: [\"auto\", \"square\", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: [\"container\"],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n \"break-after\": [{\n \"break-after\": scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n \"break-before\": [{\n \"break-before\": scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n \"break-inside\": [{\n \"break-inside\": [\"auto\", \"avoid\", \"avoid-page\", \"avoid-column\"]\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n \"box-decoration\": [{\n \"box-decoration\": [\"slice\", \"clone\"]\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: [\"border\", \"content\"]\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\"block\", \"inline-block\", \"inline\", \"flex\", \"inline-flex\", \"table\", \"inline-table\", \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\", \"table-footer-group\", \"table-header-group\", \"table-row-group\", \"table-row\", \"flow-root\", \"grid\", \"inline-grid\", \"contents\", \"list-item\", \"hidden\"],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: [\"sr-only\", \"not-sr-only\"],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: [\"right\", \"left\", \"none\", \"start\", \"end\"]\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: [\"left\", \"right\", \"both\", \"none\", \"start\", \"end\"]\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: [\"isolate\", \"isolation-auto\"],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n \"object-fit\": [{\n object: [\"contain\", \"cover\", \"fill\", \"none\", \"scale-down\"]\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n \"object-position\": [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n \"overflow-x\": [{\n \"overflow-x\": scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n \"overflow-y\": [{\n \"overflow-y\": scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n \"overscroll-x\": [{\n \"overscroll-x\": scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n \"overscroll-y\": [{\n \"overscroll-y\": scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: [\"static\", \"fixed\", \"absolute\", \"relative\", \"sticky\"],\n /**\n * Inset\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Inset Inline\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-x\": [{\n \"inset-x\": scaleInset()\n }],\n /**\n * Inset Block\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-y\": [{\n \"inset-y\": scaleInset()\n }],\n /**\n * Inset Inline Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-s` in next major release\n */\n start: [{\n \"inset-s\": scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n start: scaleInset()\n }],\n /**\n * Inset Inline End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-e` in next major release\n */\n end: [{\n \"inset-e\": scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n end: scaleInset()\n }],\n /**\n * Inset Block Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-bs\": [{\n \"inset-bs\": scaleInset()\n }],\n /**\n * Inset Block End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n \"inset-be\": [{\n \"inset-be\": scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: [\"visible\", \"invisible\", \"collapse\"],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, \"auto\", isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, \"full\", \"auto\", themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n \"flex-direction\": [{\n flex: [\"row\", \"row-reverse\", \"col\", \"col-reverse\"]\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n \"flex-wrap\": [{\n flex: [\"nowrap\", \"wrap\", \"wrap-reverse\"]\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, \"auto\", \"initial\", \"none\", isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, \"first\", \"last\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n \"grid-cols\": [{\n \"grid-cols\": scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-start-end\": [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-start\": [{\n \"col-start\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n \"col-end\": [{\n \"col-end\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n \"grid-rows\": [{\n \"grid-rows\": scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-start-end\": [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-start\": [{\n \"row-start\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n \"row-end\": [{\n \"row-end\": scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n \"grid-flow\": [{\n \"grid-flow\": [\"row\", \"col\", \"dense\", \"row-dense\", \"col-dense\"]\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n \"auto-cols\": [{\n \"auto-cols\": scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n \"auto-rows\": [{\n \"auto-rows\": scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n \"gap-x\": [{\n \"gap-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n \"gap-y\": [{\n \"gap-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n \"justify-content\": [{\n justify: [...scaleAlignPrimaryAxis(), \"normal\"]\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n \"justify-items\": [{\n \"justify-items\": [...scaleAlignSecondaryAxis(), \"normal\"]\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n \"justify-self\": [{\n \"justify-self\": [\"auto\", ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n \"align-content\": [{\n content: [\"normal\", ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n \"align-items\": [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: [\"\", \"last\"]\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n \"align-self\": [{\n self: [\"auto\", ...scaleAlignSecondaryAxis(), {\n baseline: [\"\", \"last\"]\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n \"place-content\": [{\n \"place-content\": scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n \"place-items\": [{\n \"place-items\": [...scaleAlignSecondaryAxis(), \"baseline\"]\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n \"place-self\": [{\n \"place-self\": [\"auto\", ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block Start\n * @see https://tailwindcss.com/docs/padding\n */\n pbs: [{\n pbs: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block End\n * @see https://tailwindcss.com/docs/padding\n */\n pbe: [{\n pbe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin Inline\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Block\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Inline Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin Inline End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Block Start\n * @see https://tailwindcss.com/docs/margin\n */\n mbs: [{\n mbs: scaleMargin()\n }],\n /**\n * Margin Block End\n * @see https://tailwindcss.com/docs/margin\n */\n mbe: [{\n mbe: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-x\": [{\n \"space-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-x-reverse\": [\"space-x-reverse\"],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-y\": [{\n \"space-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n \"space-y-reverse\": [\"space-y-reverse\"],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Inline Size\n * @see https://tailwindcss.com/docs/width\n */\n \"inline-size\": [{\n inline: [\"auto\", ...scaleSizingInline()]\n }],\n /**\n * Min-Inline Size\n * @see https://tailwindcss.com/docs/min-width\n */\n \"min-inline-size\": [{\n \"min-inline\": [\"auto\", ...scaleSizingInline()]\n }],\n /**\n * Max-Inline Size\n * @see https://tailwindcss.com/docs/max-width\n */\n \"max-inline-size\": [{\n \"max-inline\": [\"none\", ...scaleSizingInline()]\n }],\n /**\n * Block Size\n * @see https://tailwindcss.com/docs/height\n */\n \"block-size\": [{\n block: [\"auto\", ...scaleSizingBlock()]\n }],\n /**\n * Min-Block Size\n * @see https://tailwindcss.com/docs/min-height\n */\n \"min-block-size\": [{\n \"min-block\": [\"auto\", ...scaleSizingBlock()]\n }],\n /**\n * Max-Block Size\n * @see https://tailwindcss.com/docs/max-height\n */\n \"max-block-size\": [{\n \"max-block\": [\"none\", ...scaleSizingBlock()]\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, \"screen\", ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n \"min-w\": [{\n \"min-w\": [\n themeContainer,\n \"screen\",\n /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n \"none\",\n ...scaleSizing()\n ]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n \"max-w\": [{\n \"max-w\": [\n themeContainer,\n \"screen\",\n \"none\",\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n \"prose\",\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n },\n ...scaleSizing()\n ]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: [\"screen\", \"lh\", ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n \"min-h\": [{\n \"min-h\": [\"screen\", \"lh\", \"none\", ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n \"max-h\": [{\n \"max-h\": [\"screen\", \"lh\", ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n \"font-size\": [{\n text: [\"base\", themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n \"font-smoothing\": [\"antialiased\", \"subpixel-antialiased\"],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n \"font-style\": [\"italic\", \"not-italic\"],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n \"font-weight\": [{\n font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n \"font-stretch\": [{\n \"font-stretch\": [\"ultra-condensed\", \"extra-condensed\", \"condensed\", \"semi-condensed\", \"normal\", \"semi-expanded\", \"expanded\", \"extra-expanded\", \"ultra-expanded\", isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n \"font-family\": [{\n font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]\n }],\n /**\n * Font Feature Settings\n * @see https://tailwindcss.com/docs/font-feature-settings\n */\n \"font-features\": [{\n \"font-features\": [isArbitraryValue]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-normal\": [\"normal-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-ordinal\": [\"ordinal\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-slashed-zero\": [\"slashed-zero\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-figure\": [\"lining-nums\", \"oldstyle-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-spacing\": [\"proportional-nums\", \"tabular-nums\"],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n \"fvn-fraction\": [\"diagonal-fractions\", \"stacked-fractions\"],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n \"line-clamp\": [{\n \"line-clamp\": [isNumber, \"none\", isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading,\n ...scaleUnambiguousSpacing()\n ]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n \"list-image\": [{\n \"list-image\": [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n \"list-style-position\": [{\n list: [\"inside\", \"outside\"]\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n \"list-style-type\": [{\n list: [\"disc\", \"decimal\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n \"text-alignment\": [{\n text: [\"left\", \"center\", \"right\", \"justify\", \"start\", \"end\"]\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n \"placeholder-color\": [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n \"text-color\": [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n \"text-decoration\": [\"underline\", \"overline\", \"line-through\", \"no-underline\"],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n \"text-decoration-style\": [{\n decoration: [...scaleLineStyle(), \"wavy\"]\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n \"text-decoration-thickness\": [{\n decoration: [isNumber, \"from-font\", \"auto\", isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n \"text-decoration-color\": [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n \"underline-offset\": [{\n \"underline-offset\": [isNumber, \"auto\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n \"text-transform\": [\"uppercase\", \"lowercase\", \"capitalize\", \"normal-case\"],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n \"text-overflow\": [\"truncate\", \"text-ellipsis\", \"text-clip\"],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n \"text-wrap\": [{\n text: [\"wrap\", \"nowrap\", \"balance\", \"pretty\"]\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n \"vertical-align\": [{\n align: [\"baseline\", \"top\", \"middle\", \"bottom\", \"text-top\", \"text-bottom\", \"sub\", \"super\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\"]\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: [\"normal\", \"words\", \"all\", \"keep\"]\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: [\"break-word\", \"anywhere\", \"normal\"]\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: [\"none\", \"manual\", \"auto\"]\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n \"bg-attachment\": [{\n bg: [\"fixed\", \"local\", \"scroll\"]\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n \"bg-clip\": [{\n \"bg-clip\": [\"border\", \"padding\", \"content\", \"text\"]\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n \"bg-origin\": [{\n \"bg-origin\": [\"border\", \"padding\", \"content\"]\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n \"bg-position\": [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n \"bg-repeat\": [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n \"bg-size\": [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n \"bg-image\": [{\n bg: [\"none\", {\n linear: [{\n to: [\"t\", \"tr\", \"r\", \"br\", \"b\", \"bl\", \"l\", \"tl\"]\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: [\"\", isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n \"bg-color\": [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-from-pos\": [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-via-pos\": [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-to-pos\": [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-from\": [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-via\": [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n \"gradient-to\": [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-s\": [{\n \"rounded-s\": scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-e\": [{\n \"rounded-e\": scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-t\": [{\n \"rounded-t\": scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-r\": [{\n \"rounded-r\": scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-b\": [{\n \"rounded-b\": scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-l\": [{\n \"rounded-l\": scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-ss\": [{\n \"rounded-ss\": scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-se\": [{\n \"rounded-se\": scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-ee\": [{\n \"rounded-ee\": scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-es\": [{\n \"rounded-es\": scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-tl\": [{\n \"rounded-tl\": scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-tr\": [{\n \"rounded-tr\": scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-br\": [{\n \"rounded-br\": scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n \"rounded-bl\": [{\n \"rounded-bl\": scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w\": [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width Inline\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-x\": [{\n \"border-x\": scaleBorderWidth()\n }],\n /**\n * Border Width Block\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-y\": [{\n \"border-y\": scaleBorderWidth()\n }],\n /**\n * Border Width Inline Start\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-s\": [{\n \"border-s\": scaleBorderWidth()\n }],\n /**\n * Border Width Inline End\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-e\": [{\n \"border-e\": scaleBorderWidth()\n }],\n /**\n * Border Width Block Start\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-bs\": [{\n \"border-bs\": scaleBorderWidth()\n }],\n /**\n * Border Width Block End\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-be\": [{\n \"border-be\": scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-t\": [{\n \"border-t\": scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-r\": [{\n \"border-r\": scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-b\": [{\n \"border-b\": scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n \"border-w-l\": [{\n \"border-l\": scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-x\": [{\n \"divide-x\": scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-x-reverse\": [\"divide-x-reverse\"],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-y\": [{\n \"divide-y\": scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n \"divide-y-reverse\": [\"divide-y-reverse\"],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n \"border-style\": [{\n border: [...scaleLineStyle(), \"hidden\", \"none\"]\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n \"divide-style\": [{\n divide: [...scaleLineStyle(), \"hidden\", \"none\"]\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color\": [{\n border: scaleColor()\n }],\n /**\n * Border Color Inline\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-x\": [{\n \"border-x\": scaleColor()\n }],\n /**\n * Border Color Block\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-y\": [{\n \"border-y\": scaleColor()\n }],\n /**\n * Border Color Inline Start\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-s\": [{\n \"border-s\": scaleColor()\n }],\n /**\n * Border Color Inline End\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-e\": [{\n \"border-e\": scaleColor()\n }],\n /**\n * Border Color Block Start\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-bs\": [{\n \"border-bs\": scaleColor()\n }],\n /**\n * Border Color Block End\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-be\": [{\n \"border-be\": scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-t\": [{\n \"border-t\": scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-r\": [{\n \"border-r\": scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-b\": [{\n \"border-b\": scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n \"border-color-l\": [{\n \"border-l\": scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n \"divide-color\": [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n \"outline-style\": [{\n outline: [...scaleLineStyle(), \"none\", \"hidden\"]\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n \"outline-offset\": [{\n \"outline-offset\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n \"outline-w\": [{\n outline: [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n \"outline-color\": [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow\n ]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n \"shadow-color\": [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n \"inset-shadow\": [{\n \"inset-shadow\": [\"none\", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n \"inset-shadow-color\": [{\n \"inset-shadow\": scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n \"ring-w\": [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-w-inset\": [\"ring-inset\"],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n \"ring-color\": [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-offset-w\": [{\n \"ring-offset\": [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n \"ring-offset-color\": [{\n \"ring-offset\": scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n \"inset-ring-w\": [{\n \"inset-ring\": scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n \"inset-ring-color\": [{\n \"inset-ring\": scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n \"text-shadow\": [{\n \"text-shadow\": [\"none\", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n \"text-shadow-color\": [{\n \"text-shadow\": scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n \"mix-blend\": [{\n \"mix-blend\": [...scaleBlendMode(), \"plus-darker\", \"plus-lighter\"]\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n \"bg-blend\": [{\n \"bg-blend\": scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n \"mask-clip\": [{\n \"mask-clip\": [\"border\", \"padding\", \"content\", \"fill\", \"stroke\", \"view\"]\n }, \"mask-no-clip\"],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n \"mask-composite\": [{\n mask: [\"add\", \"subtract\", \"intersect\", \"exclude\"]\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n \"mask-image-linear-pos\": [{\n \"mask-linear\": [isNumber]\n }],\n \"mask-image-linear-from-pos\": [{\n \"mask-linear-from\": scaleMaskImagePosition()\n }],\n \"mask-image-linear-to-pos\": [{\n \"mask-linear-to\": scaleMaskImagePosition()\n }],\n \"mask-image-linear-from-color\": [{\n \"mask-linear-from\": scaleColor()\n }],\n \"mask-image-linear-to-color\": [{\n \"mask-linear-to\": scaleColor()\n }],\n \"mask-image-t-from-pos\": [{\n \"mask-t-from\": scaleMaskImagePosition()\n }],\n \"mask-image-t-to-pos\": [{\n \"mask-t-to\": scaleMaskImagePosition()\n }],\n \"mask-image-t-from-color\": [{\n \"mask-t-from\": scaleColor()\n }],\n \"mask-image-t-to-color\": [{\n \"mask-t-to\": scaleColor()\n }],\n \"mask-image-r-from-pos\": [{\n \"mask-r-from\": scaleMaskImagePosition()\n }],\n \"mask-image-r-to-pos\": [{\n \"mask-r-to\": scaleMaskImagePosition()\n }],\n \"mask-image-r-from-color\": [{\n \"mask-r-from\": scaleColor()\n }],\n \"mask-image-r-to-color\": [{\n \"mask-r-to\": scaleColor()\n }],\n \"mask-image-b-from-pos\": [{\n \"mask-b-from\": scaleMaskImagePosition()\n }],\n \"mask-image-b-to-pos\": [{\n \"mask-b-to\": scaleMaskImagePosition()\n }],\n \"mask-image-b-from-color\": [{\n \"mask-b-from\": scaleColor()\n }],\n \"mask-image-b-to-color\": [{\n \"mask-b-to\": scaleColor()\n }],\n \"mask-image-l-from-pos\": [{\n \"mask-l-from\": scaleMaskImagePosition()\n }],\n \"mask-image-l-to-pos\": [{\n \"mask-l-to\": scaleMaskImagePosition()\n }],\n \"mask-image-l-from-color\": [{\n \"mask-l-from\": scaleColor()\n }],\n \"mask-image-l-to-color\": [{\n \"mask-l-to\": scaleColor()\n }],\n \"mask-image-x-from-pos\": [{\n \"mask-x-from\": scaleMaskImagePosition()\n }],\n \"mask-image-x-to-pos\": [{\n \"mask-x-to\": scaleMaskImagePosition()\n }],\n \"mask-image-x-from-color\": [{\n \"mask-x-from\": scaleColor()\n }],\n \"mask-image-x-to-color\": [{\n \"mask-x-to\": scaleColor()\n }],\n \"mask-image-y-from-pos\": [{\n \"mask-y-from\": scaleMaskImagePosition()\n }],\n \"mask-image-y-to-pos\": [{\n \"mask-y-to\": scaleMaskImagePosition()\n }],\n \"mask-image-y-from-color\": [{\n \"mask-y-from\": scaleColor()\n }],\n \"mask-image-y-to-color\": [{\n \"mask-y-to\": scaleColor()\n }],\n \"mask-image-radial\": [{\n \"mask-radial\": [isArbitraryVariable, isArbitraryValue]\n }],\n \"mask-image-radial-from-pos\": [{\n \"mask-radial-from\": scaleMaskImagePosition()\n }],\n \"mask-image-radial-to-pos\": [{\n \"mask-radial-to\": scaleMaskImagePosition()\n }],\n \"mask-image-radial-from-color\": [{\n \"mask-radial-from\": scaleColor()\n }],\n \"mask-image-radial-to-color\": [{\n \"mask-radial-to\": scaleColor()\n }],\n \"mask-image-radial-shape\": [{\n \"mask-radial\": [\"circle\", \"ellipse\"]\n }],\n \"mask-image-radial-size\": [{\n \"mask-radial\": [{\n closest: [\"side\", \"corner\"],\n farthest: [\"side\", \"corner\"]\n }]\n }],\n \"mask-image-radial-pos\": [{\n \"mask-radial-at\": scalePosition()\n }],\n \"mask-image-conic-pos\": [{\n \"mask-conic\": [isNumber]\n }],\n \"mask-image-conic-from-pos\": [{\n \"mask-conic-from\": scaleMaskImagePosition()\n }],\n \"mask-image-conic-to-pos\": [{\n \"mask-conic-to\": scaleMaskImagePosition()\n }],\n \"mask-image-conic-from-color\": [{\n \"mask-conic-from\": scaleColor()\n }],\n \"mask-image-conic-to-color\": [{\n \"mask-conic-to\": scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n \"mask-mode\": [{\n mask: [\"alpha\", \"luminance\", \"match\"]\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n \"mask-origin\": [{\n \"mask-origin\": [\"border\", \"padding\", \"content\", \"fill\", \"stroke\", \"view\"]\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n \"mask-position\": [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n \"mask-repeat\": [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n \"mask-size\": [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n \"mask-type\": [{\n \"mask-type\": [\"alpha\", \"luminance\"]\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n \"mask-image\": [{\n mask: [\"none\", isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n \"\",\n \"none\",\n isArbitraryVariable,\n isArbitraryValue\n ]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n \"drop-shadow\": [{\n \"drop-shadow\": [\n // Deprecated since Tailwind CSS v4.0.0\n \"\",\n \"none\",\n themeDropShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow\n ]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n \"drop-shadow-color\": [{\n \"drop-shadow\": scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n \"hue-rotate\": [{\n \"hue-rotate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n \"backdrop-filter\": [{\n \"backdrop-filter\": [\n // Deprecated since Tailwind CSS v3.0.0\n \"\",\n \"none\",\n isArbitraryVariable,\n isArbitraryValue\n ]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n \"backdrop-blur\": [{\n \"backdrop-blur\": scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n \"backdrop-brightness\": [{\n \"backdrop-brightness\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n \"backdrop-contrast\": [{\n \"backdrop-contrast\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n \"backdrop-grayscale\": [{\n \"backdrop-grayscale\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n \"backdrop-hue-rotate\": [{\n \"backdrop-hue-rotate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n \"backdrop-invert\": [{\n \"backdrop-invert\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n \"backdrop-opacity\": [{\n \"backdrop-opacity\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n \"backdrop-saturate\": [{\n \"backdrop-saturate\": [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n \"backdrop-sepia\": [{\n \"backdrop-sepia\": [\"\", isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n \"border-collapse\": [{\n border: [\"collapse\", \"separate\"]\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing\": [{\n \"border-spacing\": scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing-x\": [{\n \"border-spacing-x\": scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n \"border-spacing-y\": [{\n \"border-spacing-y\": scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n \"table-layout\": [{\n table: [\"auto\", \"fixed\"]\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: [\"top\", \"bottom\"]\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: [\"\", \"all\", \"colors\", \"opacity\", \"shadow\", \"transform\", \"none\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n \"transition-behavior\": [{\n transition: [\"normal\", \"discrete\"]\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, \"initial\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: [\"linear\", \"initial\", themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: [\"none\", themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: [\"hidden\", \"visible\"]\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n \"perspective-origin\": [{\n \"perspective-origin\": scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-x\": [{\n \"rotate-x\": scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-y\": [{\n \"rotate-y\": scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n \"rotate-z\": [{\n \"rotate-z\": scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-x\": [{\n \"scale-x\": scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-y\": [{\n \"scale-y\": scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-z\": [{\n \"scale-z\": scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n \"scale-3d\": [\"scale-3d\"],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n \"skew-x\": [{\n \"skew-x\": scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n \"skew-y\": [{\n \"skew-y\": scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, \"\", \"none\", \"gpu\", \"cpu\"]\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n \"transform-origin\": [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n \"transform-style\": [{\n transform: [\"3d\", \"flat\"]\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-x\": [{\n \"translate-x\": scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-y\": [{\n \"translate-y\": scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-z\": [{\n \"translate-z\": scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n \"translate-none\": [\"translate-none\"],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: [\"none\", \"auto\"]\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n \"caret-color\": [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n \"color-scheme\": [{\n scheme: [\"normal\", \"dark\", \"light\", \"light-dark\", \"only-dark\", \"only-light\"]\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: [\"auto\", \"default\", \"pointer\", \"wait\", \"text\", \"move\", \"help\", \"not-allowed\", \"none\", \"context-menu\", \"progress\", \"cell\", \"crosshair\", \"vertical-text\", \"alias\", \"copy\", \"no-drop\", \"grab\", \"grabbing\", \"all-scroll\", \"col-resize\", \"row-resize\", \"n-resize\", \"e-resize\", \"s-resize\", \"w-resize\", \"ne-resize\", \"nw-resize\", \"se-resize\", \"sw-resize\", \"ew-resize\", \"ns-resize\", \"nesw-resize\", \"nwse-resize\", \"zoom-in\", \"zoom-out\", isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n \"field-sizing\": [{\n \"field-sizing\": [\"fixed\", \"content\"]\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n \"pointer-events\": [{\n \"pointer-events\": [\"auto\", \"none\"]\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: [\"none\", \"\", \"y\", \"x\"]\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n \"scroll-behavior\": [{\n scroll: [\"auto\", \"smooth\"]\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-m\": [{\n \"scroll-m\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mx\": [{\n \"scroll-mx\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-my\": [{\n \"scroll-my\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-ms\": [{\n \"scroll-ms\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-me\": [{\n \"scroll-me\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mbs\": [{\n \"scroll-mbs\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mbe\": [{\n \"scroll-mbe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mt\": [{\n \"scroll-mt\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mr\": [{\n \"scroll-mr\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-mb\": [{\n \"scroll-mb\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n \"scroll-ml\": [{\n \"scroll-ml\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-p\": [{\n \"scroll-p\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-px\": [{\n \"scroll-px\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-py\": [{\n \"scroll-py\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-ps\": [{\n \"scroll-ps\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pe\": [{\n \"scroll-pe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pbs\": [{\n \"scroll-pbs\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pbe\": [{\n \"scroll-pbe\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pt\": [{\n \"scroll-pt\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pr\": [{\n \"scroll-pr\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pb\": [{\n \"scroll-pb\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n \"scroll-pl\": [{\n \"scroll-pl\": scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n \"snap-align\": [{\n snap: [\"start\", \"end\", \"center\", \"align-none\"]\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n \"snap-stop\": [{\n snap: [\"normal\", \"always\"]\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n \"snap-type\": [{\n snap: [\"none\", \"x\", \"y\", \"both\"]\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n \"snap-strictness\": [{\n snap: [\"mandatory\", \"proximity\"]\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: [\"auto\", \"none\", \"manipulation\"]\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-x\": [{\n \"touch-pan\": [\"x\", \"left\", \"right\"]\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-y\": [{\n \"touch-pan\": [\"y\", \"up\", \"down\"]\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n \"touch-pz\": [\"touch-pinch-zoom\"],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: [\"none\", \"text\", \"all\", \"auto\"]\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n \"will-change\": [{\n \"will-change\": [\"auto\", \"scroll\", \"contents\", \"transform\", isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: [\"none\", ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n \"stroke-w\": [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: [\"none\", ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n \"forced-color-adjust\": [{\n \"forced-color-adjust\": [\"auto\", \"none\"]\n }]\n },\n conflictingClassGroups: {\n overflow: [\"overflow-x\", \"overflow-y\"],\n overscroll: [\"overscroll-x\", \"overscroll-y\"],\n inset: [\"inset-x\", \"inset-y\", \"inset-bs\", \"inset-be\", \"start\", \"end\", \"top\", \"right\", \"bottom\", \"left\"],\n \"inset-x\": [\"right\", \"left\"],\n \"inset-y\": [\"top\", \"bottom\"],\n flex: [\"basis\", \"grow\", \"shrink\"],\n gap: [\"gap-x\", \"gap-y\"],\n p: [\"px\", \"py\", \"ps\", \"pe\", \"pbs\", \"pbe\", \"pt\", \"pr\", \"pb\", \"pl\"],\n px: [\"pr\", \"pl\"],\n py: [\"pt\", \"pb\"],\n m: [\"mx\", \"my\", \"ms\", \"me\", \"mbs\", \"mbe\", \"mt\", \"mr\", \"mb\", \"ml\"],\n mx: [\"mr\", \"ml\"],\n my: [\"mt\", \"mb\"],\n size: [\"w\", \"h\"],\n \"font-size\": [\"leading\"],\n \"fvn-normal\": [\"fvn-ordinal\", \"fvn-slashed-zero\", \"fvn-figure\", \"fvn-spacing\", \"fvn-fraction\"],\n \"fvn-ordinal\": [\"fvn-normal\"],\n \"fvn-slashed-zero\": [\"fvn-normal\"],\n \"fvn-figure\": [\"fvn-normal\"],\n \"fvn-spacing\": [\"fvn-normal\"],\n \"fvn-fraction\": [\"fvn-normal\"],\n \"line-clamp\": [\"display\", \"overflow\"],\n rounded: [\"rounded-s\", \"rounded-e\", \"rounded-t\", \"rounded-r\", \"rounded-b\", \"rounded-l\", \"rounded-ss\", \"rounded-se\", \"rounded-ee\", \"rounded-es\", \"rounded-tl\", \"rounded-tr\", \"rounded-br\", \"rounded-bl\"],\n \"rounded-s\": [\"rounded-ss\", \"rounded-es\"],\n \"rounded-e\": [\"rounded-se\", \"rounded-ee\"],\n \"rounded-t\": [\"rounded-tl\", \"rounded-tr\"],\n \"rounded-r\": [\"rounded-tr\", \"rounded-br\"],\n \"rounded-b\": [\"rounded-br\", \"rounded-bl\"],\n \"rounded-l\": [\"rounded-tl\", \"rounded-bl\"],\n \"border-spacing\": [\"border-spacing-x\", \"border-spacing-y\"],\n \"border-w\": [\"border-w-x\", \"border-w-y\", \"border-w-s\", \"border-w-e\", \"border-w-bs\", \"border-w-be\", \"border-w-t\", \"border-w-r\", \"border-w-b\", \"border-w-l\"],\n \"border-w-x\": [\"border-w-r\", \"border-w-l\"],\n \"border-w-y\": [\"border-w-t\", \"border-w-b\"],\n \"border-color\": [\"border-color-x\", \"border-color-y\", \"border-color-s\", \"border-color-e\", \"border-color-bs\", \"border-color-be\", \"border-color-t\", \"border-color-r\", \"border-color-b\", \"border-color-l\"],\n \"border-color-x\": [\"border-color-r\", \"border-color-l\"],\n \"border-color-y\": [\"border-color-t\", \"border-color-b\"],\n translate: [\"translate-x\", \"translate-y\", \"translate-none\"],\n \"translate-none\": [\"translate\", \"translate-x\", \"translate-y\", \"translate-z\"],\n \"scroll-m\": [\"scroll-mx\", \"scroll-my\", \"scroll-ms\", \"scroll-me\", \"scroll-mbs\", \"scroll-mbe\", \"scroll-mt\", \"scroll-mr\", \"scroll-mb\", \"scroll-ml\"],\n \"scroll-mx\": [\"scroll-mr\", \"scroll-ml\"],\n \"scroll-my\": [\"scroll-mt\", \"scroll-mb\"],\n \"scroll-p\": [\"scroll-px\", \"scroll-py\", \"scroll-ps\", \"scroll-pe\", \"scroll-pbs\", \"scroll-pbe\", \"scroll-pt\", \"scroll-pr\", \"scroll-pb\", \"scroll-pl\"],\n \"scroll-px\": [\"scroll-pr\", \"scroll-pl\"],\n \"scroll-py\": [\"scroll-pt\", \"scroll-pb\"],\n touch: [\"touch-x\", \"touch-y\", \"touch-pz\"],\n \"touch-x\": [\"touch\"],\n \"touch-y\": [\"touch\"],\n \"touch-pz\": [\"touch\"]\n },\n conflictingClassGroupModifiers: {\n \"font-size\": [\"leading\"]\n },\n orderSensitiveModifiers: [\"*\", \"**\", \"after\", \"backdrop\", \"before\", \"details-content\", \"file\", \"first-letter\", \"first-line\", \"marker\", \"placeholder\", \"selection\"]\n };\n };\n var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);\n\n // ../../react/src/lib/utils.ts\n function cn(...inputs) {\n return twMerge(clsx(inputs));\n }\n\n // ../../react/src/components/card.tsx\n var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);\n function Card({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card\",\n className: cn(\n \"flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm\",\n className\n ),\n ...props\n }\n );\n }\n function CardHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-header\",\n className: cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n ),\n ...props\n }\n );\n }\n function CardTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-title\",\n className: cn(\"leading-none font-semibold\", className),\n ...props\n }\n );\n }\n function CardDescription({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n function CardAction({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-action\",\n className: cn(\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\", className),\n ...props\n }\n );\n }\n function CardContent({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"div\", { \"data-slot\": \"card-content\", className: cn(\"px-6\", className), ...props });\n }\n function CardFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n \"data-slot\": \"card-footer\",\n className: cn(\"flex items-center px-6 [.border-t]:pt-6\", className),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+119c4f3973a6d299/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n var React10 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+119c4f3973a6d299/node_modules/@radix-ui/react-primitive/dist/index.mjs\n var React9 = __toESM(require_react(), 1);\n var ReactDOM = __toESM(require_react_dom(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-slot@1.2.3+b2e33729a97476bf/node_modules/@radix-ui/react-slot/dist/index.mjs\n var dist_exports = {};\n __export(dist_exports, {\n Root: () => Slot,\n Slot: () => Slot,\n Slottable: () => Slottable,\n createSlot: () => createSlot,\n createSlottable: () => createSlottable\n });\n var React8 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-compose-refs@1.1.2+b2e33729a97476bf/node_modules/@radix-ui/react-compose-refs/dist/index.mjs\n var React7 = __toESM(require_react(), 1);\n function setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n }\n function composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n }\n function useComposedRefs(...refs) {\n return React7.useCallback(composeRefs(...refs), refs);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-slot@1.2.3+b2e33729a97476bf/node_modules/@radix-ui/react-slot/dist/index.mjs\n var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);\n // @__NO_SIDE_EFFECTS__\n function createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot22 = React8.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React8.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React8.Children.count(newElement) > 1) return React8.Children.only(null);\n return React8.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot22.displayName = `${ownerName}.Slot`;\n return Slot22;\n }\n var Slot = /* @__PURE__ */ createSlot(\"Slot\");\n // @__NO_SIDE_EFFECTS__\n function createSlotClone(ownerName) {\n const SlotClone = React8.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React8.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React8.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React8.cloneElement(children, props2);\n }\n return React8.Children.count(children) > 1 ? React8.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n }\n var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol(\"radix.slottable\");\n // @__NO_SIDE_EFFECTS__\n function createSlottable(ownerName) {\n const Slottable22 = ({ children }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children });\n };\n Slottable22.displayName = `${ownerName}.Slottable`;\n Slottable22.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable22;\n }\n var Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\n function isSlottable(child) {\n return React8.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n }\n function mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n }\n function getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+119c4f3973a6d299/node_modules/@radix-ui/react-primitive/dist/index.mjs\n var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);\n var NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n ];\n var Primitive = NODES.reduce((primitive, node) => {\n const Slot6 = createSlot(`Primitive.${node}`);\n const Node2 = React9.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot6 : node;\n if (typeof window !== \"undefined\") {\n window[/* @__PURE__ */ Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node2.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node2 };\n }, {});\n function dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-visually-hidden@1.2.3+119c4f3973a6d299/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);\n var VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n });\n var NAME = \"VisuallyHidden\";\n var VisuallyHidden = React10.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n );\n VisuallyHidden.displayName = NAME;\n var Root = VisuallyHidden;\n\n // ../../../node_modules/.bun/@radix-ui+react-accordion@1.2.12+119c4f3973a6d299/node_modules/@radix-ui/react-accordion/dist/index.mjs\n var dist_exports2 = {};\n __export(dist_exports2, {\n Accordion: () => Accordion,\n AccordionContent: () => AccordionContent,\n AccordionHeader: () => AccordionHeader,\n AccordionItem: () => AccordionItem,\n AccordionTrigger: () => AccordionTrigger,\n Content: () => Content2,\n Header: () => Header,\n Item: () => Item,\n Root: () => Root22,\n Trigger: () => Trigger2,\n createAccordionScope: () => createAccordionScope\n });\n var import_react4 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-context@1.1.2+b2e33729a97476bf/node_modules/@radix-ui/react-context/dist/index.mjs\n var React11 = __toESM(require_react(), 1);\n var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);\n function createContext22(rootComponentName, defaultContext) {\n const Context = React11.createContext(defaultContext);\n const Provider3 = (props) => {\n const { children, ...context } = props;\n const value = React11.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Context.Provider, { value, children });\n };\n Provider3.displayName = rootComponentName + \"Provider\";\n function useContext25(consumerName) {\n const context = React11.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider3, useContext25];\n }\n function createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext32(rootComponentName, defaultContext) {\n const BaseContext = React11.createContext(defaultContext);\n const index2 = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider3 = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index2] || BaseContext;\n const value = React11.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Context.Provider, { value, children });\n };\n Provider3.displayName = rootComponentName + \"Provider\";\n function useContext25(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index2] || BaseContext;\n const context = React11.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider3, useContext25];\n }\n const createScope3 = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React11.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React11.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope3.scopeName = scopeName;\n return [createContext32, composeContextScopes(createScope3, ...createContextScopeDeps)];\n }\n function composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope3 = () => {\n const scopeHooks = scopes.map((createScope22) => ({\n useScope: createScope22(),\n scopeName: createScope22.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope3 = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope3 };\n }, {});\n return React11.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope3.scopeName = baseScope.scopeName;\n return createScope3;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collection@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-collection/dist/index.mjs\n var import_react2 = __toESM(require_react(), 1);\n var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);\n var import_react3 = __toESM(require_react(), 1);\n var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);\n function createCollection(name) {\n const PROVIDER_NAME2 = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope6] = createContextScope(PROVIDER_NAME2);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME2,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = import_react2.default.useRef(null);\n const itemMap = import_react2.default.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME2;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = import_react2.default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = import_react2.default.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = import_react2.default.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n import_react2.default.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection6(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = import_react2.default.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a2, b) => orderedNodes.indexOf(a2.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection6,\n createCollectionScope6\n ];\n }\n\n // ../../../node_modules/.bun/@radix-ui+primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.mjs\n var canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-controllable-state@1.2.2+b2e33729a97476bf/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\n var React14 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-layout-effect@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\n var React13 = __toESM(require_react(), 1);\n var useLayoutEffect2 = globalThis?.document ? React13.useLayoutEffect : () => {\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-use-controllable-state@1.2.2+b2e33729a97476bf/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\n var React23 = __toESM(require_react(), 1);\n var useInsertionEffect = React14[\" useInsertionEffect \".trim().toString()] || useLayoutEffect2;\n function useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n }) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React14.useRef(prop !== void 0);\n React14.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from2 = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to2 = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from2} to ${to2}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React14.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n }\n function useUncontrolledState({\n defaultProp,\n onChange\n }) {\n const [value, setValue] = React14.useState(defaultProp);\n const prevValueRef = React14.useRef(value);\n const onChangeRef = React14.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React14.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n }\n function isFunction(value) {\n return typeof value === \"function\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collapsible@1.1.12+119c4f3973a6d299/node_modules/@radix-ui/react-collapsible/dist/index.mjs\n var React17 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-presence@1.1.5+119c4f3973a6d299/node_modules/@radix-ui/react-presence/dist/index.mjs\n var React24 = __toESM(require_react(), 1);\n var React15 = __toESM(require_react(), 1);\n function useStateMachine(initialState15, machine) {\n return React15.useReducer((state2, event) => {\n const nextState = machine[state2][event];\n return nextState ?? state2;\n }, initialState15);\n }\n var Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React24.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef2(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React24.cloneElement(child, { ref }) : null;\n };\n Presence.displayName = \"Presence\";\n function usePresence(present) {\n const [node, setNode] = React24.useState();\n const stylesRef = React24.useRef(null);\n const prevPresentRef = React24.useRef(present);\n const prevAnimationNameRef = React24.useRef(\"none\");\n const initialState15 = present ? \"mounted\" : \"unmounted\";\n const [state2, send] = useStateMachine(initialState15, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React24.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state2 === \"mounted\" ? currentAnimationName : \"none\";\n }, [state2]);\n useLayoutEffect2(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect2(() => {\n if (node) {\n let timeoutId4;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId4 = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId4);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state2),\n ref: React24.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n }\n function getAnimationName(styles) {\n return styles?.animationName || \"none\";\n }\n function getElementRef2(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-id@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-id/dist/index.mjs\n var React16 = __toESM(require_react(), 1);\n var useReactId = React16[\" useId \".trim().toString()] || (() => void 0);\n var count = 0;\n function useId(deterministicId) {\n const [id, setId] = React16.useState(useReactId());\n useLayoutEffect2(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-collapsible@1.1.12+119c4f3973a6d299/node_modules/@radix-ui/react-collapsible/dist/index.mjs\n var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);\n var COLLAPSIBLE_NAME = \"Collapsible\";\n var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\n var Collapsible = React17.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React17.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n Collapsible.displayName = COLLAPSIBLE_NAME;\n var TRIGGER_NAME = \"CollapsibleTrigger\";\n var CollapsibleTrigger = React17.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n );\n CollapsibleTrigger.displayName = TRIGGER_NAME;\n var CONTENT_NAME = \"CollapsibleContent\";\n var CollapsibleContent = React17.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n );\n CollapsibleContent.displayName = CONTENT_NAME;\n var CollapsibleContentImpl = React17.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React17.useState(present);\n const ref = React17.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React17.useRef(0);\n const height = heightRef.current;\n const widthRef = React17.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React17.useRef(isOpen);\n const originalStylesRef = React17.useRef(void 0);\n React17.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect2(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n });\n function getState(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root2 = Collapsible;\n var Trigger = CollapsibleTrigger;\n var Content = CollapsibleContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-direction@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-direction/dist/index.mjs\n var React18 = __toESM(require_react(), 1);\n var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);\n var DirectionContext = React18.createContext(void 0);\n function useDirection(localDir) {\n const globalDir = React18.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-accordion@1.2.12+119c4f3973a6d299/node_modules/@radix-ui/react-accordion/dist/index.mjs\n var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);\n var ACCORDION_NAME = \"Accordion\";\n var ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\n var [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\n var [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n ]);\n var useCollapsibleScope = createCollapsibleScope();\n var Accordion = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n );\n Accordion.displayName = ACCORDION_NAME;\n var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\n var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n );\n var AccordionImplSingle = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: import_react4.default.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: import_react4.default.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n );\n var AccordionImplMultiple = import_react4.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = import_react4.default.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = import_react4.default.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n });\n var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\n var AccordionImpl = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = import_react4.default.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n );\n var ITEM_NAME = \"AccordionItem\";\n var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\n var AccordionItem = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Root2,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState2(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n );\n AccordionItem.displayName = ITEM_NAME;\n var HEADER_NAME = \"AccordionHeader\";\n var AccordionHeader = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState2(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n );\n AccordionHeader.displayName = HEADER_NAME;\n var TRIGGER_NAME2 = \"AccordionTrigger\";\n var AccordionTrigger = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME2, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME2, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n AccordionTrigger.displayName = TRIGGER_NAME2;\n var CONTENT_NAME2 = \"AccordionContent\";\n var AccordionContent = import_react4.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME2, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n );\n AccordionContent.displayName = CONTENT_NAME2;\n function getState2(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root22 = Accordion;\n var Item = AccordionItem;\n var Header = AccordionHeader;\n var Trigger2 = AccordionTrigger;\n var Content2 = AccordionContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-dialog/dist/index.mjs\n var dist_exports4 = {};\n __export(dist_exports4, {\n Close: () => Close,\n Content: () => Content3,\n Description: () => Description,\n Dialog: () => Dialog,\n DialogClose: () => DialogClose,\n DialogContent: () => DialogContent,\n DialogDescription: () => DialogDescription,\n DialogOverlay: () => DialogOverlay,\n DialogPortal: () => DialogPortal,\n DialogTitle: () => DialogTitle,\n DialogTrigger: () => DialogTrigger,\n Overlay: () => Overlay,\n Portal: () => Portal2,\n Root: () => Root3,\n Title: () => Title,\n Trigger: () => Trigger3,\n WarningProvider: () => WarningProvider,\n createDialogScope: () => createDialogScope\n });\n var React36 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\n var React25 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-callback-ref@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\n var React20 = __toESM(require_react(), 1);\n function useCallbackRef(callback) {\n const callbackRef = React20.useRef(callback);\n React20.useEffect(() => {\n callbackRef.current = callback;\n });\n return React20.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-escape-keydown@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs\n var React21 = __toESM(require_react(), 1);\n function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React21.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\n var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);\n var DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\n var CONTEXT_UPDATE = \"dismissableLayer.update\";\n var POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\n var FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\n var originalBodyPointerEvents;\n var DismissableLayerContext = React25.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n });\n var DismissableLayer = React25.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React25.useContext(DismissableLayerContext);\n const [node, setNode] = React25.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React25.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index2 = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index2 >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index2 === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React25.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React25.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React25.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n );\n DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\n var BRANCH_NAME = \"DismissableLayerBranch\";\n var DismissableLayerBranch = React25.forwardRef((props, forwardedRef) => {\n const context = React25.useContext(DismissableLayerContext);\n const ref = React25.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React25.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Primitive.div, { ...props, ref: composedRefs });\n });\n DismissableLayerBranch.displayName = BRANCH_NAME;\n function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React25.useRef(false);\n const handleClickRef = React25.useRef(() => {\n });\n React25.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n }\n function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React25.useRef(false);\n React25.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n }\n function dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n }\n function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-focus-scope@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-focus-scope/dist/index.mjs\n var React26 = __toESM(require_react(), 1);\n var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);\n var AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\n var AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\n var EVENT_OPTIONS = { bubbles: false, cancelable: true };\n var FOCUS_SCOPE_NAME = \"FocusScope\";\n var FocusScope = React26.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React26.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React26.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React26.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React26.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React26.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React26.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last2] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last2;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last2) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last2, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n });\n FocusScope.displayName = FOCUS_SCOPE_NAME;\n function focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n }\n function getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last2 = findVisible(candidates.reverse(), container);\n return [first, last2];\n }\n function getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n }\n function findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n }\n function isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n }\n function isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n }\n function focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n }\n var focusScopesStack = createFocusScopesStack();\n function createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n }\n function arrayRemove(array2, item) {\n const updatedArray = [...array2];\n const index2 = updatedArray.indexOf(item);\n if (index2 !== -1) {\n updatedArray.splice(index2, 1);\n }\n return updatedArray;\n }\n function removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-portal@1.1.9+119c4f3973a6d299/node_modules/@radix-ui/react-portal/dist/index.mjs\n var React27 = __toESM(require_react(), 1);\n var import_react_dom = __toESM(require_react_dom(), 1);\n var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);\n var PORTAL_NAME = \"Portal\";\n var Portal = React27.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React27.useState(false);\n useLayoutEffect2(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n });\n Portal.displayName = PORTAL_NAME;\n\n // ../../../node_modules/.bun/@radix-ui+react-focus-guards@1.1.3+b2e33729a97476bf/node_modules/@radix-ui/react-focus-guards/dist/index.mjs\n var React28 = __toESM(require_react(), 1);\n var count2 = 0;\n function useFocusGuards() {\n React28.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count2++;\n return () => {\n if (count2 === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count2--;\n };\n }, []);\n }\n function createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n }\n\n // ../../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs\n var __assign = function() {\n __assign = Object.assign || function __assign2(t2) {\n for (var s2, i = 1, n = arguments.length; i < n; i++) {\n s2 = arguments[i];\n for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p)) t2[p] = s2[p];\n }\n return t2;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s2, e) {\n var t2 = {};\n for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p) && e.indexOf(p) < 0)\n t2[p] = s2[p];\n if (s2 != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s2); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p[i]))\n t2[p[i]] = s2[p[i]];\n }\n return t2;\n }\n function __spreadArray(to2, from2, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from2.length, ar; i < l; i++) {\n if (ar || !(i in from2)) {\n if (!ar) ar = Array.prototype.slice.call(from2, 0, i);\n ar[i] = from2[i];\n }\n }\n return to2.concat(ar || Array.prototype.slice.call(from2));\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/Combination.js\n var React35 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/UI.js\n var React31 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/constants.js\n var zeroRightClassName = \"right-scroll-bar-position\";\n var fullWidthClassName = \"width-before-scroll-bar\";\n var noScrollbarsClassName = \"with-scroll-bars-hidden\";\n var removedBarSizeVariable = \"--removed-body-scroll-bar-size\";\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/assignRef.js\n function assignRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n return ref;\n }\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/useRef.js\n var import_react5 = __toESM(require_react());\n function useCallbackRef2(initialValue, callback) {\n var ref = (0, import_react5.useState)(function() {\n return {\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last2 = ref.value;\n if (last2 !== value) {\n ref.value = value;\n ref.callback(value, last2);\n }\n }\n }\n };\n })[0];\n ref.callback = callback;\n return ref.facade;\n }\n\n // ../../../node_modules/.bun/use-callback-ref@1.3.3+b2e33729a97476bf/node_modules/use-callback-ref/dist/es2015/useMergeRef.js\n var React29 = __toESM(require_react());\n var useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? React29.useLayoutEffect : React29.useEffect;\n var currentValues = /* @__PURE__ */ new WeakMap();\n function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {\n return refs.forEach(function(ref) {\n return assignRef(ref, newValue);\n });\n });\n useIsomorphicLayoutEffect(function() {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function(ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function(ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n }\n\n // ../../../node_modules/.bun/use-sidecar@1.1.3+b2e33729a97476bf/node_modules/use-sidecar/dist/es2015/medium.js\n function ItoI(a2) {\n return a2;\n }\n function innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function() {\n if (assigned) {\n throw new Error(\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\");\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function(data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function() {\n buffer = buffer.filter(function(x2) {\n return x2 !== item;\n });\n };\n },\n assignSyncMedium: function(cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function(x2) {\n return cb(x2);\n },\n filter: function() {\n return buffer;\n }\n };\n },\n assignMedium: function(cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function() {\n var cbs2 = pendingQueue;\n pendingQueue = [];\n cbs2.forEach(cb);\n };\n var cycle = function() {\n return Promise.resolve().then(executeQueue);\n };\n cycle();\n buffer = {\n push: function(x2) {\n pendingQueue.push(x2);\n cycle();\n },\n filter: function(filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n }\n function createSidecarMedium(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options2);\n return medium;\n }\n\n // ../../../node_modules/.bun/use-sidecar@1.1.3+b2e33729a97476bf/node_modules/use-sidecar/dist/es2015/exports.js\n var React30 = __toESM(require_react());\n var SideCar = function(_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error(\"Sidecar: please provide `sideCar` property to import the right car\");\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error(\"Sidecar medium not found\");\n }\n return React30.createElement(Target, __assign({}, rest));\n };\n SideCar.isSideCarExport = true;\n function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/medium.js\n var effectCar = createSidecarMedium();\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/UI.js\n var nothing = function() {\n return;\n };\n var RemoveScroll = React31.forwardRef(function(props, parentRef) {\n var ref = React31.useRef(null);\n var _a = React31.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? \"div\" : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar2 = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return React31.createElement(\n React31.Fragment,\n null,\n enabled && React31.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),\n forwardProps ? React31.cloneElement(React31.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React31.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)\n );\n });\n RemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n };\n RemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/SideEffect.js\n var React34 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/component.js\n var React33 = __toESM(require_react());\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/hook.js\n var React32 = __toESM(require_react());\n\n // ../../../node_modules/.bun/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js\n var currentNonce;\n var getNonce = function() {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== \"undefined\") {\n return __webpack_nonce__;\n }\n return void 0;\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/singleton.js\n function makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement(\"style\");\n tag.type = \"text/css\";\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute(\"nonce\", nonce);\n }\n return tag;\n }\n function injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n }\n function insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n head.appendChild(tag);\n }\n var stylesheetSingleton = function() {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function(style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function() {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/hook.js\n var styleHookSingleton = function() {\n var sheet = stylesheetSingleton();\n return function(styles, isDynamic) {\n React32.useEffect(function() {\n sheet.add(styles);\n return function() {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n };\n\n // ../../../node_modules/.bun/react-style-singleton@2.2.3+b2e33729a97476bf/node_modules/react-style-singleton/dist/es2015/component.js\n var styleSingleton = function() {\n var useStyle = styleHookSingleton();\n var Sheet2 = function(_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet2;\n };\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/utils.js\n var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n };\n var parse2 = function(x2) {\n return parseInt(x2 || \"\", 10) || 0;\n };\n var getOffset = function(gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === \"padding\" ? \"paddingLeft\" : \"marginLeft\"];\n var top = cs[gapMode === \"padding\" ? \"paddingTop\" : \"marginTop\"];\n var right = cs[gapMode === \"padding\" ? \"paddingRight\" : \"marginRight\"];\n return [parse2(left), parse2(top), parse2(right)];\n };\n var getGapWidth = function(gapMode) {\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n if (typeof window === \"undefined\") {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n };\n\n // ../../../node_modules/.bun/react-remove-scroll-bar@2.3.8+b2e33729a97476bf/node_modules/react-remove-scroll-bar/dist/es2015/component.js\n var Style = styleSingleton();\n var lockAttribute = \"data-scroll-locked\";\n var getStyles = function(_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) {\n gapMode = \"margin\";\n }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === \"margin\" && \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === \"padding\" && \"padding-right: \".concat(gap, \"px \").concat(important, \";\")\n ].filter(Boolean).join(\"\"), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n };\n var getCurrentUseCounter = function() {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || \"0\", 10);\n return isFinite(counter) ? counter : 0;\n };\n var useLockAttribute = function() {\n React33.useEffect(function() {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function() {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n } else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n };\n var RemoveScrollBar = function(_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? \"margin\" : _b;\n useLockAttribute();\n var gap = React33.useMemo(function() {\n return getGapWidth(gapMode);\n }, [gapMode]);\n return React33.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : \"\") });\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js\n var passiveSupported = false;\n if (typeof window !== \"undefined\") {\n try {\n options2 = Object.defineProperty({}, \"passive\", {\n get: function() {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener(\"test\", options2, options2);\n window.removeEventListener(\"test\", options2, options2);\n } catch (err) {\n passiveSupported = false;\n }\n }\n var options2;\n var nonPassive = passiveSupported ? { passive: false } : false;\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/handleScroll.js\n var alwaysContainsScroll = function(node) {\n return node.tagName === \"TEXTAREA\";\n };\n var elementCanBeScrolled = function(node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== \"hidden\" && // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === \"visible\")\n );\n };\n var elementCouldBeVScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowY\");\n };\n var elementCouldBeHScrolled = function(node) {\n return elementCanBeScrolled(node, \"overflowX\");\n };\n var locationCouldBeScrolled = function(axis, node) {\n var ownerDocument = node.ownerDocument;\n var current3 = node;\n do {\n if (typeof ShadowRoot !== \"undefined\" && current3 instanceof ShadowRoot) {\n current3 = current3.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current3);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current3), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current3 = current3.parentNode;\n } while (current3 && current3 !== ownerDocument.body);\n return false;\n };\n var getVScrollVariables = function(_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight\n ];\n };\n var getHScrollVariables = function(_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth\n ];\n };\n var elementCouldBeScrolled = function(axis, node) {\n return axis === \"v\" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n };\n var getScrollVariables = function(axis, node) {\n return axis === \"v\" ? getVScrollVariables(node) : getHScrollVariables(node);\n };\n var getDirectionFactor = function(axis, direction) {\n return axis === \"h\" && direction === \"rtl\" ? -1 : 1;\n };\n var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position2 = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position2;\n if (position2 || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position2;\n }\n }\n var parent_1 = target.parentNode;\n target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1;\n } while (\n // portaled content\n !targetInLock && target !== document.body || // self content\n targetInLock && (endTarget.contains(target) || endTarget === target)\n );\n if (isDeltaPositive && (noOverscroll && Math.abs(availableScroll) < 1 || !noOverscroll && delta > availableScroll)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (noOverscroll && Math.abs(availableScrollTop) < 1 || !noOverscroll && -delta > availableScrollTop)) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n };\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/SideEffect.js\n var getTouchXY = function(event) {\n return \"changedTouches\" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n };\n var getDeltaXY = function(event) {\n return [event.deltaX, event.deltaY];\n };\n var extractRef = function(ref) {\n return ref && \"current\" in ref ? ref.current : ref;\n };\n var deltaCompare = function(x2, y2) {\n return x2[0] === y2[0] && x2[1] === y2[1];\n };\n var generateStyle = function(id) {\n return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\");\n };\n var idCounter = 0;\n var lockStack = [];\n function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React34.useRef([]);\n var touchStartRef = React34.useRef([0, 0]);\n var activeAxis = React34.useRef();\n var id = React34.useState(idCounter++)[0];\n var Style2 = React34.useState(styleSingleton)[0];\n var lastProps = React34.useRef(props);\n React34.useEffect(function() {\n lastProps.current = props;\n }, [props]);\n React34.useEffect(function() {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function(el) {\n return el.classList.add(\"allow-interactivity-\".concat(id));\n });\n return function() {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function(el) {\n return el.classList.remove(\"allow-interactivity-\".concat(id));\n });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React34.useCallback(function(event, parent) {\n if (\"touches\" in event && event.touches.length === 2 || event.type === \"wheel\" && event.ctrlKey) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = \"deltaX\" in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = \"deltaY\" in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? \"h\" : \"v\";\n if (\"touches\" in event && moveDirection === \"h\" && target.type === \"range\") {\n return false;\n }\n var selection = window.getSelection();\n var anchorNode = selection && selection.anchorNode;\n var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false;\n if (isTouchingSelection) {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === \"v\" ? \"h\" : \"v\";\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && \"changedTouches\" in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === \"h\" ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React34.useCallback(function(_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {\n return;\n }\n var delta = \"deltaY\" in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function(e) {\n return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta);\n })[0];\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React34.useCallback(function(name, delta, target, should) {\n var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function() {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React34.useCallback(function(event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = void 0;\n }, []);\n var scrollWheel = React34.useCallback(function(event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React34.useCallback(function(event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React34.useEffect(function() {\n lockStack.push(Style2);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.addEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n return function() {\n lockStack = lockStack.filter(function(inst) {\n return inst !== Style2;\n });\n document.removeEventListener(\"wheel\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchmove\", shouldPrevent, nonPassive);\n document.removeEventListener(\"touchstart\", scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return React34.createElement(\n React34.Fragment,\n null,\n inert ? React34.createElement(Style2, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React34.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null\n );\n }\n function getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n }\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/sidecar.js\n var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);\n\n // ../../../node_modules/.bun/react-remove-scroll@2.7.2+b2e33729a97476bf/node_modules/react-remove-scroll/dist/es2015/Combination.js\n var ReactRemoveScroll = React35.forwardRef(function(props, ref) {\n return React35.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));\n });\n ReactRemoveScroll.classNames = RemoveScroll.classNames;\n var Combination_default = ReactRemoveScroll;\n\n // ../../../node_modules/.bun/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js\n var getDefaultParent = function(originalTarget) {\n if (typeof document === \"undefined\") {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n };\n var counterMap = /* @__PURE__ */ new WeakMap();\n var uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n var markerMap = {};\n var lockCount = 0;\n var unwrapHost = function(node) {\n return node && (node.host || unwrapHost(node.parentNode));\n };\n var correctTargets = function(parent, targets) {\n return targets.map(function(target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error(\"aria-hidden\", target, \"in not contained inside\", parent, \". Doing nothing\");\n return null;\n }).filter(function(x2) {\n return Boolean(x2);\n });\n };\n var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = /* @__PURE__ */ new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = /* @__PURE__ */ new Set();\n var elementsToStop = new Set(targets);\n var keep = function(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function(node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== \"false\";\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, \"true\");\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, \"true\");\n }\n } catch (e) {\n console.error(\"aria-hidden: cannot operate on \", node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function() {\n hiddenNodes.forEach(function(node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n counterMap = /* @__PURE__ */ new WeakMap();\n counterMap = /* @__PURE__ */ new WeakMap();\n uncontrolledNodes = /* @__PURE__ */ new WeakMap();\n markerMap = {};\n }\n };\n };\n var hideOthers = function(originalTarget, parentNode, markerName) {\n if (markerName === void 0) {\n markerName = \"data-aria-hidden\";\n }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function() {\n return null;\n };\n }\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll(\"[aria-live], script\")));\n return applyAttributeToOthers(targets, activeParentNode, markerName, \"aria-hidden\");\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-dialog@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-dialog/dist/index.mjs\n var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);\n var DIALOG_NAME = \"Dialog\";\n var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\n var Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React36.useRef(null);\n const contentRef = React36.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React36.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n };\n Dialog.displayName = DIALOG_NAME;\n var TRIGGER_NAME3 = \"DialogTrigger\";\n var DialogTrigger = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME3, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState3(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n );\n DialogTrigger.displayName = TRIGGER_NAME3;\n var PORTAL_NAME2 = \"DialogPortal\";\n var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {\n forceMount: void 0\n });\n var DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME2, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React36.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Portal, { asChild: true, container, children: child }) })) });\n };\n DialogPortal.displayName = PORTAL_NAME2;\n var OVERLAY_NAME = \"DialogOverlay\";\n var DialogOverlay = React36.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n );\n DialogOverlay.displayName = OVERLAY_NAME;\n var Slot2 = createSlot(\"DialogOverlay.RemoveScroll\");\n var DialogOverlayImpl = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.div,\n {\n \"data-state\": getState3(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n );\n var CONTENT_NAME3 = \"DialogContent\";\n var DialogContent = React36.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME3, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n );\n DialogContent.displayName = CONTENT_NAME3;\n var DialogContentModal = React36.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n const contentRef = React36.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React36.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n );\n var DialogContentNonModal = React36.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME3, props.__scopeDialog);\n const hasInteractedOutsideRef = React36.useRef(false);\n const hasPointerDownOutsideRef = React36.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n );\n var DialogContentImpl = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME3, __scopeDialog);\n const contentRef = React36.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState3(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n );\n var TITLE_NAME = \"DialogTitle\";\n var DialogTitle = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n );\n DialogTitle.displayName = TITLE_NAME;\n var DESCRIPTION_NAME = \"DialogDescription\";\n var DialogDescription = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n );\n DialogDescription.displayName = DESCRIPTION_NAME;\n var CLOSE_NAME = \"DialogClose\";\n var DialogClose = React36.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n );\n DialogClose.displayName = CLOSE_NAME;\n function getState3(open) {\n return open ? \"open\" : \"closed\";\n }\n var TITLE_WARNING_NAME = \"DialogTitleWarning\";\n var [WarningProvider, useWarningContext] = createContext22(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME3,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n });\n var TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React36.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n };\n var DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\n var DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React36.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n };\n var Root3 = Dialog;\n var Trigger3 = DialogTrigger;\n var Portal2 = DialogPortal;\n var Overlay = DialogOverlay;\n var Content3 = DialogContent;\n var Title = DialogTitle;\n var Description = DialogDescription;\n var Close = DialogClose;\n\n // ../../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-avatar/dist/index.mjs\n var dist_exports5 = {};\n __export(dist_exports5, {\n Avatar: () => Avatar,\n AvatarFallback: () => AvatarFallback,\n AvatarImage: () => AvatarImage,\n Fallback: () => Fallback,\n Image: () => Image,\n Root: () => Root4,\n createAvatarScope: () => createAvatarScope\n });\n var React37 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-is-hydrated@0.1.0+b2e33729a97476bf/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs\n var import_shim = __toESM(require_shim(), 1);\n function useIsHydrated() {\n return (0, import_shim.useSyncExternalStore)(\n subscribe,\n () => true,\n () => false\n );\n }\n function subscribe() {\n return () => {\n };\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-avatar@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-avatar/dist/index.mjs\n var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);\n var AVATAR_NAME = \"Avatar\";\n var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\n var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\n var Avatar = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React37.useState(\"idle\");\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n onImageLoadingStatusChange: setImageLoadingStatus,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }\n );\n Avatar.displayName = AVATAR_NAME;\n var IMAGE_NAME = \"AvatarImage\";\n var AvatarImage = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, src, onLoadingStatusChange = () => {\n }, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n const imageLoadingStatus = useImageLoadingStatus(src, imageProps);\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n });\n useLayoutEffect2(() => {\n if (imageLoadingStatus !== \"idle\") {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }\n );\n AvatarImage.displayName = IMAGE_NAME;\n var FALLBACK_NAME = \"AvatarFallback\";\n var AvatarFallback = React37.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React37.useState(delayMs === void 0);\n React37.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }\n );\n AvatarFallback.displayName = FALLBACK_NAME;\n function resolveLoadingStatus(image, src) {\n if (!image) {\n return \"idle\";\n }\n if (!src) {\n return \"error\";\n }\n if (image.src !== src) {\n image.src = src;\n }\n return image.complete && image.naturalWidth > 0 ? \"loaded\" : \"loading\";\n }\n function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {\n const isHydrated = useIsHydrated();\n const imageRef = React37.useRef(null);\n const image = (() => {\n if (!isHydrated) return null;\n if (!imageRef.current) {\n imageRef.current = new window.Image();\n }\n return imageRef.current;\n })();\n const [loadingStatus, setLoadingStatus] = React37.useState(\n () => resolveLoadingStatus(image, src)\n );\n useLayoutEffect2(() => {\n setLoadingStatus(resolveLoadingStatus(image, src));\n }, [image, src]);\n useLayoutEffect2(() => {\n const updateStatus = (status) => () => {\n setLoadingStatus(status);\n };\n if (!image) return;\n const handleLoad = updateStatus(\"loaded\");\n const handleError = updateStatus(\"error\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n if (typeof crossOrigin === \"string\") {\n image.crossOrigin = crossOrigin;\n }\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n };\n }, [image, crossOrigin, referrerPolicy]);\n return loadingStatus;\n }\n var Root4 = Avatar;\n var Image = AvatarImage;\n var Fallback = AvatarFallback;\n\n // ../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.3+119c4f3973a6d299/node_modules/@radix-ui/react-checkbox/dist/index.mjs\n var dist_exports6 = {};\n __export(dist_exports6, {\n Checkbox: () => Checkbox,\n CheckboxIndicator: () => CheckboxIndicator,\n Indicator: () => CheckboxIndicator,\n Root: () => Checkbox,\n createCheckboxScope: () => createCheckboxScope,\n unstable_BubbleInput: () => CheckboxBubbleInput,\n unstable_CheckboxBubbleInput: () => CheckboxBubbleInput,\n unstable_CheckboxProvider: () => CheckboxProvider,\n unstable_CheckboxTrigger: () => CheckboxTrigger,\n unstable_Provider: () => CheckboxProvider,\n unstable_Trigger: () => CheckboxTrigger\n });\n var React40 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-use-previous@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-previous/dist/index.mjs\n var React38 = __toESM(require_react(), 1);\n function usePrevious(value) {\n const ref = React38.useRef({ value, previous: value });\n return React38.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-use-size@1.1.1+b2e33729a97476bf/node_modules/@radix-ui/react-use-size/dist/index.mjs\n var React39 = __toESM(require_react(), 1);\n function useSize(element) {\n const [size4, setSize] = React39.useState(void 0);\n useLayoutEffect2(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size4;\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.3+119c4f3973a6d299/node_modules/@radix-ui/react-checkbox/dist/index.mjs\n var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);\n var CHECKBOX_NAME = \"Checkbox\";\n var [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\n var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\n function CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React40.useState(null);\n const [bubbleInput, setBubbleInput] = React40.useState(null);\n const hasConsumerStoppedPropagationRef = React40.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction2(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n }\n var TRIGGER_NAME4 = \"CheckboxTrigger\";\n var CheckboxTrigger = React40.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME4, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React40.useRef(checked);\n React40.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState4(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n );\n CheckboxTrigger.displayName = TRIGGER_NAME4;\n var Checkbox = React40.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n );\n Checkbox.displayName = CHECKBOX_NAME;\n var INDICATOR_NAME = \"CheckboxIndicator\";\n var CheckboxIndicator = React40.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.span,\n {\n \"data-state\": getState4(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n );\n CheckboxIndicator.displayName = INDICATOR_NAME;\n var BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\n var CheckboxBubbleInput = React40.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React40.useEffect(() => {\n const input2 = bubbleInput;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input2.indeterminate = isIndeterminate(checked);\n setChecked.call(input2, isIndeterminate(checked) ? false : checked);\n input2.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React40.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n );\n CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\n function isFunction2(value) {\n return typeof value === \"function\";\n }\n function isIndeterminate(checked) {\n return checked === \"indeterminate\";\n }\n function getState4(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-menu/dist/index.mjs\n var React45 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@radix-ui+react-popper@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-popper/dist/index.mjs\n var React43 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\n var sides = [\"top\", \"right\", \"bottom\", \"left\"];\n var min = Math.min;\n var max = Math.max;\n var round = Math.round;\n var floor = Math.floor;\n var createCoords = (v) => ({\n x: v,\n y: v\n });\n var oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n };\n function clamp(start, value, end) {\n return max(start, min(value, end));\n }\n function evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n }\n function getSide(placement) {\n return placement.split(\"-\")[0];\n }\n function getAlignment(placement) {\n return placement.split(\"-\")[1];\n }\n function getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n }\n function getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n }\n function getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === \"t\" || firstChar === \"b\" ? \"y\" : \"x\";\n }\n function getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n }\n function getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n }\n function getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n }\n function getOppositeAlignmentPlacement(placement) {\n return placement.includes(\"start\") ? placement.replace(\"start\", \"end\") : placement.replace(\"end\", \"start\");\n }\n var lrPlacement = [\"left\", \"right\"];\n var rlPlacement = [\"right\", \"left\"];\n var tbPlacement = [\"top\", \"bottom\"];\n var btPlacement = [\"bottom\", \"top\"];\n function getSideList(side, isStart, rtl) {\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n }\n function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n }\n function getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n }\n function expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n }\n function getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n }\n function rectToClientRect(rect) {\n const {\n x: x2,\n y: y2,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y2,\n left: x2,\n right: x2 + width,\n bottom: y2 + height,\n x: x2,\n y: y2\n };\n }\n\n // ../../../node_modules/.bun/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs\n function computeCoordsFromPlacement(_ref2, placement, rtl) {\n let {\n reference,\n floating\n } = _ref2;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n }\n async function detectOverflow(state2, options2) {\n var _await$platform$isEle;\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n x: x2,\n y: y2,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state2;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options2, state2);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x: x2,\n y: y2,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n }\n var MAX_RESET_COUNT = 50;\n var computePosition = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {\n ...platform2,\n detectOverflow\n };\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x: x2,\n y: y2\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x: x2,\n y: y2,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x2 = nextX != null ? nextX : x2;\n y2 = nextY != null ? nextY : y2;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x: x2,\n y: y2\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x: x2,\n y: y2,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n };\n var arrow = (options2) => ({\n name: \"arrow\",\n options: options2,\n async fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state2;\n const {\n element,\n padding = 0\n } = evaluate(options2, state2) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x: x2,\n y: y2\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max3 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset4 = clamp(min$1, center, max3);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max3 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset4,\n centerOffset: center - offset4 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n });\n var flip = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"flip\",\n options: options2,\n async fn(state2) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state2;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements2 = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements2[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a2, b) => a2.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a2, b) => a2[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n };\n function getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n }\n function isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n }\n var hide = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"hide\",\n options: options2,\n async fn(state2) {\n const {\n rects,\n platform: platform2\n } = state2;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await platform2.detectOverflow(state2, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await platform2.detectOverflow(state2, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n };\n var originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\n async function convertValueToCoords(state2, options2) {\n const {\n placement,\n platform: platform2,\n elements\n } = state2;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options2, state2);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n }\n var offset = function(options2) {\n if (options2 === void 0) {\n options2 = 0;\n }\n return {\n name: \"offset\",\n options: options2,\n async fn(state2) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x: x2,\n y: y2,\n placement,\n middlewareData\n } = state2;\n const diffCoords = await convertValueToCoords(state2, options2);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x2 + diffCoords.x,\n y: y2 + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n };\n var shift = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"shift\",\n options: options2,\n async fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n platform: platform2\n } = state2;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref2) => {\n let {\n x: x3,\n y: y3\n } = _ref2;\n return {\n x: x3,\n y: y3\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n const coords = {\n x: x2,\n y: y2\n };\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min3 = mainAxisCoord + overflow[minSide];\n const max3 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min3, mainAxisCoord, max3);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min3 = crossAxisCoord + overflow[minSide];\n const max3 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min3, crossAxisCoord, max3);\n }\n const limitedCoords = limiter.fn({\n ...state2,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x2,\n y: limitedCoords.y - y2,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n };\n var limitShift = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n options: options2,\n fn(state2) {\n const {\n x: x2,\n y: y2,\n placement,\n rects,\n middlewareData\n } = state2;\n const {\n offset: offset4 = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options2, state2);\n const coords = {\n x: x2,\n y: y2\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset4, state2);\n const computedOffset = typeof rawOffset === \"number\" ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === \"y\" ? \"height\" : \"width\";\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === \"y\" ? \"width\" : \"height\";\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n };\n var size = function(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n return {\n name: \"size\",\n options: options2,\n async fn(state2) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state2;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options2, state2);\n const overflow = await platform2.detectOverflow(state2, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state2.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state2,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n };\n\n // ../../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\n function hasWindow() {\n return typeof window !== \"undefined\";\n }\n function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n }\n function getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n }\n function getDocumentElement(node) {\n var _ref2;\n return (_ref2 = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref2.documentElement;\n }\n function isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n }\n function isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n }\n function isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n }\n function isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n }\n function isOverflowElement(element) {\n const {\n overflow,\n overflowX: overflowX2,\n overflowY: overflowY2,\n display\n } = getComputedStyle2(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY2 + overflowX2) && display !== \"inline\" && display !== \"contents\";\n }\n function isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n }\n function isTopLayer(element) {\n try {\n if (element.matches(\":popover-open\")) {\n return true;\n }\n } catch (_e) {\n }\n try {\n return element.matches(\":modal\");\n } catch (_e) {\n return false;\n }\n }\n var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\n var containRe = /paint|layout|strict|content/;\n var isNotNone = (value) => !!value && value !== \"none\";\n var isWebKitValue;\n function isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || \"\") || containRe.test(css.contain || \"\");\n }\n function getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n }\n function isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== \"undefined\" && CSS.supports && CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n }\n return isWebKitValue;\n }\n function isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n }\n function getComputedStyle2(element) {\n return getWindow(element).getComputedStyle(element);\n }\n function getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n }\n function getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n }\n function getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n }\n function getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n }\n function getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n }\n\n // ../../../node_modules/.bun/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\n function getCssDimensions(element) {\n const css = getComputedStyle2(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n }\n function unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n }\n function getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x2 = ($ ? round(rect.width) : rect.width) / width;\n let y2 = ($ ? round(rect.height) : rect.height) / height;\n if (!x2 || !Number.isFinite(x2)) {\n x2 = 1;\n }\n if (!y2 || !Number.isFinite(y2)) {\n y2 = 1;\n }\n return {\n x: x2,\n y: y2\n };\n }\n var noOffsets = /* @__PURE__ */ createCoords(0);\n function getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n }\n function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n }\n function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x2 = (clientRect.left + visualOffsets.x) / scale.x;\n let y2 = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle2(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x2 *= iframeScale.x;\n y2 *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x2 += left;\n y2 += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x: x2,\n y: y2\n });\n }\n function getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n }\n function getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x2 = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y2 = htmlRect.top + scroll.scrollTop;\n return {\n x: x2,\n y: y2\n };\n }\n function convertOffsetParentRelativeRectToViewportRelativeRect(_ref2) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref2;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n }\n function getClientRects(element) {\n return Array.from(element.getClientRects());\n }\n function getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x2 = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y2 = -scroll.scrollTop;\n if (getComputedStyle2(body).direction === \"rtl\") {\n x2 += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n var SCROLLBAR_MAX = 25;\n function getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x2 = 0;\n let y2 = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x2 = visualViewport.offsetLeft;\n y2 = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n function getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x2 = left * scale.x;\n const y2 = top * scale.y;\n return {\n width,\n height,\n x: x2,\n y: y2\n };\n }\n function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n }\n function hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle2(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n }\n function getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle2(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle2(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === \"absolute\" || currentContainingBlockComputedStyle.position === \"fixed\") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n }\n function getClippingRect(_ref2) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref2;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n }\n function getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n }\n function getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y2 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x: x2,\n y: y2,\n width: rect.width,\n height: rect.height\n };\n }\n function isStaticPositioned(element) {\n return getComputedStyle2(element).position === \"static\";\n }\n function getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle2(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n }\n function getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n }\n var getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n };\n function isRTL(element) {\n return getComputedStyle2(element).direction === \"rtl\";\n }\n var platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n };\n function rectsAreEqual(a2, b) {\n return a2.x === b.x && a2.y === b.y && a2.width === b.width && a2.height === b.height;\n }\n function observeMove(element, onMove) {\n let io = null;\n let timeoutId4;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId4);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold2) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold2 === void 0) {\n threshold2 = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options2 = {\n rootMargin,\n threshold: max(0, min(1, threshold2)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold2) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId4 = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n refresh();\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options2,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options2);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n }\n function autoUpdate(reference, floating, update, options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options2;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref2) => {\n let [firstEntry] = _ref2;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n }\n var offset2 = offset;\n var shift2 = shift;\n var flip2 = flip;\n var size2 = size;\n var hide2 = hide;\n var arrow2 = arrow;\n var limitShift2 = limitShift;\n var computePosition2 = (reference, floating, options2) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options2\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n };\n\n // ../../../node_modules/.bun/@floating-ui+react-dom@2.1.8+21ccd8898788a04d/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\n var React41 = __toESM(require_react(), 1);\n var import_react6 = __toESM(require_react(), 1);\n var ReactDOM3 = __toESM(require_react_dom(), 1);\n var isClient = typeof document !== \"undefined\";\n var noop2 = function noop3() {\n };\n var index = isClient ? import_react6.useLayoutEffect : noop2;\n function deepEqual(a2, b) {\n if (a2 === b) {\n return true;\n }\n if (typeof a2 !== typeof b) {\n return false;\n }\n if (typeof a2 === \"function\" && a2.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a2 && b && typeof a2 === \"object\") {\n if (Array.isArray(a2)) {\n length = a2.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0; ) {\n if (!deepEqual(a2[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a2);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0; ) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n if (key === \"_owner\" && a2.$$typeof) {\n continue;\n }\n if (!deepEqual(a2[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a2 !== a2 && b !== b;\n }\n function getDPR(element) {\n if (typeof window === \"undefined\") {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n }\n function roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n }\n function useLatestRef(value) {\n const ref = React41.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n }\n function useFloating(options2) {\n if (options2 === void 0) {\n options2 = {};\n }\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform: transform2 = true,\n whileElementsMounted,\n open\n } = options2;\n const [data, setData] = React41.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React41.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React41.useState(null);\n const [_floating, _setFloating] = React41.useState(null);\n const setReference = React41.useCallback((node) => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React41.useCallback((node) => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React41.useRef(null);\n const floatingRef = React41.useRef(null);\n const dataRef = React41.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform2);\n const openRef = useLatestRef(open);\n const update = React41.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {\n const fullData = {\n ...data2,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM3.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData((data2) => ({\n ...data2,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React41.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React41.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React41.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React41.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x2 = roundByDPR(elements.floating, data.x);\n const y2 = roundByDPR(elements.floating, data.y);\n if (transform2) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x2 + \"px, \" + y2 + \"px)\",\n ...getDPR(elements.floating) >= 1.5 && {\n willChange: \"transform\"\n }\n };\n }\n return {\n position: strategy,\n left: x2,\n top: y2\n };\n }, [strategy, transform2, elements.floating, data.x, data.y]);\n return React41.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n }\n var arrow$1 = (options2) => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, \"current\");\n }\n return {\n name: \"arrow\",\n options: options2,\n fn(state2) {\n const {\n element,\n padding\n } = typeof options2 === \"function\" ? options2(state2) : options2;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow2({\n element: element.current,\n padding\n }).fn(state2);\n }\n return {};\n }\n if (element) {\n return arrow2({\n element,\n padding\n }).fn(state2);\n }\n return {};\n }\n };\n };\n var offset3 = (options2, deps) => {\n const result = offset2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var shift3 = (options2, deps) => {\n const result = shift2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var limitShift3 = (options2, deps) => {\n const result = limitShift2(options2);\n return {\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var flip3 = (options2, deps) => {\n const result = flip2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var size3 = (options2, deps) => {\n const result = size2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var hide3 = (options2, deps) => {\n const result = hide2(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n var arrow3 = (options2, deps) => {\n const result = arrow$1(options2);\n return {\n name: result.name,\n fn: result.fn,\n options: [options2, deps]\n };\n };\n\n // ../../../node_modules/.bun/@radix-ui+react-arrow@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-arrow/dist/index.mjs\n var React42 = __toESM(require_react(), 1);\n var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);\n var NAME2 = \"Arrow\";\n var Arrow = React42.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n });\n Arrow.displayName = NAME2;\n var Root5 = Arrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-popper@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-popper/dist/index.mjs\n var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);\n var POPPER_NAME = \"Popper\";\n var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\n var Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React43.useState(null);\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n };\n Popper.displayName = POPPER_NAME;\n var ANCHOR_NAME = \"PopperAnchor\";\n var PopperAnchor = React43.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React43.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const anchorRef = React43.useRef(null);\n React43.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n context.onAnchorChange(anchorRef.current);\n }\n });\n return virtualRef ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n );\n PopperAnchor.displayName = ANCHOR_NAME;\n var CONTENT_NAME4 = \"PopperContent\";\n var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME4);\n var PopperContent = React43.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME4, __scopePopper);\n const [content, setContent] = React43.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow4, setArrow] = React43.useState(null);\n const arrowSize = useSize(arrow4);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset3({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift3({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift3() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip3({ ...detectOverflowOptions }),\n size3({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow4 && arrow3({ element: arrow4, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide3({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect2(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React43.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n );\n PopperContent.displayName = CONTENT_NAME4;\n var ARROW_NAME = \"PopperArrow\";\n var OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n };\n var PopperArrow = React43.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n Root5,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n });\n PopperArrow.displayName = ARROW_NAME;\n function isNotNull(value) {\n return value !== null;\n }\n var transformOrigin = (options2) => ({\n name: \"transformOrigin\",\n options: options2,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options2.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options2.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x2 = \"\";\n let y2 = \"\";\n if (placedSide === \"bottom\") {\n x2 = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y2 = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x2 = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y2 = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x2 = `${-arrowHeight}px`;\n y2 = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x2 = `${rects.floating.width + arrowHeight}px`;\n y2 = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x: x2, y: y2 } };\n }\n });\n function getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n }\n var Root23 = Popper;\n var Anchor = PopperAnchor;\n var Content4 = PopperContent;\n var Arrow2 = PopperArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-roving-focus/dist/index.mjs\n var React44 = __toESM(require_react(), 1);\n var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);\n var ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\n var EVENT_OPTIONS2 = { bubbles: false, cancelable: true };\n var GROUP_NAME = \"RovingFocusGroup\";\n var [Collection2, useCollection2, createCollectionScope2] = createCollection(GROUP_NAME);\n var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope2]\n );\n var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\n var RovingFocusGroup = React44.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Collection2.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Collection2.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n );\n RovingFocusGroup.displayName = GROUP_NAME;\n var RovingFocusGroupImpl = React44.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React44.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React44.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection2(__scopeRovingFocusGroup);\n const isClickFocusRef = React44.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React44.useState(0);\n React44.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React44.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React44.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React44.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React44.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS2);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst2(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n });\n var ITEM_NAME2 = \"RovingFocusGroupItem\";\n var RovingFocusGroupItem = React44.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME2, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection2(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React44.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Collection2.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst2(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n );\n RovingFocusGroupItem.displayName = ITEM_NAME2;\n var MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n };\n function getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n }\n function getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n }\n function focusFirst2(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n function wrapArray(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n var Root6 = RovingFocusGroup;\n var Item2 = RovingFocusGroupItem;\n\n // ../../../node_modules/.bun/@radix-ui+react-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-menu/dist/index.mjs\n var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);\n var SELECTION_KEYS = [\"Enter\", \" \"];\n var FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\n var LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\n var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\n var SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n };\n var SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n };\n var MENU_NAME = \"Menu\";\n var [Collection3, useCollection3, createCollectionScope3] = createCollection(MENU_NAME);\n var [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope3,\n createPopperScope,\n createRovingFocusGroupScope\n ]);\n var usePopperScope = createPopperScope();\n var useRovingFocusGroupScope = createRovingFocusGroupScope();\n var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\n var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\n var Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React45.useState(null);\n const isUsingKeyboardRef = React45.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React45.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React45.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n };\n Menu.displayName = MENU_NAME;\n var ANCHOR_NAME2 = \"MenuAnchor\";\n var MenuAnchor = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n );\n MenuAnchor.displayName = ANCHOR_NAME2;\n var PORTAL_NAME3 = \"MenuPortal\";\n var [PortalProvider2, usePortalContext2] = createMenuContext(PORTAL_NAME3, {\n forceMount: void 0\n });\n var MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME3, __scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(PortalProvider2, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n MenuPortal.displayName = PORTAL_NAME3;\n var CONTENT_NAME5 = \"MenuContent\";\n var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME5);\n var MenuContent = React45.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext2(CONTENT_NAME5, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, props.__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n );\n var MenuRootContentModal = React45.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React45.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n );\n var MenuRootContentNonModal = React45.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n });\n var Slot3 = createSlot(\"MenuContent.ScrollLock\");\n var MenuContentImpl = React45.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME5, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection3(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React45.useState(null);\n const contentRef = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React45.useRef(0);\n const searchRef = React45.useRef(\"\");\n const pointerGraceTimerRef = React45.useRef(0);\n const pointerGraceIntentRef = React45.useRef(null);\n const pointerDirRef = React45.useRef(\"right\");\n const lastPointerXRef = React45.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? Combination_default : React45.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot3, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React45.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React45.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React45.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React45.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Content4,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst3(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n );\n MenuContent.displayName = CONTENT_NAME5;\n var GROUP_NAME2 = \"MenuGroup\";\n var MenuGroup = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n );\n MenuGroup.displayName = GROUP_NAME2;\n var LABEL_NAME = \"MenuLabel\";\n var MenuLabel = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n );\n MenuLabel.displayName = LABEL_NAME;\n var ITEM_NAME3 = \"MenuItem\";\n var ITEM_SELECT = \"menu.itemSelect\";\n var MenuItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React45.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME3, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME3, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React45.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n );\n MenuItem.displayName = ITEM_NAME3;\n var MenuItemImpl = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME3, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React45.useState(false);\n const [textContent, setTextContent] = React45.useState(\"\");\n React45.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Collection3.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Item2, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n );\n var CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\n var MenuCheckboxItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate2(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate2(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n var RADIO_GROUP_NAME = \"MenuRadioGroup\";\n var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n );\n var MenuRadioGroup = React45.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n );\n MenuRadioGroup.displayName = RADIO_GROUP_NAME;\n var RADIO_ITEM_NAME = \"MenuRadioItem\";\n var MenuRadioItem = React45.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n MenuRadioItem.displayName = RADIO_ITEM_NAME;\n var ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\n var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n );\n var MenuItemIndicator = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Presence,\n {\n present: forceMount || isIndeterminate2(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n );\n MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n var SEPARATOR_NAME = \"MenuSeparator\";\n var MenuSeparator = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n MenuSeparator.displayName = SEPARATOR_NAME;\n var ARROW_NAME2 = \"MenuArrow\";\n var MenuArrow = React45.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n MenuArrow.displayName = ARROW_NAME2;\n var SUB_NAME = \"MenuSub\";\n var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\n var MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React45.useState(null);\n const [content, setContent] = React45.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React45.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n };\n MenuSub.displayName = SUB_NAME;\n var SUB_TRIGGER_NAME = \"MenuSubTrigger\";\n var MenuSubTrigger = React45.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React45.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React45.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React45.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React45.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n );\n MenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n var SUB_CONTENT_NAME = \"MenuSubContent\";\n var MenuSubContent = React45.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext2(CONTENT_NAME5, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME5, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME5, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React45.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Collection3.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n );\n MenuSubContent.displayName = SUB_CONTENT_NAME;\n function getOpenState(open) {\n return open ? \"open\" : \"closed\";\n }\n function isIndeterminate2(checked) {\n return checked === \"indeterminate\";\n }\n function getCheckedState(checked) {\n return isIndeterminate2(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n }\n function focusFirst3(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n function wrapArray2(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n function getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray2(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n }\n function isPointInPolygon(point4, polygon) {\n const { x: x2, y: y2 } = point4;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y2 !== yj > y2 && x2 < (xj - xi) * (y2 - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n }\n function isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n }\n function whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n }\n var Root32 = Menu;\n var Anchor2 = MenuAnchor;\n var Portal3 = MenuPortal;\n var Content22 = MenuContent;\n var Group = MenuGroup;\n var Label = MenuLabel;\n var Item22 = MenuItem;\n var CheckboxItem = MenuCheckboxItem;\n var RadioGroup = MenuRadioGroup;\n var RadioItem = MenuRadioItem;\n var ItemIndicator = MenuItemIndicator;\n var Separator = MenuSeparator;\n var Arrow22 = MenuArrow;\n var Sub = MenuSub;\n var SubTrigger = MenuSubTrigger;\n var SubContent = MenuSubContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-dropdown-menu@2.1.16+119c4f3973a6d299/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\n var dist_exports10 = {};\n __export(dist_exports10, {\n Arrow: () => Arrow23,\n CheckboxItem: () => CheckboxItem2,\n Content: () => Content23,\n DropdownMenu: () => DropdownMenu,\n DropdownMenuArrow: () => DropdownMenuArrow,\n DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,\n DropdownMenuContent: () => DropdownMenuContent,\n DropdownMenuGroup: () => DropdownMenuGroup,\n DropdownMenuItem: () => DropdownMenuItem,\n DropdownMenuItemIndicator: () => DropdownMenuItemIndicator,\n DropdownMenuLabel: () => DropdownMenuLabel,\n DropdownMenuPortal: () => DropdownMenuPortal,\n DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,\n DropdownMenuRadioItem: () => DropdownMenuRadioItem,\n DropdownMenuSeparator: () => DropdownMenuSeparator,\n DropdownMenuSub: () => DropdownMenuSub,\n DropdownMenuSubContent: () => DropdownMenuSubContent,\n DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,\n DropdownMenuTrigger: () => DropdownMenuTrigger,\n Group: () => Group2,\n Item: () => Item23,\n ItemIndicator: () => ItemIndicator2,\n Label: () => Label2,\n Portal: () => Portal22,\n RadioGroup: () => RadioGroup2,\n RadioItem: () => RadioItem2,\n Root: () => Root24,\n Separator: () => Separator2,\n Sub: () => Sub2,\n SubContent: () => SubContent2,\n SubTrigger: () => SubTrigger2,\n Trigger: () => Trigger4,\n createDropdownMenuScope: () => createDropdownMenuScope\n });\n var React46 = __toESM(require_react(), 1);\n var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);\n var DROPDOWN_MENU_NAME = \"DropdownMenu\";\n var [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n );\n var useMenuScope = createMenuScope();\n var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\n var DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React46.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React46.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Root32, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n };\n DropdownMenu.displayName = DROPDOWN_MENU_NAME;\n var TRIGGER_NAME5 = \"DropdownMenuTrigger\";\n var DropdownMenuTrigger = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME5, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Anchor2, { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n );\n DropdownMenuTrigger.displayName = TRIGGER_NAME5;\n var PORTAL_NAME4 = \"DropdownMenuPortal\";\n var DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Portal3, { ...menuScope, ...portalProps });\n };\n DropdownMenuPortal.displayName = PORTAL_NAME4;\n var CONTENT_NAME6 = \"DropdownMenuContent\";\n var DropdownMenuContent = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME6, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React46.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n Content22,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n );\n DropdownMenuContent.displayName = CONTENT_NAME6;\n var GROUP_NAME3 = \"DropdownMenuGroup\";\n var DropdownMenuGroup = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n );\n DropdownMenuGroup.displayName = GROUP_NAME3;\n var LABEL_NAME2 = \"DropdownMenuLabel\";\n var DropdownMenuLabel = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n );\n DropdownMenuLabel.displayName = LABEL_NAME2;\n var ITEM_NAME4 = \"DropdownMenuItem\";\n var DropdownMenuItem = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Item22, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n );\n DropdownMenuItem.displayName = ITEM_NAME4;\n var CHECKBOX_ITEM_NAME2 = \"DropdownMenuCheckboxItem\";\n var DropdownMenuCheckboxItem = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n });\n DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME2;\n var RADIO_GROUP_NAME2 = \"DropdownMenuRadioGroup\";\n var DropdownMenuRadioGroup = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n });\n DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME2;\n var RADIO_ITEM_NAME2 = \"DropdownMenuRadioItem\";\n var DropdownMenuRadioItem = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n });\n DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME2;\n var INDICATOR_NAME2 = \"DropdownMenuItemIndicator\";\n var DropdownMenuItemIndicator = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n });\n DropdownMenuItemIndicator.displayName = INDICATOR_NAME2;\n var SEPARATOR_NAME2 = \"DropdownMenuSeparator\";\n var DropdownMenuSeparator = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n });\n DropdownMenuSeparator.displayName = SEPARATOR_NAME2;\n var ARROW_NAME3 = \"DropdownMenuArrow\";\n var DropdownMenuArrow = React46.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Arrow22, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n );\n DropdownMenuArrow.displayName = ARROW_NAME3;\n var DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n };\n var SUB_TRIGGER_NAME2 = \"DropdownMenuSubTrigger\";\n var DropdownMenuSubTrigger = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n });\n DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME2;\n var SUB_CONTENT_NAME2 = \"DropdownMenuSubContent\";\n var DropdownMenuSubContent = React46.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n });\n DropdownMenuSubContent.displayName = SUB_CONTENT_NAME2;\n var Root24 = DropdownMenu;\n var Trigger4 = DropdownMenuTrigger;\n var Portal22 = DropdownMenuPortal;\n var Content23 = DropdownMenuContent;\n var Group2 = DropdownMenuGroup;\n var Label2 = DropdownMenuLabel;\n var Item23 = DropdownMenuItem;\n var CheckboxItem2 = DropdownMenuCheckboxItem;\n var RadioGroup2 = DropdownMenuRadioGroup;\n var RadioItem2 = DropdownMenuRadioItem;\n var ItemIndicator2 = DropdownMenuItemIndicator;\n var Separator2 = DropdownMenuSeparator;\n var Arrow23 = DropdownMenuArrow;\n var Sub2 = DropdownMenuSub;\n var SubTrigger2 = DropdownMenuSubTrigger;\n var SubContent2 = DropdownMenuSubContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-label@2.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-label/dist/index.mjs\n var dist_exports12 = {};\n __export(dist_exports12, {\n Label: () => Label3,\n Root: () => Root7\n });\n var React47 = __toESM(require_react(), 1);\n var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);\n var NAME3 = \"Label\";\n var Label3 = React47.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n });\n Label3.displayName = NAME3;\n var Root7 = Label3;\n\n // ../../../node_modules/.bun/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs\n function clamp2(value, [min3, max3]) {\n return Math.min(max3, Math.max(min3, value));\n }\n\n // ../../../node_modules/.bun/@radix-ui+react-popover@1.1.15+119c4f3973a6d299/node_modules/@radix-ui/react-popover/dist/index.mjs\n var dist_exports13 = {};\n __export(dist_exports13, {\n Anchor: () => Anchor22,\n Arrow: () => Arrow24,\n Close: () => Close2,\n Content: () => Content24,\n Popover: () => Popover,\n PopoverAnchor: () => PopoverAnchor,\n PopoverArrow: () => PopoverArrow,\n PopoverClose: () => PopoverClose,\n PopoverContent: () => PopoverContent,\n PopoverPortal: () => PopoverPortal,\n PopoverTrigger: () => PopoverTrigger,\n Portal: () => Portal4,\n Root: () => Root25,\n Trigger: () => Trigger5,\n createPopoverScope: () => createPopoverScope\n });\n var React48 = __toESM(require_react(), 1);\n var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);\n var POPOVER_NAME = \"Popover\";\n var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n ]);\n var usePopperScope2 = createPopperScope();\n var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\n var Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope2(__scopePopover);\n const triggerRef = React48.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React48.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React48.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React48.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React48.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n };\n Popover.displayName = POPOVER_NAME;\n var ANCHOR_NAME3 = \"PopoverAnchor\";\n var PopoverAnchor = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME3, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React48.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n );\n PopoverAnchor.displayName = ANCHOR_NAME3;\n var TRIGGER_NAME6 = \"PopoverTrigger\";\n var PopoverTrigger = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME6, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState5(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n );\n PopoverTrigger.displayName = TRIGGER_NAME6;\n var PORTAL_NAME5 = \"PopoverPortal\";\n var [PortalProvider3, usePortalContext3] = createPopoverContext(PORTAL_NAME5, {\n forceMount: void 0\n });\n var PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME5, __scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PortalProvider3, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n PopoverPortal.displayName = PORTAL_NAME5;\n var CONTENT_NAME7 = \"PopoverContent\";\n var PopoverContent = React48.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext3(CONTENT_NAME7, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n );\n PopoverContent.displayName = CONTENT_NAME7;\n var Slot4 = createSlot(\"PopoverContent.RemoveScroll\");\n var PopoverContentModal = React48.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n const contentRef = React48.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React48.useRef(false);\n React48.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Combination_default, { as: Slot4, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n );\n var PopoverContentNonModal = React48.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME7, props.__scopePopover);\n const hasInteractedOutsideRef = React48.useRef(false);\n const hasPointerDownOutsideRef = React48.useRef(false);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n );\n var PopoverContentImpl = React48.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME7, __scopePopover);\n const popperScope = usePopperScope2(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Content4,\n {\n \"data-state\": getState5(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n );\n var CLOSE_NAME2 = \"PopoverClose\";\n var PopoverClose = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME2, __scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n );\n PopoverClose.displayName = CLOSE_NAME2;\n var ARROW_NAME4 = \"PopoverArrow\";\n var PopoverArrow = React48.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope2(__scopePopover);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n PopoverArrow.displayName = ARROW_NAME4;\n function getState5(open) {\n return open ? \"open\" : \"closed\";\n }\n var Root25 = Popover;\n var Anchor22 = PopoverAnchor;\n var Trigger5 = PopoverTrigger;\n var Portal4 = PopoverPortal;\n var Content24 = PopoverContent;\n var Close2 = PopoverClose;\n var Arrow24 = PopoverArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-progress@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-progress/dist/index.mjs\n var dist_exports14 = {};\n __export(dist_exports14, {\n Indicator: () => Indicator,\n Progress: () => Progress,\n ProgressIndicator: () => ProgressIndicator,\n Root: () => Root8,\n createProgressScope: () => createProgressScope\n });\n var React49 = __toESM(require_react(), 1);\n var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);\n var PROGRESS_NAME = \"Progress\";\n var DEFAULT_MAX = 100;\n var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\n var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\n var Progress = React49.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max3 = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max3)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max3) ? valueProp : null;\n const valueLabel = isNumber2(value) ? getValueLabel(value, max3) : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ProgressProvider, { scope: __scopeProgress, value, max: max3, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n Primitive.div,\n {\n \"aria-valuemax\": max3,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber2(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max3),\n \"data-value\": value ?? void 0,\n \"data-max\": max3,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n Progress.displayName = PROGRESS_NAME;\n var INDICATOR_NAME3 = \"ProgressIndicator\";\n var ProgressIndicator = React49.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME3, __scopeProgress);\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n );\n ProgressIndicator.displayName = INDICATOR_NAME3;\n function defaultGetValueLabel(value, max3) {\n return `${Math.round(value / max3 * 100)}%`;\n }\n function getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n }\n function isNumber2(value) {\n return typeof value === \"number\";\n }\n function isValidMaxNumber(max3) {\n return isNumber2(max3) && !isNaN(max3) && max3 > 0;\n }\n function isValidValueNumber(value, max3) {\n return isNumber2(value) && !isNaN(value) && value <= max3 && value >= 0;\n }\n function getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n }\n function getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n }\n var Root8 = Progress;\n var Indicator = ProgressIndicator;\n\n // ../../../node_modules/.bun/@radix-ui+react-radio-group@1.3.8+119c4f3973a6d299/node_modules/@radix-ui/react-radio-group/dist/index.mjs\n var dist_exports15 = {};\n __export(dist_exports15, {\n Indicator: () => Indicator2,\n Item: () => Item24,\n RadioGroup: () => RadioGroup3,\n RadioGroupIndicator: () => RadioGroupIndicator,\n RadioGroupItem: () => RadioGroupItem,\n Root: () => Root26,\n createRadioGroupScope: () => createRadioGroupScope\n });\n var React210 = __toESM(require_react(), 1);\n var React50 = __toESM(require_react(), 1);\n var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);\n var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);\n var RADIO_NAME = \"Radio\";\n var [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n var [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\n var Radio = React50.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = \"on\",\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button, setButton] = React50.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React50.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": getState6(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...radioProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n RadioBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n );\n Radio.displayName = RADIO_NAME;\n var INDICATOR_NAME4 = \"RadioIndicator\";\n var RadioIndicator = React50.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME4, __scopeRadio);\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.span,\n {\n \"data-state\": getState6(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef\n }\n ) });\n }\n );\n RadioIndicator.displayName = INDICATOR_NAME4;\n var BUBBLE_INPUT_NAME2 = \"RadioBubbleInput\";\n var RadioBubbleInput = React50.forwardRef(\n ({\n __scopeRadio,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React50.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React50.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input2, checked);\n input2.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n Primitive.input,\n {\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n );\n RadioBubbleInput.displayName = BUBBLE_INPUT_NAME2;\n function getState6(checked) {\n return checked ? \"checked\" : \"unchecked\";\n }\n var ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\n var RADIO_GROUP_NAME3 = \"RadioGroup\";\n var [createRadioGroupContext, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME3, [\n createRovingFocusGroupScope,\n createRadioScope\n ]);\n var useRovingFocusGroupScope2 = createRovingFocusGroupScope();\n var useRadioScope = createRadioScope();\n var [RadioGroupProvider2, useRadioGroupContext2] = createRadioGroupContext(RADIO_GROUP_NAME3);\n var RadioGroup3 = React210.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope2(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? null,\n onChange: onValueChange,\n caller: RADIO_GROUP_NAME3\n });\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n RadioGroupProvider2,\n {\n scope: __scopeRadioGroup,\n name,\n required,\n disabled,\n value,\n onValueChange: setValue,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Primitive.div,\n {\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : void 0,\n dir: direction,\n ...groupProps,\n ref: forwardedRef\n }\n )\n }\n )\n }\n );\n }\n );\n RadioGroup3.displayName = RADIO_GROUP_NAME3;\n var ITEM_NAME5 = \"RadioGroupItem\";\n var RadioGroupItem = React210.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext2(ITEM_NAME5, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope2(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React210.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React210.useRef(false);\n React210.useEffect(() => {\n const handleKeyDown = (event) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !isDisabled,\n active: checked,\n children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n Radio,\n {\n disabled: isDisabled,\n required: context.required,\n checked,\n ...radioScope,\n ...itemProps,\n name: context.name,\n ref: composedRefs,\n onCheck: () => context.onValueChange(itemProps.value),\n onKeyDown: composeEventHandlers((event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onFocus: composeEventHandlers(itemProps.onFocus, () => {\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })\n }\n )\n }\n );\n }\n );\n RadioGroupItem.displayName = ITEM_NAME5;\n var INDICATOR_NAME22 = \"RadioGroupIndicator\";\n var RadioGroupIndicator = React210.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n }\n );\n RadioGroupIndicator.displayName = INDICATOR_NAME22;\n var Root26 = RadioGroup3;\n var Item24 = RadioGroupItem;\n var Indicator2 = RadioGroupIndicator;\n\n // ../../../node_modules/.bun/@radix-ui+react-scroll-area@1.2.10+119c4f3973a6d299/node_modules/@radix-ui/react-scroll-area/dist/index.mjs\n var dist_exports16 = {};\n __export(dist_exports16, {\n Corner: () => Corner,\n Root: () => Root9,\n ScrollArea: () => ScrollArea,\n ScrollAreaCorner: () => ScrollAreaCorner,\n ScrollAreaScrollbar: () => ScrollAreaScrollbar,\n ScrollAreaThumb: () => ScrollAreaThumb,\n ScrollAreaViewport: () => ScrollAreaViewport,\n Scrollbar: () => Scrollbar,\n Thumb: () => Thumb,\n Viewport: () => Viewport,\n createScrollAreaScope: () => createScrollAreaScope\n });\n var React211 = __toESM(require_react(), 1);\n var React51 = __toESM(require_react(), 1);\n var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);\n function useStateMachine2(initialState15, machine) {\n return React51.useReducer((state2, event) => {\n const nextState = machine[state2][event];\n return nextState ?? state2;\n }, initialState15);\n }\n var SCROLL_AREA_NAME = \"ScrollArea\";\n var [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\n var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\n var ScrollArea = React211.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React211.useState(null);\n const [viewport, setViewport] = React211.useState(null);\n const [content, setContent] = React211.useState(null);\n const [scrollbarX, setScrollbarX] = React211.useState(null);\n const [scrollbarY, setScrollbarY] = React211.useState(null);\n const [cornerWidth, setCornerWidth] = React211.useState(0);\n const [cornerHeight, setCornerHeight] = React211.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React211.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React211.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n );\n ScrollArea.displayName = SCROLL_AREA_NAME;\n var VIEWPORT_NAME = \"ScrollAreaViewport\";\n var ScrollAreaViewport = React211.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React211.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n );\n ScrollAreaViewport.displayName = VIEWPORT_NAME;\n var SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\n var ScrollAreaScrollbar = React211.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React211.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n );\n ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\n var ScrollAreaScrollbarHover = React211.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React211.useState(false);\n React211.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || visible, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n });\n var ScrollAreaScrollbarScroll = React211.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state2, send] = useStateMachine2(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React211.useEffect(() => {\n if (state2 === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state2, context.scrollHideDelay, send]);\n React211.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll2 = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || state2 !== \"hidden\", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state2 === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n });\n var ScrollAreaScrollbarAuto = React211.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React211.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || visible, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n });\n var ScrollAreaScrollbarVisible = React211.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React211.useRef(null);\n const pointerOffsetRef = React211.useRef(0);\n const [sizes, setSizes] = React211.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset4 = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset4}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset4 = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset4}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n });\n var ScrollAreaScrollbarX = React211.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React211.useState();\n const ref = React211.useRef(null);\n const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React211.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs2,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n });\n var ScrollAreaScrollbarY = React211.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React211.useState();\n const ref = React211.useRef(null);\n const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React211.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs2,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n });\n var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\n var ScrollAreaScrollbarImpl = React211.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React211.useState(null);\n const composeRefs2 = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React211.useRef(null);\n const prevWebkitUserSelectRef = React211.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x2 = event.clientX - rectRef.current.left;\n const y2 = event.clientY - rectRef.current.top;\n onDragScroll({ x: x2, y: y2 });\n }\n }\n React211.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React211.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs2,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n });\n var THUMB_NAME = \"ScrollAreaThumb\";\n var ScrollAreaThumb = React211.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n );\n var ScrollAreaThumbImpl = React211.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React211.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React211.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll2 = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener2 = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener2;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x2 = event.clientX - thumbRect.left;\n const y2 = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x: x2, y: y2 });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n );\n ScrollAreaThumb.displayName = THUMB_NAME;\n var CORNER_NAME = \"ScrollAreaCorner\";\n var ScrollAreaCorner = React211.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n );\n ScrollAreaCorner.displayName = CORNER_NAME;\n var ScrollAreaCornerImpl = React211.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React211.useState(0);\n const [height, setHeight] = React211.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n });\n function toInt(value) {\n return value ? parseInt(value, 10) : 0;\n }\n function getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n }\n function getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n }\n function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset4 = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset4;\n const minPointerPos = sizes.scrollbar.paddingStart + offset4;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate2 = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate2(pointerPos);\n }\n function getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp2(scrollPos, scrollClampRange);\n const interpolate2 = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate2(scrollWithoutMomentum);\n }\n function linearScale(input2, output) {\n return (value) => {\n if (input2[0] === input2[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input2[1] - input2[0]);\n return output[0] + ratio * (value - input2[0]);\n };\n }\n function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n }\n var addUnlinkedScrollListener = (node, handler = () => {\n }) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position2 = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position2.left;\n const isVerticalScroll = prevPosition.top !== position2.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position2;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n };\n function useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React211.useRef(0);\n React211.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React211.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n }\n function useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect2(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n }\n var Root9 = ScrollArea;\n var Viewport = ScrollAreaViewport;\n var Scrollbar = ScrollAreaScrollbar;\n var Thumb = ScrollAreaThumb;\n var Corner = ScrollAreaCorner;\n\n // ../../../node_modules/.bun/@radix-ui+react-select@2.2.6+119c4f3973a6d299/node_modules/@radix-ui/react-select/dist/index.mjs\n var dist_exports17 = {};\n __export(dist_exports17, {\n Arrow: () => Arrow25,\n Content: () => Content25,\n Group: () => Group3,\n Icon: () => Icon,\n Item: () => Item3,\n ItemIndicator: () => ItemIndicator3,\n ItemText: () => ItemText,\n Label: () => Label4,\n Portal: () => Portal5,\n Root: () => Root27,\n ScrollDownButton: () => ScrollDownButton,\n ScrollUpButton: () => ScrollUpButton,\n Select: () => Select,\n SelectArrow: () => SelectArrow,\n SelectContent: () => SelectContent,\n SelectGroup: () => SelectGroup,\n SelectIcon: () => SelectIcon,\n SelectItem: () => SelectItem,\n SelectItemIndicator: () => SelectItemIndicator,\n SelectItemText: () => SelectItemText,\n SelectLabel: () => SelectLabel,\n SelectPortal: () => SelectPortal,\n SelectScrollDownButton: () => SelectScrollDownButton,\n SelectScrollUpButton: () => SelectScrollUpButton,\n SelectSeparator: () => SelectSeparator,\n SelectTrigger: () => SelectTrigger,\n SelectValue: () => SelectValue,\n SelectViewport: () => SelectViewport,\n Separator: () => Separator3,\n Trigger: () => Trigger6,\n Value: () => Value,\n Viewport: () => Viewport2,\n createSelectScope: () => createSelectScope\n });\n var React52 = __toESM(require_react(), 1);\n var ReactDOM4 = __toESM(require_react_dom(), 1);\n var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);\n var OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\n var SELECTION_KEYS2 = [\" \", \"Enter\"];\n var SELECT_NAME = \"Select\";\n var [Collection4, useCollection4, createCollectionScope4] = createCollection(SELECT_NAME);\n var [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope4,\n createPopperScope\n ]);\n var usePopperScope3 = createPopperScope();\n var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\n var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\n var Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const [trigger, setTrigger] = React52.useState(null);\n const [valueNode, setValueNode] = React52.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React52.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React52.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React52.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React52.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React52.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n };\n Select.displayName = SELECT_NAME;\n var TRIGGER_NAME7 = \"SelectTrigger\";\n var SelectTrigger = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME7, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection4(__scopeSelect);\n const pointerTypeRef = React52.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n );\n SelectTrigger.displayName = TRIGGER_NAME7;\n var VALUE_NAME = \"SelectValue\";\n var SelectValue = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect2(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: placeholder }) : children\n }\n );\n }\n );\n SelectValue.displayName = VALUE_NAME;\n var ICON_NAME = \"SelectIcon\";\n var SelectIcon = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n );\n SelectIcon.displayName = ICON_NAME;\n var PORTAL_NAME6 = \"SelectPortal\";\n var SelectPortal = (props) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Portal, { asChild: true, ...props });\n };\n SelectPortal.displayName = PORTAL_NAME6;\n var CONTENT_NAME8 = \"SelectContent\";\n var SelectContent = React52.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME8, props.__scopeSelect);\n const [fragment, setFragment] = React52.useState();\n useLayoutEffect2(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM4.createPortal(\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n );\n SelectContent.displayName = CONTENT_NAME8;\n var CONTENT_MARGIN = 10;\n var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME8);\n var CONTENT_IMPL_NAME = \"SelectContentImpl\";\n var Slot5 = createSlot(\"SelectContent.RemoveScroll\");\n var SelectContentImpl = React52.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position: position2 = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME8, __scopeSelect);\n const [content, setContent] = React52.useState(null);\n const [viewport, setViewport] = React52.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React52.useState(null);\n const [selectedItemText, setSelectedItemText] = React52.useState(\n null\n );\n const getItems = useCollection4(__scopeSelect);\n const [isPositioned, setIsPositioned] = React52.useState(false);\n const firstValidItemFoundRef = React52.useRef(false);\n React52.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst4 = React52.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React52.useCallback(\n () => focusFirst4([selectedItem, content]),\n [focusFirst4, selectedItem, content]\n );\n React52.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React52.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React52.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React52.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React52.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React52.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position2 === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position: position2,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Combination_default, { as: Slot5, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst4(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n );\n SelectContentImpl.displayName = CONTENT_IMPL_NAME;\n var ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\n var SelectItemAlignedPosition = React52.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME8, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME8, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React52.useState(null);\n const [content, setContent] = React52.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection4(__scopeSelect);\n const shouldExpandOnScrollRef = React52.useRef(false);\n const shouldRepositionRef = React52.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position2 = React52.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp2(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp2(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect2(() => position2(), [position2]);\n const [contentZIndex, setContentZIndex] = React52.useState();\n useLayoutEffect2(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React52.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position2();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position2, focusSelectedItem]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n });\n SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\n var POPPER_POSITION_NAME = \"SelectPopperPosition\";\n var SelectPopperPosition = React52.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Content4,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n });\n SelectPopperPosition.displayName = POPPER_POSITION_NAME;\n var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME8, {});\n var VIEWPORT_NAME2 = \"SelectViewport\";\n var SelectViewport = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME2, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME2, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React52.useRef(0);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Collection4.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n );\n SelectViewport.displayName = VIEWPORT_NAME2;\n var GROUP_NAME4 = \"SelectGroup\";\n var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME4);\n var SelectGroup = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n );\n SelectGroup.displayName = GROUP_NAME4;\n var LABEL_NAME3 = \"SelectLabel\";\n var SelectLabel = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME3, __scopeSelect);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n );\n SelectLabel.displayName = LABEL_NAME3;\n var ITEM_NAME6 = \"SelectItem\";\n var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME6);\n var SelectItem = React52.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME6, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME6, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React52.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React52.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React52.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React52.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Collection4.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS2.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n );\n SelectItem.displayName = ITEM_NAME6;\n var ITEM_TEXT_NAME = \"SelectItemText\";\n var SelectItemText = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React52.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React52.useMemo(\n () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect2(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM4.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n );\n SelectItemText.displayName = ITEM_TEXT_NAME;\n var ITEM_INDICATOR_NAME2 = \"SelectItemIndicator\";\n var SelectItemIndicator = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME2, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n );\n SelectItemIndicator.displayName = ITEM_INDICATOR_NAME2;\n var SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\n var SelectScrollUpButton = React52.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React52.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll22 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll2 = handleScroll22;\n const viewport = contentContext.viewport;\n handleScroll22();\n viewport.addEventListener(\"scroll\", handleScroll22);\n return () => viewport.removeEventListener(\"scroll\", handleScroll22);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n });\n SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\n var SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\n var SelectScrollDownButton = React52.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React52.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect2(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll22 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll2 = handleScroll22;\n const viewport = contentContext.viewport;\n handleScroll22();\n viewport.addEventListener(\"scroll\", handleScroll22);\n return () => viewport.removeEventListener(\"scroll\", handleScroll22);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n });\n SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\n var SelectScrollButtonImpl = React52.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React52.useRef(null);\n const getItems = useCollection4(__scopeSelect);\n const clearAutoScrollTimer = React52.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React52.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect2(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n });\n var SEPARATOR_NAME3 = \"SelectSeparator\";\n var SelectSeparator = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n );\n SelectSeparator.displayName = SEPARATOR_NAME3;\n var ARROW_NAME5 = \"SelectArrow\";\n var SelectArrow = React52.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope3(__scopeSelect);\n const context = useSelectContext(ARROW_NAME5, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME5, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n );\n SelectArrow.displayName = ARROW_NAME5;\n var BUBBLE_INPUT_NAME3 = \"SelectBubbleInput\";\n var SelectBubbleInput = React52.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React52.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React52.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n );\n SelectBubbleInput.displayName = BUBBLE_INPUT_NAME3;\n function shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n }\n function useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React52.useRef(\"\");\n const timerRef = React52.useRef(0);\n const handleTypeaheadSearch = React52.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React52.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React52.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n }\n function findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray3(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n }\n function wrapArray3(array2, startIndex) {\n return array2.map((_, index2) => array2[(startIndex + index2) % array2.length]);\n }\n var Root27 = Select;\n var Trigger6 = SelectTrigger;\n var Value = SelectValue;\n var Icon = SelectIcon;\n var Portal5 = SelectPortal;\n var Content25 = SelectContent;\n var Viewport2 = SelectViewport;\n var Group3 = SelectGroup;\n var Label4 = SelectLabel;\n var Item3 = SelectItem;\n var ItemText = SelectItemText;\n var ItemIndicator3 = SelectItemIndicator;\n var ScrollUpButton = SelectScrollUpButton;\n var ScrollDownButton = SelectScrollDownButton;\n var Separator3 = SelectSeparator;\n var Arrow25 = SelectArrow;\n\n // ../../../node_modules/.bun/@radix-ui+react-separator@1.1.7+119c4f3973a6d299/node_modules/@radix-ui/react-separator/dist/index.mjs\n var dist_exports18 = {};\n __export(dist_exports18, {\n Root: () => Root10,\n Separator: () => Separator4\n });\n var React53 = __toESM(require_react(), 1);\n var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);\n var NAME4 = \"Separator\";\n var DEFAULT_ORIENTATION = \"horizontal\";\n var ORIENTATIONS = [\"horizontal\", \"vertical\"];\n var Separator4 = React53.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n });\n Separator4.displayName = NAME4;\n function isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n }\n var Root10 = Separator4;\n\n // ../../../node_modules/.bun/@radix-ui+react-slider@1.3.6+119c4f3973a6d299/node_modules/@radix-ui/react-slider/dist/index.mjs\n var dist_exports19 = {};\n __export(dist_exports19, {\n Range: () => Range,\n Root: () => Root11,\n Slider: () => Slider,\n SliderRange: () => SliderRange,\n SliderThumb: () => SliderThumb,\n SliderTrack: () => SliderTrack,\n Thumb: () => Thumb2,\n Track: () => Track,\n createSliderScope: () => createSliderScope\n });\n var React54 = __toESM(require_react(), 1);\n var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);\n var PAGE_KEYS = [\"PageUp\", \"PageDown\"];\n var ARROW_KEYS2 = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\n var BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n };\n var SLIDER_NAME = \"Slider\";\n var [Collection5, useCollection5, createCollectionScope5] = createCollection(SLIDER_NAME);\n var [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope5\n ]);\n var [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\n var Slider = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min: min3 = 0,\n max: max3 = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min3],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React54.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React54.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React54.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min3) / step) * step + min3, decimalCount);\n const nextValue = clamp2(snapToStep, [min3, max3]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min: min3,\n max: max3,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min: min3,\n max: max3,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min3, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max3, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS2.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n );\n Slider.displayName = SLIDER_NAME;\n var [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n });\n var SliderHorizontal = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n min: min3,\n max: max3,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React54.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input2 = [0, rect.width];\n const output = isSlidingFromLeft ? [min3, max3] : [max3, min3];\n const value = linearScale2(input2, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n );\n var SliderVertical = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n min: min3,\n max: max3,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React54.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React54.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input2 = [0, rect.height];\n const output = isSlidingFromBottom ? [max3, min3] : [min3, max3];\n const value = linearScale2(input2, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n );\n var SliderImpl = React54.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS2).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n );\n var TRACK_NAME = \"SliderTrack\";\n var SliderTrack = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n );\n SliderTrack.displayName = TRACK_NAME;\n var RANGE_NAME = \"SliderRange\";\n var SliderRange = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React54.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n );\n SliderRange.displayName = RANGE_NAME;\n var THUMB_NAME2 = \"SliderThumb\";\n var SliderThumb = React54.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection5(props.__scopeSlider);\n const [thumb, setThumb] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index2 = React54.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SliderThumbImpl, { ...props, ref: composedRefs, index: index2 });\n }\n );\n var SliderThumbImpl = React54.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index: index2, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME2, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME2, __scopeSlider);\n const [thumb, setThumb] = React54.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size4 = useSize(thumb);\n const value = context.values[index2];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index2, context.values.length);\n const orientationSize = size4?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React54.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Collection5.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index2;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index2\n )\n ]\n }\n );\n }\n );\n SliderThumb.displayName = THUMB_NAME2;\n var BUBBLE_INPUT_NAME4 = \"RadioBubbleInput\";\n var SliderBubbleInput = React54.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React54.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React54.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input2, value);\n input2.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n );\n SliderBubbleInput.displayName = BUBBLE_INPUT_NAME4;\n function getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a2, b) => a2 - b);\n }\n function convertValueToPercentage(value, min3, max3) {\n const maxSteps = max3 - min3;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min3);\n return clamp2(percentage, [0, 100]);\n }\n function getLabel(index2, totalValues) {\n if (totalValues > 2) {\n return `Value ${index2 + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index2];\n } else {\n return void 0;\n }\n }\n function getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n }\n function getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset4 = linearScale2([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset4(left) * direction) * direction;\n }\n function getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index2) => values[index2 + 1] - value);\n }\n function hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n }\n function linearScale2(input2, output) {\n return (value) => {\n if (input2[0] === input2[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input2[1] - input2[0]);\n return output[0] + ratio * (value - input2[0]);\n };\n }\n function getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n }\n function roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n }\n var Root11 = Slider;\n var Track = SliderTrack;\n var Range = SliderRange;\n var Thumb2 = SliderThumb;\n\n // ../../../node_modules/.bun/@radix-ui+react-switch@1.2.6+119c4f3973a6d299/node_modules/@radix-ui/react-switch/dist/index.mjs\n var dist_exports20 = {};\n __export(dist_exports20, {\n Root: () => Root12,\n Switch: () => Switch,\n SwitchThumb: () => SwitchThumb,\n Thumb: () => Thumb3,\n createSwitchScope: () => createSwitchScope\n });\n var React55 = __toESM(require_react(), 1);\n var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);\n var SWITCH_NAME = \"Switch\";\n var [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\n var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\n var Switch = React55.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React55.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React55.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState7(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n );\n Switch.displayName = SWITCH_NAME;\n var THUMB_NAME3 = \"SwitchThumb\";\n var SwitchThumb = React55.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME3, __scopeSwitch);\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n Primitive.span,\n {\n \"data-state\": getState7(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n );\n SwitchThumb.displayName = THUMB_NAME3;\n var BUBBLE_INPUT_NAME5 = \"SwitchBubbleInput\";\n var SwitchBubbleInput = React55.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React55.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React55.useEffect(() => {\n const input2 = ref.current;\n if (!input2) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input2, checked);\n input2.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n );\n SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME5;\n function getState7(checked) {\n return checked ? \"checked\" : \"unchecked\";\n }\n var Root12 = Switch;\n var Thumb3 = SwitchThumb;\n\n // ../../../node_modules/.bun/@radix-ui+react-tabs@1.1.13+119c4f3973a6d299/node_modules/@radix-ui/react-tabs/dist/index.mjs\n var dist_exports21 = {};\n __export(dist_exports21, {\n Content: () => Content5,\n List: () => List,\n Root: () => Root28,\n Tabs: () => Tabs,\n TabsContent: () => TabsContent,\n TabsList: () => TabsList,\n TabsTrigger: () => TabsTrigger,\n Trigger: () => Trigger7,\n createTabsScope: () => createTabsScope\n });\n var React56 = __toESM(require_react(), 1);\n var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);\n var TABS_NAME = \"Tabs\";\n var [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n ]);\n var useRovingFocusGroupScope3 = createRovingFocusGroupScope();\n var [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\n var Tabs = React56.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n Tabs.displayName = TABS_NAME;\n var TAB_LIST_NAME = \"TabsList\";\n var TabsList = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope3(__scopeTabs);\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n );\n TabsList.displayName = TAB_LIST_NAME;\n var TRIGGER_NAME8 = \"TabsTrigger\";\n var TabsTrigger = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME8, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope3(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n );\n TabsTrigger.displayName = TRIGGER_NAME8;\n var CONTENT_NAME9 = \"TabsContent\";\n var TabsContent = React56.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME9, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React56.useRef(isSelected);\n React56.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n );\n TabsContent.displayName = CONTENT_NAME9;\n function makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n }\n function makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n }\n var Root28 = Tabs;\n var List = TabsList;\n var Trigger7 = TabsTrigger;\n var Content5 = TabsContent;\n\n // ../../../node_modules/.bun/@radix-ui+react-toggle@1.1.10+119c4f3973a6d299/node_modules/@radix-ui/react-toggle/dist/index.mjs\n var dist_exports22 = {};\n __export(dist_exports22, {\n Root: () => Root13,\n Toggle: () => Toggle\n });\n var React57 = __toESM(require_react(), 1);\n var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);\n var NAME5 = \"Toggle\";\n var Toggle = React57.forwardRef((props, forwardedRef) => {\n const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n const [pressed, setPressed] = useControllableState({\n prop: pressedProp,\n onChange: onPressedChange,\n defaultProp: defaultPressed ?? false,\n caller: NAME5\n });\n return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(\n Primitive.button,\n {\n type: \"button\",\n \"aria-pressed\": pressed,\n \"data-state\": pressed ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...buttonProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => {\n if (!props.disabled) {\n setPressed(!pressed);\n }\n })\n }\n );\n });\n Toggle.displayName = NAME5;\n var Root13 = Toggle;\n\n // ../../../node_modules/.bun/@radix-ui+react-toggle-group@1.1.11+119c4f3973a6d299/node_modules/@radix-ui/react-toggle-group/dist/index.mjs\n var dist_exports23 = {};\n __export(dist_exports23, {\n Item: () => Item25,\n Root: () => Root29,\n ToggleGroup: () => ToggleGroup,\n ToggleGroupItem: () => ToggleGroupItem,\n createToggleGroupScope: () => createToggleGroupScope\n });\n var import_react7 = __toESM(require_react(), 1);\n var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);\n var TOGGLE_GROUP_NAME = \"ToggleGroup\";\n var [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n createRovingFocusGroupScope\n ]);\n var useRovingFocusGroupScope4 = createRovingFocusGroupScope();\n var ToggleGroup = import_react7.default.forwardRef((props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n });\n ToggleGroup.displayName = TOGGLE_GROUP_NAME;\n var [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\n var ToggleGroupImplSingle = import_react7.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: import_react7.default.useMemo(() => value ? [value] : [], [value]),\n onItemActivate: setValue,\n onItemDeactivate: import_react7.default.useCallback(() => setValue(\"\"), [setValue]),\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n }\n );\n });\n var ToggleGroupImplMultiple = import_react7.default.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n const handleButtonActivate = import_react7.default.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = import_react7.default.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n }\n );\n });\n ToggleGroup.displayName = TOGGLE_GROUP_NAME;\n var [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\n var ToggleGroupImpl = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir,\n loop = true,\n ...toggleGroupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope4(__scopeToggleGroup);\n const direction = useDirection(dir);\n const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Root6,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Primitive.div, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n }\n );\n var ITEM_NAME7 = \"ToggleGroupItem\";\n var ToggleGroupItem = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME7, props.__scopeToggleGroup);\n const context = useToggleGroupContext(ITEM_NAME7, props.__scopeToggleGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope4(props.__scopeToggleGroup);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n const commonProps = { ...props, pressed, disabled };\n const ref = import_react7.default.useRef(null);\n return context.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Item2,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: pressed,\n ref,\n children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n }\n );\n ToggleGroupItem.displayName = ITEM_NAME7;\n var ToggleGroupItemImpl = import_react7.default.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME7, __scopeToggleGroup);\n const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onPressedChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n }\n );\n var Root29 = ToggleGroup;\n var Item25 = ToggleGroupItem;\n\n // ../../../node_modules/.bun/@radix-ui+react-tooltip@1.2.8+119c4f3973a6d299/node_modules/@radix-ui/react-tooltip/dist/index.mjs\n var dist_exports24 = {};\n __export(dist_exports24, {\n Arrow: () => Arrow26,\n Content: () => Content26,\n Portal: () => Portal6,\n Provider: () => Provider,\n Root: () => Root33,\n Tooltip: () => Tooltip,\n TooltipArrow: () => TooltipArrow,\n TooltipContent: () => TooltipContent,\n TooltipPortal: () => TooltipPortal,\n TooltipProvider: () => TooltipProvider,\n TooltipTrigger: () => TooltipTrigger,\n Trigger: () => Trigger8,\n createTooltipScope: () => createTooltipScope\n });\n var React59 = __toESM(require_react(), 1);\n var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);\n var [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n ]);\n var usePopperScope4 = createPopperScope();\n var PROVIDER_NAME = \"TooltipProvider\";\n var DEFAULT_DELAY_DURATION = 700;\n var TOOLTIP_OPEN = \"tooltip.open\";\n var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\n var TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React59.useRef(true);\n const isPointerInTransitRef = React59.useRef(false);\n const skipDelayTimerRef = React59.useRef(0);\n React59.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React59.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React59.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React59.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n };\n TooltipProvider.displayName = PROVIDER_NAME;\n var TOOLTIP_NAME = \"Tooltip\";\n var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\n var Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const [trigger, setTrigger] = React59.useState(null);\n const contentId = useId();\n const openTimerRef = React59.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React59.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React59.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React59.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React59.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Root23, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React59.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React59.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n };\n Tooltip.displayName = TOOLTIP_NAME;\n var TRIGGER_NAME9 = \"TooltipTrigger\";\n var TooltipTrigger = React59.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME9, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME9, __scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const ref = React59.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React59.useRef(false);\n const hasPointerMoveOpenedRef = React59.useRef(false);\n const handlePointerUp = React59.useCallback(() => isPointerDownRef.current = false, []);\n React59.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n );\n TooltipTrigger.displayName = TRIGGER_NAME9;\n var PORTAL_NAME7 = \"TooltipPortal\";\n var [PortalProvider4, usePortalContext4] = createTooltipContext(PORTAL_NAME7, {\n forceMount: void 0\n });\n var TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME7, __scopeTooltip);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PortalProvider4, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Portal, { asChild: true, container, children }) }) });\n };\n TooltipPortal.displayName = PORTAL_NAME7;\n var CONTENT_NAME10 = \"TooltipContent\";\n var TooltipContent = React59.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext4(CONTENT_NAME10, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME10, props.__scopeTooltip);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n );\n var TooltipContentHoverable = React59.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME10, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME10, props.__scopeTooltip);\n const ref = React59.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React59.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React59.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React59.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React59.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React59.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React59.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon2(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TooltipContentImpl, { ...props, ref: composedRefs });\n });\n var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\n var Slottable2 = createSlottable(\"TooltipContent\");\n var TooltipContentImpl = React59.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME10, __scopeTooltip);\n const popperScope = usePopperScope4(__scopeTooltip);\n const { onClose } = context;\n React59.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React59.useEffect(() => {\n if (context.trigger) {\n const handleScroll2 = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll2, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll2, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(\n Content4,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Slottable2, { children }),\n /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n );\n TooltipContent.displayName = CONTENT_NAME10;\n var ARROW_NAME6 = \"TooltipArrow\";\n var TooltipArrow = React59.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope4(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME6,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n );\n TooltipArrow.displayName = ARROW_NAME6;\n function getExitSideFromRect(point4, rect) {\n const top = Math.abs(rect.top - point4.y);\n const bottom = Math.abs(rect.bottom - point4.y);\n const right = Math.abs(rect.right - point4.x);\n const left = Math.abs(rect.left - point4.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n }\n function getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n }\n function getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n }\n function isPointInPolygon2(point4, polygon) {\n const { x: x2, y: y2 } = point4;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y2 !== yj > y2 && x2 < (xj - xi) * (y2 - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n }\n function getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a2, b) => {\n if (a2.x < b.x) return -1;\n else if (a2.x > b.x) return 1;\n else if (a2.y < b.y) return -1;\n else if (a2.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n }\n function getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r2 = upperHull[upperHull.length - 2];\n if ((q.x - r2.x) * (p.y - r2.y) >= (q.y - r2.y) * (p.x - r2.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r2 = lowerHull[lowerHull.length - 2];\n if ((q.x - r2.x) * (p.y - r2.y) >= (q.y - r2.y) * (p.x - r2.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n }\n var Provider = TooltipProvider;\n var Root33 = Tooltip;\n var Trigger8 = TooltipTrigger;\n var Portal6 = TooltipPortal;\n var Content26 = TooltipContent;\n var Arrow26 = TooltipArrow;\n\n // ../../react/src/components/separator.tsx\n var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);\n function Separator5({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(\n dist_exports18.Root,\n {\n \"data-slot\": \"separator\",\n decorative,\n orientation,\n className: cn(\n \"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs\n var falsyToString = (value) => typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\n var cx = clsx;\n var cva = (base, config) => (props) => {\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant) => {\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {\n let [key, value] = param;\n if (value === void 0) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param2) => {\n let [key, value] = param2;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : {\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n // ../../react/src/components/tabs.tsx\n var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);\n function Tabs2({\n className,\n orientation = \"horizontal\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Root,\n {\n \"data-slot\": \"tabs\",\n \"data-orientation\": orientation,\n orientation,\n className: cn(\"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col\", className),\n ...props\n }\n );\n }\n var tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function TabsList2({\n className,\n variant = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.List,\n {\n \"data-slot\": \"tabs-list\",\n \"data-variant\": variant,\n className: cn(tabsListVariants({ variant }), className),\n ...props\n }\n );\n }\n function TabsTrigger2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Trigger,\n {\n \"data-slot\": \"tabs-trigger\",\n className: cn(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent\",\n \"data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100\",\n className\n ),\n ...props\n }\n );\n }\n function TabsContent2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(\n dist_exports21.Content,\n {\n \"data-slot\": \"tabs-content\",\n className: cn(\"flex-1 outline-none\", className),\n ...props\n }\n );\n }\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/createLucideIcon.js\n var import_react10 = __toESM(require_react());\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js\n var mergeClasses = (...classes) => classes.filter((className, index2, array2) => {\n return Boolean(className) && className.trim() !== \"\" && array2.indexOf(className) === index2;\n }).join(\" \").trim();\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js\n var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js\n var toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match2, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n );\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js\n var toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/Icon.js\n var import_react9 = __toESM(require_react());\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/defaultAttributes.js\n var defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js\n var hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n return false;\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/context.js\n var import_react8 = __toESM(require_react());\n var LucideContext = (0, import_react8.createContext)({});\n var useLucideContext = () => (0, import_react8.useContext)(LucideContext);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/Icon.js\n var Icon2 = (0, import_react9.forwardRef)(\n ({ color: color2, size: size4, strokeWidth, absoluteStrokeWidth, className = \"\", children, iconNode, ...rest }, ref) => {\n const {\n size: contextSize = 24,\n strokeWidth: contextStrokeWidth = 2,\n absoluteStrokeWidth: contextAbsoluteStrokeWidth = false,\n color: contextColor = \"currentColor\",\n className: contextClass = \"\"\n } = useLucideContext() ?? {};\n const calculatedStrokeWidth = absoluteStrokeWidth ?? contextAbsoluteStrokeWidth ? Number(strokeWidth ?? contextStrokeWidth) * 24 / Number(size4 ?? contextSize) : strokeWidth ?? contextStrokeWidth;\n return (0, import_react9.createElement)(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size4 ?? contextSize ?? defaultAttributes.width,\n height: size4 ?? contextSize ?? defaultAttributes.height,\n stroke: color2 ?? contextColor,\n strokeWidth: calculatedStrokeWidth,\n className: mergeClasses(\"lucide\", contextClass, className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => (0, import_react9.createElement)(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n );\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/createLucideIcon.js\n var createLucideIcon = (iconName, iconNode) => {\n const Component2 = (0, import_react10.forwardRef)(\n ({ className, ...props }, ref) => (0, import_react10.createElement)(Icon2, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component2.displayName = toPascalCase(iconName);\n return Component2;\n };\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/activity.js\n var __iconNode = [\n [\n \"path\",\n {\n d: \"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\",\n key: \"169zse\"\n }\n ]\n ];\n var Activity = createLucideIcon(\"activity\", __iconNode);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-down-wide-narrow.js\n var __iconNode2 = [\n [\"path\", { d: \"m3 16 4 4 4-4\", key: \"1co6wj\" }],\n [\"path\", { d: \"M7 20V4\", key: \"1yoxec\" }],\n [\"path\", { d: \"M11 4h10\", key: \"1w87gc\" }],\n [\"path\", { d: \"M11 8h7\", key: \"djye34\" }],\n [\"path\", { d: \"M11 12h4\", key: \"q8tih4\" }]\n ];\n var ArrowDownWideNarrow = createLucideIcon(\"arrow-down-wide-narrow\", __iconNode2);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-down.js\n var __iconNode3 = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n ];\n var ArrowDown = createLucideIcon(\"arrow-down\", __iconNode3);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-left.js\n var __iconNode4 = [\n [\"path\", { d: \"m12 19-7-7 7-7\", key: \"1l729n\" }],\n [\"path\", { d: \"M19 12H5\", key: \"x3x0zl\" }]\n ];\n var ArrowLeft = createLucideIcon(\"arrow-left\", __iconNode4);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-right.js\n var __iconNode5 = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"m12 5 7 7-7 7\", key: \"xquz4c\" }]\n ];\n var ArrowRight = createLucideIcon(\"arrow-right\", __iconNode5);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up-narrow-wide.js\n var __iconNode6 = [\n [\"path\", { d: \"m3 8 4-4 4 4\", key: \"11wl7u\" }],\n [\"path\", { d: \"M7 4v16\", key: \"1glfcx\" }],\n [\"path\", { d: \"M11 12h4\", key: \"q8tih4\" }],\n [\"path\", { d: \"M11 16h7\", key: \"uosisv\" }],\n [\"path\", { d: \"M11 20h10\", key: \"jvxblo\" }]\n ];\n var ArrowUpNarrowWide = createLucideIcon(\"arrow-up-narrow-wide\", __iconNode6);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\n var __iconNode7 = [\n [\"path\", { d: \"M7 7h10v10\", key: \"1tivn9\" }],\n [\"path\", { d: \"M7 17 17 7\", key: \"1vkiza\" }]\n ];\n var ArrowUpRight = createLucideIcon(\"arrow-up-right\", __iconNode7);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/arrow-up.js\n var __iconNode8 = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n ];\n var ArrowUp = createLucideIcon(\"arrow-up\", __iconNode8);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/at-sign.js\n var __iconNode9 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\", key: \"7n84p3\" }]\n ];\n var AtSign = createLucideIcon(\"at-sign\", __iconNode9);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/battery.js\n var __iconNode10 = [\n [\"path\", { d: \"M 22 14 L 22 10\", key: \"nqc4tb\" }],\n [\"rect\", { x: \"2\", y: \"6\", width: \"16\", height: \"12\", rx: \"2\", key: \"13zb55\" }]\n ];\n var Battery = createLucideIcon(\"battery\", __iconNode10);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/bookmark.js\n var __iconNode11 = [\n [\n \"path\",\n {\n d: \"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z\",\n key: \"oz39mx\"\n }\n ]\n ];\n var Bookmark = createLucideIcon(\"bookmark\", __iconNode11);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/box.js\n var __iconNode12 = [\n [\n \"path\",\n {\n d: \"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\",\n key: \"hh9hay\"\n }\n ],\n [\"path\", { d: \"m3.3 7 8.7 5 8.7-5\", key: \"g66t2b\" }],\n [\"path\", { d: \"M12 22V12\", key: \"d0xqtd\" }]\n ];\n var Box = createLucideIcon(\"box\", __iconNode12);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/calendar.js\n var __iconNode13 = [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n ];\n var Calendar = createLucideIcon(\"calendar\", __iconNode13);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chart-column.js\n var __iconNode14 = [\n [\"path\", { d: \"M3 3v16a2 2 0 0 0 2 2h16\", key: \"c24i48\" }],\n [\"path\", { d: \"M18 17V9\", key: \"2bz60n\" }],\n [\"path\", { d: \"M13 17V5\", key: \"1frdt8\" }],\n [\"path\", { d: \"M8 17v-3\", key: \"17ska0\" }]\n ];\n var ChartColumn = createLucideIcon(\"chart-column\", __iconNode14);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chart-pie.js\n var __iconNode15 = [\n [\n \"path\",\n {\n d: \"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z\",\n key: \"pzmjnu\"\n }\n ],\n [\"path\", { d: \"M21.21 15.89A10 10 0 1 1 8 2.83\", key: \"k2fpak\" }]\n ];\n var ChartPie = createLucideIcon(\"chart-pie\", __iconNode15);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/check.js\n var __iconNode16 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\n var Check = createLucideIcon(\"check\", __iconNode16);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-down.js\n var __iconNode17 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\n var ChevronDown = createLucideIcon(\"chevron-down\", __iconNode17);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-left.js\n var __iconNode18 = [[\"path\", { d: \"m15 18-6-6 6-6\", key: \"1wnfg3\" }]];\n var ChevronLeft = createLucideIcon(\"chevron-left\", __iconNode18);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-right.js\n var __iconNode19 = [[\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]];\n var ChevronRight = createLucideIcon(\"chevron-right\", __iconNode19);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevron-up.js\n var __iconNode20 = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\n var ChevronUp = createLucideIcon(\"chevron-up\", __iconNode20);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js\n var __iconNode21 = [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n ];\n var ChevronsUpDown = createLucideIcon(\"chevrons-up-down\", __iconNode21);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/circle-alert.js\n var __iconNode22 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n ];\n var CircleAlert = createLucideIcon(\"circle-alert\", __iconNode22);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/circle.js\n var __iconNode23 = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\n var Circle = createLucideIcon(\"circle\", __iconNode23);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/clock.js\n var __iconNode24 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n ];\n var Clock = createLucideIcon(\"clock\", __iconNode24);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/cloud-rain.js\n var __iconNode25 = [\n [\"path\", { d: \"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\", key: \"1pljnt\" }],\n [\"path\", { d: \"M16 14v6\", key: \"1j4efv\" }],\n [\"path\", { d: \"M8 14v6\", key: \"17c4r9\" }],\n [\"path\", { d: \"M12 16v6\", key: \"c8a4gj\" }]\n ];\n var CloudRain = createLucideIcon(\"cloud-rain\", __iconNode25);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/code.js\n var __iconNode26 = [\n [\"path\", { d: \"m16 18 6-6-6-6\", key: \"eg8j8\" }],\n [\"path\", { d: \"m8 6-6 6 6 6\", key: \"ppft3o\" }]\n ];\n var Code = createLucideIcon(\"code\", __iconNode26);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/copy.js\n var __iconNode27 = [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n ];\n var Copy = createLucideIcon(\"copy\", __iconNode27);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/cpu.js\n var __iconNode28 = [\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M17 20v2\", key: \"1rnc9c\" }],\n [\"path\", { d: \"M17 2v2\", key: \"11trls\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M2 17h2\", key: \"7oei6x\" }],\n [\"path\", { d: \"M2 7h2\", key: \"asdhe0\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"M20 17h2\", key: \"1fpfkl\" }],\n [\"path\", { d: \"M20 7h2\", key: \"1o8tra\" }],\n [\"path\", { d: \"M7 20v2\", key: \"4gnj0m\" }],\n [\"path\", { d: \"M7 2v2\", key: \"1i4yhu\" }],\n [\"rect\", { x: \"4\", y: \"4\", width: \"16\", height: \"16\", rx: \"2\", key: \"1vbyd7\" }],\n [\"rect\", { x: \"8\", y: \"8\", width: \"8\", height: \"8\", rx: \"1\", key: \"z9xiuo\" }]\n ];\n var Cpu = createLucideIcon(\"cpu\", __iconNode28);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/database.js\n var __iconNode29 = [\n [\"ellipse\", { cx: \"12\", cy: \"5\", rx: \"9\", ry: \"3\", key: \"msslwz\" }],\n [\"path\", { d: \"M3 5V19A9 3 0 0 0 21 19V5\", key: \"1wlel7\" }],\n [\"path\", { d: \"M3 12A9 3 0 0 0 21 12\", key: \"mv7ke4\" }]\n ];\n var Database = createLucideIcon(\"database\", __iconNode29);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/download.js\n var __iconNode30 = [\n [\"path\", { d: \"M12 15V3\", key: \"m9g1x1\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"path\", { d: \"m7 10 5 5 5-5\", key: \"brsn70\" }]\n ];\n var Download = createLucideIcon(\"download\", __iconNode30);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js\n var __iconNode31 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n ];\n var EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode31);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/ellipsis.js\n var __iconNode32 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"19\", cy: \"12\", r: \"1\", key: \"1wjl8i\" }],\n [\"circle\", { cx: \"5\", cy: \"12\", r: \"1\", key: \"1pcz8c\" }]\n ];\n var Ellipsis = createLucideIcon(\"ellipsis\", __iconNode32);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/external-link.js\n var __iconNode33 = [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n ];\n var ExternalLink = createLucideIcon(\"external-link\", __iconNode33);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/eye-off.js\n var __iconNode34 = [\n [\n \"path\",\n {\n d: \"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\",\n key: \"ct8e1f\"\n }\n ],\n [\"path\", { d: \"M14.084 14.158a3 3 0 0 1-4.242-4.242\", key: \"151rxh\" }],\n [\n \"path\",\n {\n d: \"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\",\n key: \"13bj9a\"\n }\n ],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n ];\n var EyeOff = createLucideIcon(\"eye-off\", __iconNode34);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/eye.js\n var __iconNode35 = [\n [\n \"path\",\n {\n d: \"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",\n key: \"1nclc0\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n ];\n var Eye = createLucideIcon(\"eye\", __iconNode35);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/file-text.js\n var __iconNode36 = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n ];\n var FileText = createLucideIcon(\"file-text\", __iconNode36);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/file.js\n var __iconNode37 = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }]\n ];\n var File3 = createLucideIcon(\"file\", __iconNode37);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/folder-open.js\n var __iconNode38 = [\n [\n \"path\",\n {\n d: \"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\n key: \"usdka0\"\n }\n ]\n ];\n var FolderOpen = createLucideIcon(\"folder-open\", __iconNode38);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/folder.js\n var __iconNode39 = [\n [\n \"path\",\n {\n d: \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\n key: \"1kt360\"\n }\n ]\n ];\n var Folder = createLucideIcon(\"folder\", __iconNode39);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/funnel.js\n var __iconNode40 = [\n [\n \"path\",\n {\n d: \"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\",\n key: \"sc7q7i\"\n }\n ]\n ];\n var Funnel = createLucideIcon(\"funnel\", __iconNode40);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.js\n var __iconNode41 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }],\n [\"line\", { x1: \"3\", x2: \"9\", y1: \"12\", y2: \"12\", key: \"1dyftd\" }],\n [\"line\", { x1: \"15\", x2: \"21\", y1: \"12\", y2: \"12\", key: \"oup4p8\" }]\n ];\n var GitCommitHorizontal = createLucideIcon(\"git-commit-horizontal\", __iconNode41);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-branch.js\n var __iconNode42 = [\n [\"path\", { d: \"M15 6a9 9 0 0 0-9 9V3\", key: \"1cii5b\" }],\n [\"circle\", { cx: \"18\", cy: \"6\", r: \"3\", key: \"1h7g24\" }],\n [\"circle\", { cx: \"6\", cy: \"18\", r: \"3\", key: \"fqmcym\" }]\n ];\n var GitBranch = createLucideIcon(\"git-branch\", __iconNode42);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/git-pull-request.js\n var __iconNode43 = [\n [\"circle\", { cx: \"18\", cy: \"18\", r: \"3\", key: \"1xkwt0\" }],\n [\"circle\", { cx: \"6\", cy: \"6\", r: \"3\", key: \"1lh9wr\" }],\n [\"path\", { d: \"M13 6h3a2 2 0 0 1 2 2v7\", key: \"1yeb86\" }],\n [\"line\", { x1: \"6\", x2: \"6\", y1: \"9\", y2: \"21\", key: \"rroup\" }]\n ];\n var GitPullRequest = createLucideIcon(\"git-pull-request\", __iconNode43);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/globe.js\n var __iconNode44 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\", key: \"13o1zl\" }],\n [\"path\", { d: \"M2 12h20\", key: \"9i4pu4\" }]\n ];\n var Globe = createLucideIcon(\"globe\", __iconNode44);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/grip.js\n var __iconNode45 = [\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"19\", cy: \"5\", r: \"1\", key: \"w8mnmm\" }],\n [\"circle\", { cx: \"5\", cy: \"5\", r: \"1\", key: \"lttvr7\" }],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"19\", cy: \"12\", r: \"1\", key: \"1wjl8i\" }],\n [\"circle\", { cx: \"5\", cy: \"12\", r: \"1\", key: \"1pcz8c\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }],\n [\"circle\", { cx: \"19\", cy: \"19\", r: \"1\", key: \"shf9b7\" }],\n [\"circle\", { cx: \"5\", cy: \"19\", r: \"1\", key: \"bfqh0e\" }]\n ];\n var Grip = createLucideIcon(\"grip\", __iconNode45);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/grip-vertical.js\n var __iconNode46 = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n ];\n var GripVertical = createLucideIcon(\"grip-vertical\", __iconNode46);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/hash.js\n var __iconNode47 = [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n ];\n var Hash = createLucideIcon(\"hash\", __iconNode47);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/heart.js\n var __iconNode48 = [\n [\n \"path\",\n {\n d: \"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\",\n key: \"mvr1a0\"\n }\n ]\n ];\n var Heart = createLucideIcon(\"heart\", __iconNode48);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/hexagon.js\n var __iconNode49 = [\n [\n \"path\",\n {\n d: \"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\",\n key: \"yt0hxn\"\n }\n ]\n ];\n var Hexagon = createLucideIcon(\"hexagon\", __iconNode49);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/house.js\n var __iconNode50 = [\n [\"path\", { d: \"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\", key: \"5wwlr5\" }],\n [\n \"path\",\n {\n d: \"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n key: \"r6nss1\"\n }\n ]\n ];\n var House = createLucideIcon(\"house\", __iconNode50);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/image.js\n var __iconNode51 = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }],\n [\"path\", { d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\", key: \"1xmnt7\" }]\n ];\n var Image2 = createLucideIcon(\"image\", __iconNode51);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/info.js\n var __iconNode52 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n ];\n var Info = createLucideIcon(\"info\", __iconNode52);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/key.js\n var __iconNode53 = [\n [\"path\", { d: \"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\", key: \"g0fldk\" }],\n [\"path\", { d: \"m21 2-9.6 9.6\", key: \"1j0ho8\" }],\n [\"circle\", { cx: \"7.5\", cy: \"15.5\", r: \"5.5\", key: \"yqb3hr\" }]\n ];\n var Key = createLucideIcon(\"key\", __iconNode53);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/link.js\n var __iconNode54 = [\n [\"path\", { d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\", key: \"1cjeqo\" }],\n [\"path\", { d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\", key: \"19qd67\" }]\n ];\n var Link = createLucideIcon(\"link\", __iconNode54);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/loader-circle.js\n var __iconNode55 = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]];\n var LoaderCircle = createLucideIcon(\"loader-circle\", __iconNode55);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/lock-open.js\n var __iconNode56 = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 9.9-1\", key: \"1mm8w8\" }]\n ];\n var LockOpen = createLucideIcon(\"lock-open\", __iconNode56);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/lock.js\n var __iconNode57 = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 10 0v4\", key: \"fwvmzm\" }]\n ];\n var Lock = createLucideIcon(\"lock\", __iconNode57);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/mail.js\n var __iconNode58 = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n ];\n var Mail = createLucideIcon(\"mail\", __iconNode58);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/map-pin.js\n var __iconNode59 = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n ];\n var MapPin = createLucideIcon(\"map-pin\", __iconNode59);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/menu.js\n var __iconNode60 = [\n [\"path\", { d: \"M4 5h16\", key: \"1tepv9\" }],\n [\"path\", { d: \"M4 12h16\", key: \"1lakjw\" }],\n [\"path\", { d: \"M4 19h16\", key: \"1djgab\" }]\n ];\n var Menu2 = createLucideIcon(\"menu\", __iconNode60);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/message-square.js\n var __iconNode61 = [\n [\n \"path\",\n {\n d: \"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\",\n key: \"18887p\"\n }\n ]\n ];\n var MessageSquare = createLucideIcon(\"message-square\", __iconNode61);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/mic.js\n var __iconNode62 = [\n [\"path\", { d: \"M12 19v3\", key: \"npa21l\" }],\n [\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\", key: \"1vc78b\" }],\n [\"rect\", { x: \"9\", y: \"2\", width: \"6\", height: \"13\", rx: \"3\", key: \"s6n7sd\" }]\n ];\n var Mic = createLucideIcon(\"mic\", __iconNode62);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/minus.js\n var __iconNode63 = [[\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }]];\n var Minus = createLucideIcon(\"minus\", __iconNode63);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/moon.js\n var __iconNode64 = [\n [\n \"path\",\n {\n d: \"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\",\n key: \"kfwtm\"\n }\n ]\n ];\n var Moon = createLucideIcon(\"moon\", __iconNode64);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/package.js\n var __iconNode65 = [\n [\n \"path\",\n {\n d: \"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\",\n key: \"1a0edw\"\n }\n ],\n [\"path\", { d: \"M12 22V12\", key: \"d0xqtd\" }],\n [\"polyline\", { points: \"3.29 7 12 12 20.71 7\", key: \"ousv84\" }],\n [\"path\", { d: \"m7.5 4.27 9 5.15\", key: \"1c824w\" }]\n ];\n var Package = createLucideIcon(\"package\", __iconNode65);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/paperclip.js\n var __iconNode66 = [\n [\n \"path\",\n {\n d: \"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\",\n key: \"1miecu\"\n }\n ]\n ];\n var Paperclip = createLucideIcon(\"paperclip\", __iconNode66);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/pause.js\n var __iconNode67 = [\n [\"rect\", { x: \"14\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"kaeet6\" }],\n [\"rect\", { x: \"5\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"1wsw3u\" }]\n ];\n var Pause = createLucideIcon(\"pause\", __iconNode67);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/phone.js\n var __iconNode68 = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n ];\n var Phone = createLucideIcon(\"phone\", __iconNode68);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/play.js\n var __iconNode69 = [\n [\n \"path\",\n {\n d: \"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\",\n key: \"10ikf1\"\n }\n ]\n ];\n var Play = createLucideIcon(\"play\", __iconNode69);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/plus.js\n var __iconNode70 = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n ];\n var Plus = createLucideIcon(\"plus\", __iconNode70);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/refresh-cw.js\n var __iconNode71 = [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n ];\n var RefreshCw = createLucideIcon(\"refresh-cw\", __iconNode71);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js\n var __iconNode72 = [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n ];\n var RotateCcw = createLucideIcon(\"rotate-ccw\", __iconNode72);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/search.js\n var __iconNode73 = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n ];\n var Search = createLucideIcon(\"search\", __iconNode73);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/send.js\n var __iconNode74 = [\n [\n \"path\",\n {\n d: \"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\",\n key: \"1ffxy3\"\n }\n ],\n [\"path\", { d: \"m21.854 2.147-10.94 10.939\", key: \"12cjpa\" }]\n ];\n var Send = createLucideIcon(\"send\", __iconNode74);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/server.js\n var __iconNode75 = [\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"2\", rx: \"2\", ry: \"2\", key: \"ngkwjq\" }],\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"14\", rx: \"2\", ry: \"2\", key: \"iecqi9\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"6\", y2: \"6\", key: \"16zg32\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"18\", y2: \"18\", key: \"nzw8ys\" }]\n ];\n var Server = createLucideIcon(\"server\", __iconNode75);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/settings.js\n var __iconNode76 = [\n [\n \"path\",\n {\n d: \"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\",\n key: \"1i5ecw\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n ];\n var Settings = createLucideIcon(\"settings\", __iconNode76);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/shield.js\n var __iconNode77 = [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ]\n ];\n var Shield = createLucideIcon(\"shield\", __iconNode77);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/square-pen.js\n var __iconNode78 = [\n [\"path\", { d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\", key: \"1m0v6g\" }],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n ];\n var SquarePen = createLucideIcon(\"square-pen\", __iconNode78);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/square.js\n var __iconNode79 = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }]\n ];\n var Square = createLucideIcon(\"square\", __iconNode79);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/star.js\n var __iconNode80 = [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n ];\n var Star = createLucideIcon(\"star\", __iconNode80);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/sun.js\n var __iconNode81 = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n ];\n var Sun = createLucideIcon(\"sun\", __iconNode81);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/tag.js\n var __iconNode82 = [\n [\n \"path\",\n {\n d: \"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\",\n key: \"vktsd0\"\n }\n ],\n [\"circle\", { cx: \"7.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"kqv944\" }]\n ];\n var Tag = createLucideIcon(\"tag\", __iconNode82);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/terminal.js\n var __iconNode83 = [\n [\"path\", { d: \"M12 19h8\", key: \"baeox8\" }],\n [\"path\", { d: \"m4 17 6-6-6-6\", key: \"1yngyt\" }]\n ];\n var Terminal = createLucideIcon(\"terminal\", __iconNode83);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/thermometer.js\n var __iconNode84 = [\n [\"path\", { d: \"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z\", key: \"17jzev\" }]\n ];\n var Thermometer = createLucideIcon(\"thermometer\", __iconNode84);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trash-2.js\n var __iconNode85 = [\n [\"path\", { d: \"M10 11v6\", key: \"nco0om\" }],\n [\"path\", { d: \"M14 11v6\", key: \"outv1u\" }],\n [\"path\", { d: \"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\", key: \"miytrc\" }],\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\", key: \"e791ji\" }]\n ];\n var Trash2 = createLucideIcon(\"trash-2\", __iconNode85);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trending-down.js\n var __iconNode86 = [\n [\"path\", { d: \"M16 17h6v-6\", key: \"t6n2it\" }],\n [\"path\", { d: \"m22 17-8.5-8.5-5 5L2 7\", key: \"x473p\" }]\n ];\n var TrendingDown = createLucideIcon(\"trending-down\", __iconNode86);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/trending-up.js\n var __iconNode87 = [\n [\"path\", { d: \"M16 7h6v6\", key: \"box55l\" }],\n [\"path\", { d: \"m22 7-8.5 8.5-5-5L2 17\", key: \"1t1m79\" }]\n ];\n var TrendingUp = createLucideIcon(\"trending-up\", __iconNode87);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/triangle-alert.js\n var __iconNode88 = [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n ];\n var TriangleAlert = createLucideIcon(\"triangle-alert\", __iconNode88);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/triangle.js\n var __iconNode89 = [\n [\n \"path\",\n { d: \"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\", key: \"14u9p9\" }\n ]\n ];\n var Triangle = createLucideIcon(\"triangle\", __iconNode89);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/upload.js\n var __iconNode90 = [\n [\"path\", { d: \"M12 3v12\", key: \"1x0j5s\" }],\n [\"path\", { d: \"m17 8-5-5-5 5\", key: \"7q97r8\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }]\n ];\n var Upload = createLucideIcon(\"upload\", __iconNode90);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/user.js\n var __iconNode91 = [\n [\"path\", { d: \"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\", key: \"975kel\" }],\n [\"circle\", { cx: \"12\", cy: \"7\", r: \"4\", key: \"17ys0d\" }]\n ];\n var User = createLucideIcon(\"user\", __iconNode91);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/users.js\n var __iconNode92 = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"path\", { d: \"M16 3.128a4 4 0 0 1 0 7.744\", key: \"16gr8j\" }],\n [\"path\", { d: \"M22 21v-2a4 4 0 0 0-3-3.87\", key: \"kshegd\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n ];\n var Users = createLucideIcon(\"users\", __iconNode92);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/video.js\n var __iconNode93 = [\n [\n \"path\",\n {\n d: \"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\",\n key: \"ftymec\"\n }\n ],\n [\"rect\", { x: \"2\", y: \"6\", width: \"14\", height: \"12\", rx: \"2\", key: \"158x01\" }]\n ];\n var Video = createLucideIcon(\"video\", __iconNode93);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/volume-2.js\n var __iconNode94 = [\n [\n \"path\",\n {\n d: \"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\n key: \"uqj9uw\"\n }\n ],\n [\"path\", { d: \"M16 9a5 5 0 0 1 0 6\", key: \"1q6k2b\" }],\n [\"path\", { d: \"M19.364 18.364a9 9 0 0 0 0-12.728\", key: \"ijwkga\" }]\n ];\n var Volume2 = createLucideIcon(\"volume-2\", __iconNode94);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/volume-x.js\n var __iconNode95 = [\n [\n \"path\",\n {\n d: \"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\n key: \"uqj9uw\"\n }\n ],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"9\", y2: \"15\", key: \"1ewh16\" }],\n [\"line\", { x1: \"16\", x2: \"22\", y1: \"9\", y2: \"15\", key: \"5ykzw1\" }]\n ];\n var VolumeX = createLucideIcon(\"volume-x\", __iconNode95);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/wifi-off.js\n var __iconNode96 = [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 5.17-2.69\", key: \"1dl1wf\" }],\n [\"path\", { d: \"M19 12.859a10 10 0 0 0-2.007-1.523\", key: \"4k23kn\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 4.177-2.643\", key: \"1grhjp\" }],\n [\"path\", { d: \"M22 8.82a15 15 0 0 0-11.288-3.764\", key: \"z3jwby\" }],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n ];\n var WifiOff = createLucideIcon(\"wifi-off\", __iconNode96);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/wifi.js\n var __iconNode97 = [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 20 0\", key: \"dnpr2z\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 14 0\", key: \"1x1e6c\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }]\n ];\n var Wifi = createLucideIcon(\"wifi\", __iconNode97);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/x.js\n var __iconNode98 = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n ];\n var X = createLucideIcon(\"x\", __iconNode98);\n\n // ../../../node_modules/.bun/lucide-react@1.8.0+3f10a4be4e334a9b/node_modules/lucide-react/dist/esm/icons/zap.js\n var __iconNode99 = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n ];\n var Zap = createLucideIcon(\"zap\", __iconNode99);\n\n // ../../react/src/components/accordion.tsx\n var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);\n function Accordion2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(dist_exports2.Root, { \"data-slot\": \"accordion\", ...props });\n }\n function AccordionItem2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\n dist_exports2.Item,\n {\n \"data-slot\": \"accordion-item\",\n className: cn(\"border-b last:border-b-0\", className),\n ...props\n }\n );\n }\n function AccordionTrigger2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(dist_exports2.Header, { className: \"flex\", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(\n dist_exports2.Trigger,\n {\n \"data-slot\": \"accordion-trigger\",\n className: cn(\n \"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronDown, { className: \"pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200\" })\n ]\n }\n ) });\n }\n function AccordionContent2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\n dist_exports2.Content,\n {\n \"data-slot\": \"accordion-content\",\n className: \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(\"div\", { className: cn(\"pt-0 pb-4\", className), children })\n }\n );\n }\n\n // ../../react/src/components/scroll-area.tsx\n var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);\n function ScrollArea2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(\n dist_exports16.Root,\n {\n \"data-slot\": \"scroll-area\",\n className: cn(\"relative\", className),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.Viewport,\n {\n \"data-slot\": \"scroll-area-viewport\",\n className: \"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\",\n children\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollBar, {}),\n /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(dist_exports16.Corner, {})\n ]\n }\n );\n }\n function ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.ScrollAreaScrollbar,\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n className: cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(\n dist_exports16.ScrollAreaThumb,\n {\n \"data-slot\": \"scroll-area-thumb\",\n className: \"relative flex-1 rounded-full bg-border\"\n }\n )\n }\n );\n }\n\n // ../../react/src/components/dialog.tsx\n var React61 = __toESM(require_react(), 1);\n\n // ../../react/src/lib/compose-refs.ts\n var React60 = __toESM(require_react(), 1);\n var composedRefCallback = (outer, local) => (node) => {\n local.current = node;\n if (typeof outer === \"function\") {\n const cleanup = outer(node);\n if (typeof cleanup === \"function\") {\n return () => {\n local.current = null;\n cleanup();\n };\n }\n return void 0;\n }\n if (outer) outer.current = node;\n return void 0;\n };\n var useComposedRef = (outer, local) => React60.useMemo(() => composedRefCallback(outer, local), [outer, local]);\n\n // ../../react/src/lib/outside-dismiss.ts\n var PORTALED_POPUP_SELECTOR = \"[data-slot='combobox-content'],[data-slot='select-content']\";\n var isInsidePortaledPopup = (target) => typeof Element !== \"undefined\" && target instanceof Element && target.closest(PORTALED_POPUP_SELECTOR) !== null;\n var FORM_FIELD_SELECTOR = [\n \"input\",\n \"textarea\",\n \"select\",\n \"[contenteditable]:not([contenteditable='false'])\",\n \"[role='checkbox']\",\n \"[role='combobox']\",\n \"[role='listbox']\",\n \"[role='radio']\",\n \"[role='searchbox']\",\n \"[role='slider']\",\n \"[role='spinbutton']\",\n \"[role='switch']\",\n \"[role='textbox']\"\n ].join(\",\");\n var containsFormField = (surface) => surface !== null && surface.querySelector(FORM_FIELD_SELECTOR) !== null;\n var dismissesOnOutsideInteraction = (input2) => !input2.insidePortaledPopup && (input2.dismissOnOutsideClick ?? !input2.containsFormField);\n var applyOutsideDismissPolicy = (event, dismissOnOutsideClick, surface) => {\n const dismisses = surface !== null && dismissesOnOutsideInteraction({\n dismissOnOutsideClick,\n insidePortaledPopup: isInsidePortaledPopup(event.detail.originalEvent.target),\n containsFormField: containsFormField(surface)\n });\n if (!dismisses) event.preventDefault();\n };\n\n // ../../react/src/components/spinner.tsx\n var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);\n function Spinner({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(\n LoaderCircle,\n {\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: cn(\"size-4 animate-spin\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/button.tsx\n var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);\n var buttonVariants = cva(\n \"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40\",\n outline: \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n xs: \"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8\",\n \"icon-lg\": \"size-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n );\n function Button({\n className,\n variant = \"default\",\n size: size4 = \"default\",\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n }) {\n const Comp = asChild ? dist_exports.Root : \"button\";\n const showLoading = loading && !asChild;\n return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\n Comp,\n {\n \"data-slot\": \"button\",\n \"data-variant\": variant,\n \"data-size\": size4,\n \"data-loading\": showLoading ? \"\" : void 0,\n className: cn(buttonVariants({ variant, size: size4, className }), showLoading && \"relative\"),\n disabled: disabled || loading,\n ...props,\n children: showLoading ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\"span\", { className: \"invisible\", children }),\n /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(\"span\", { className: \"absolute inset-0 flex items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Spinner, { className: \"size-3.5\" }) })\n ] }) : children\n }\n );\n }\n\n // ../../react/src/components/dialog.tsx\n var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);\n function Dialog2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Root, { \"data-slot\": \"dialog\", ...props });\n }\n function DialogTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Trigger, { \"data-slot\": \"dialog-trigger\", ...props });\n }\n function DialogPortal2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Portal, { \"data-slot\": \"dialog-portal\", ...props });\n }\n function DialogClose2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Close, { \"data-slot\": \"dialog-close\", ...props });\n }\n function DialogOverlay2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Overlay,\n {\n \"data-slot\": \"dialog-overlay\",\n className: cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n ),\n ...props\n }\n );\n }\n function DialogContent2({\n className,\n children,\n showCloseButton = true,\n dismissOnOutsideClick,\n onInteractOutside,\n onPointerDownOutside,\n forceOverlay = false,\n ref,\n ...props\n }) {\n const contentRef = React61.useRef(null);\n const composedRef = useComposedRef(ref, contentRef);\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(DialogPortal2, { \"data-slot\": \"dialog-portal\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DialogOverlay2, {}),\n forceOverlay ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\"div\", { \"aria-hidden\": true, \"data-slot\": \"dialog-overlay\", className: \"fixed inset-0 z-50 bg-black/50\" }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n dist_exports4.Content,\n {\n \"data-slot\": \"dialog-content\",\n ref: composedRef,\n onPointerDownOutside: (event) => {\n onPointerDownOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick, contentRef.current);\n },\n onInteractOutside: (event) => {\n onInteractOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick, contentRef.current);\n },\n className: cn(\n \"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg\",\n className\n ),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n dist_exports4.Close,\n {\n \"data-slot\": \"dialog-close\",\n className: \"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(X, {}),\n /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\"span\", { className: \"sr-only\", children: \"Close\" })\n ]\n }\n )\n ]\n }\n )\n ] });\n }\n function DialogHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n \"div\",\n {\n \"data-slot\": \"dialog-header\",\n className: cn(\"flex flex-col gap-2 text-center sm:text-left\", className),\n ...props\n }\n );\n }\n function DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(\n \"div\",\n {\n \"data-slot\": \"dialog-footer\",\n className: cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(dist_exports4.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Button, { variant: \"outline\", children: \"Close\" }) })\n ]\n }\n );\n }\n function DialogTitle2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Title,\n {\n \"data-slot\": \"dialog-title\",\n className: cn(\"text-lg leading-none font-semibold\", className),\n ...props\n }\n );\n }\n function DialogDescription2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(\n dist_exports4.Description,\n {\n \"data-slot\": \"dialog-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/sheet.tsx\n var React62 = __toESM(require_react(), 1);\n var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);\n function Sheet({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Root, { \"data-slot\": \"sheet\", ...props });\n }\n function SheetTrigger({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Trigger, { \"data-slot\": \"sheet-trigger\", ...props });\n }\n function SheetClose({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Close, { \"data-slot\": \"sheet-close\", ...props });\n }\n function SheetPortal({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(dist_exports4.Portal, { \"data-slot\": \"sheet-portal\", ...props });\n }\n function SheetOverlay({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Overlay,\n {\n \"data-slot\": \"sheet-overlay\",\n className: cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n ),\n ...props\n }\n );\n }\n function SheetContent({\n className,\n children,\n side = \"right\",\n showCloseButton = true,\n dismissOnOutsideClick,\n onInteractOutside,\n onPointerDownOutside,\n ref,\n ...props\n }) {\n const contentRef = React62.useRef(null);\n const composedRef = useComposedRef(ref, contentRef);\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(SheetPortal, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SheetOverlay, {}),\n /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(\n dist_exports4.Content,\n {\n \"data-slot\": \"sheet-content\",\n ref: composedRef,\n onPointerDownOutside: (event) => {\n onPointerDownOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick, contentRef.current);\n },\n onInteractOutside: (event) => {\n onInteractOutside?.(event);\n applyOutsideDismissPolicy(event, dismissOnOutsideClick, contentRef.current);\n },\n className: cn(\n \"fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500\",\n side === \"right\" && \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n side === \"left\" && \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n side === \"top\" && \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n side === \"bottom\" && \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n className\n ),\n ...props,\n children: [\n children,\n showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(dist_exports4.Close, { className: \"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(X, { className: \"size-4\" }),\n /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\"span\", { className: \"sr-only\", children: \"Close\" })\n ] })\n ]\n }\n )\n ] });\n }\n function SheetHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n \"div\",\n {\n \"data-slot\": \"sheet-header\",\n className: cn(\"flex flex-col gap-1.5 p-4\", className),\n ...props\n }\n );\n }\n function SheetFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n \"div\",\n {\n \"data-slot\": \"sheet-footer\",\n className: cn(\"mt-auto flex flex-col gap-2 p-4\", className),\n ...props\n }\n );\n }\n function SheetTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Title,\n {\n \"data-slot\": \"sheet-title\",\n className: cn(\"font-semibold text-foreground\", className),\n ...props\n }\n );\n }\n function SheetDescription({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(\n dist_exports4.Description,\n {\n \"data-slot\": \"sheet-description\",\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/popover.tsx\n var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);\n function Popover2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Root, { \"data-slot\": \"popover\", ...props });\n }\n function PopoverTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Trigger, { \"data-slot\": \"popover-trigger\", ...props });\n }\n function PopoverContent2({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(\n dist_exports13.Content,\n {\n \"data-slot\": \"popover-content\",\n align,\n sideOffset,\n className: cn(\n \"z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n ) });\n }\n function PopoverAnchor2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(dist_exports13.Anchor, { \"data-slot\": \"popover-anchor\", ...props });\n }\n\n // ../../react/src/components/tooltip.tsx\n var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);\n function TooltipProvider2({\n delayDuration = 0,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(\n dist_exports24.Provider,\n {\n \"data-slot\": \"tooltip-provider\",\n delayDuration,\n ...props\n }\n );\n }\n function Tooltip2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Root, { \"data-slot\": \"tooltip\", ...props });\n }\n function TooltipTrigger2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Trigger, { \"data-slot\": \"tooltip-trigger\", ...props });\n }\n function TooltipContent2({\n className,\n sideOffset = 0,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(\n dist_exports24.Content,\n {\n \"data-slot\": \"tooltip-content\",\n sideOffset,\n className: cn(\n \"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(dist_exports24.Arrow, { className: \"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" })\n ]\n }\n ) });\n }\n\n // ../../react/src/components/dropdown-menu.tsx\n var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);\n function DropdownMenu2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Root, { \"data-slot\": \"dropdown-menu\", ...props });\n }\n function DropdownMenuTrigger2({\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Trigger, { \"data-slot\": \"dropdown-menu-trigger\", ...props });\n }\n function DropdownMenuContent2({\n className,\n sideOffset = 4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Content,\n {\n \"data-slot\": \"dropdown-menu-content\",\n sideOffset,\n className: cn(\n \"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n ) });\n }\n function DropdownMenuGroup2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Group, { \"data-slot\": \"dropdown-menu-group\", ...props });\n }\n function DropdownMenuItem2({\n className,\n inset,\n variant = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Item,\n {\n \"data-slot\": \"dropdown-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!\",\n className\n ),\n ...props\n }\n );\n }\n function DropdownMenuCheckboxItem2({\n className,\n children,\n checked,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.CheckboxItem,\n {\n \"data-slot\": \"dropdown-menu-checkbox-item\",\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n checked,\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Check, { className: \"size-4\" }) }) }),\n children\n ]\n }\n );\n }\n function DropdownMenuRadioGroup2({\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.RadioGroup, { \"data-slot\": \"dropdown-menu-radio-group\", ...props });\n }\n function DropdownMenuRadioItem2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.RadioItem,\n {\n \"data-slot\": \"dropdown-menu-radio-item\",\n className: cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\"span\", { className: \"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Circle, { className: \"size-2 fill-current\" }) }) }),\n children\n ]\n }\n );\n }\n function DropdownMenuLabel2({\n className,\n inset,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Label,\n {\n \"data-slot\": \"dropdown-menu-label\",\n \"data-inset\": inset,\n className: cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className),\n ...props\n }\n );\n }\n function DropdownMenuSeparator2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.Separator,\n {\n \"data-slot\": \"dropdown-menu-separator\",\n className: cn(\"-mx-1 my-1 h-px bg-border\", className),\n ...props\n }\n );\n }\n function DropdownMenuSub2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(dist_exports10.Sub, { \"data-slot\": \"dropdown-menu-sub\", ...props });\n }\n function DropdownMenuSubTrigger2({\n className,\n inset,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(\n dist_exports10.SubTrigger,\n {\n \"data-slot\": \"dropdown-menu-sub-trigger\",\n \"data-inset\": inset,\n className: cn(\n \"flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ChevronRight, { className: \"ml-auto size-4\" })\n ]\n }\n );\n }\n function DropdownMenuSubContent2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(\n dist_exports10.SubContent,\n {\n \"data-slot\": \"dropdown-menu-sub-content\",\n className: cn(\n \"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/input.tsx\n var import_jsx_runtime49 = (\n // oxlint-disable-next-line react/forbid-elements\n __toESM(require_jsx_runtime(), 1)\n );\n function Input({ className, type, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(\n \"input\",\n {\n type,\n \"data-slot\": \"input\",\n className: cn(\n \"h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/textarea.tsx\n var import_jsx_runtime50 = (\n // oxlint-disable-next-line react/forbid-elements\n __toESM(require_jsx_runtime(), 1)\n );\n function Textarea({\n className,\n maxRows,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(\n \"textarea\",\n {\n \"data-slot\": \"textarea\",\n className: cn(\n \"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props,\n style: { maxHeight: maxRows ? `${maxRows * 1.5}rem` : void 0 }\n }\n );\n }\n\n // ../../react/src/components/label.tsx\n var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);\n function Label5({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(\n dist_exports12.Root,\n {\n \"data-slot\": \"label\",\n className: cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/select.tsx\n var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);\n var SelectPrimitiveTrigger = dist_exports17.Trigger;\n function Select2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Root, { \"data-slot\": \"select\", ...props });\n }\n function SelectGroup2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Group, { \"data-slot\": \"select-group\", ...props });\n }\n function SelectValue2({ ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Value, { \"data-slot\": \"select-value\", ...props });\n }\n function SelectTrigger2({\n className,\n size: size4 = \"default\",\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Trigger,\n {\n \"data-slot\": \"select-trigger\",\n \"data-size\": size4,\n className: cn(\n \"flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronDown, { className: \"size-4 opacity-50\" }) })\n ]\n }\n );\n }\n function SelectContent2({\n className,\n children,\n position: position2 = \"item-aligned\",\n align = \"center\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Content,\n {\n \"data-slot\": \"select-content\",\n className: cn(\n \"relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n position2 === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n ),\n position: position2,\n align,\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectScrollUpButton2, {}),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.Viewport,\n {\n className: cn(\n \"p-1\",\n position2 === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n ),\n children\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectScrollDownButton2, {})\n ]\n }\n ) });\n }\n function SelectLabel2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.Label,\n {\n \"data-slot\": \"select-label\",\n className: cn(\"px-2 py-1.5 text-xs text-muted-foreground\", className),\n ...props\n }\n );\n }\n function SelectItem2({\n className,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(\n dist_exports17.Item,\n {\n \"data-slot\": \"select-item\",\n className: cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n \"span\",\n {\n \"data-slot\": \"select-item-indicator\",\n className: \"absolute right-2 flex size-3.5 items-center justify-center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Check, { className: \"size-4\" }) })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(dist_exports17.ItemText, { children })\n ]\n }\n );\n }\n function SelectScrollUpButton2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.ScrollUpButton,\n {\n \"data-slot\": \"select-scroll-up-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronUp, { className: \"size-4\" })\n }\n );\n }\n function SelectScrollDownButton2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(\n dist_exports17.ScrollDownButton,\n {\n \"data-slot\": \"select-scroll-down-button\",\n className: cn(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ChevronDown, { className: \"size-4\" })\n }\n );\n }\n\n // ../../react/src/components/checkbox.tsx\n var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);\n function Checkbox2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(\n dist_exports6.Root,\n {\n \"data-slot\": \"checkbox\",\n className: cn(\n \"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(\n dist_exports6.Indicator,\n {\n \"data-slot\": \"checkbox-indicator\",\n className: \"grid place-content-center text-current transition-none\",\n children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Check, { className: \"size-3.5\" })\n }\n )\n }\n );\n }\n\n // ../../react/src/components/radio-group.tsx\n var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);\n function RadioGroup4({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Root,\n {\n \"data-slot\": \"radio-group\",\n className: cn(\"grid gap-3\", className),\n ...props\n }\n );\n }\n function RadioGroupItem2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Item,\n {\n \"data-slot\": \"radio-group-item\",\n className: cn(\n \"aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(\n dist_exports15.Indicator,\n {\n \"data-slot\": \"radio-group-indicator\",\n className: \"relative flex items-center justify-center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Circle, { className: \"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-primary\" })\n }\n )\n }\n );\n }\n\n // ../../react/src/components/switch.tsx\n var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);\n function Switch2({\n className,\n size: size4 = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(\n dist_exports20.Root,\n {\n \"data-slot\": \"switch\",\n \"data-size\": size4,\n className: cn(\n \"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(\n dist_exports20.Thumb,\n {\n \"data-slot\": \"switch-thumb\",\n className: cn(\n \"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n )\n }\n )\n }\n );\n }\n\n // ../../react/src/components/slider.tsx\n var React63 = __toESM(require_react(), 1);\n var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);\n function Slider2({\n className,\n defaultValue,\n value,\n min: min3 = 0,\n max: max3 = 100,\n ...props\n }) {\n const _values = React63.useMemo(\n () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min3, max3],\n [value, defaultValue, min3, max3]\n );\n return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(\n dist_exports19.Root,\n {\n \"data-slot\": \"slider\",\n defaultValue,\n value,\n min: min3,\n max: max3,\n className: cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Track,\n {\n \"data-slot\": \"slider-track\",\n className: cn(\n \"relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\"\n ),\n children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Range,\n {\n \"data-slot\": \"slider-range\",\n className: cn(\n \"absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n )\n }\n )\n }\n ),\n Array.from({ length: _values.length }, (_, index2) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(\n dist_exports19.Thumb,\n {\n \"data-slot\": \"slider-thumb\",\n className: \"block size-4 shrink-0 rounded-full border border-primary bg-white shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n },\n index2\n ))\n ]\n }\n );\n }\n\n // ../../react/src/components/toggle.tsx\n var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);\n var toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground\"\n },\n size: {\n default: \"h-9 min-w-9 px-2\",\n sm: \"h-8 min-w-8 px-1.5\",\n lg: \"h-10 min-w-10 px-2.5\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n );\n function Toggle2({\n className,\n variant,\n size: size4,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(\n dist_exports22.Root,\n {\n \"data-slot\": \"toggle\",\n className: cn(toggleVariants({ variant, size: size4, className })),\n ...props\n }\n );\n }\n\n // ../../react/src/components/toggle-group.tsx\n var React64 = __toESM(require_react(), 1);\n var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);\n var ToggleGroupContext2 = React64.createContext({\n size: \"default\",\n variant: \"default\",\n spacing: 0\n });\n function ToggleGroup2({\n className,\n variant,\n size: size4,\n spacing = 0,\n children,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(\n dist_exports23.Root,\n {\n \"data-slot\": \"toggle-group\",\n \"data-variant\": variant,\n \"data-size\": size4,\n \"data-spacing\": spacing,\n style: { \"--gap\": spacing },\n className: cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ToggleGroupContext2.Provider, { value: { variant, size: size4, spacing }, children })\n }\n );\n }\n function ToggleGroupItem2({\n className,\n children,\n variant,\n size: size4,\n ...props\n }) {\n const context = React64.useContext(ToggleGroupContext2);\n return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(\n dist_exports23.Item,\n {\n \"data-slot\": \"toggle-group-item\",\n \"data-variant\": context.variant || variant,\n \"data-size\": context.size || size4,\n \"data-spacing\": context.spacing,\n className: cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size4\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l\",\n className\n ),\n ...props,\n children\n }\n );\n }\n\n // ../../react/src/components/table.tsx\n var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);\n function Table({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\"div\", { \"data-slot\": \"table-container\", className: \"relative w-full overflow-x-auto\", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"table\",\n {\n \"data-slot\": \"table\",\n className: cn(\"w-full caption-bottom text-sm\", className),\n ...props\n }\n ) });\n }\n function TableHeader({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\"thead\", { \"data-slot\": \"table-header\", className: cn(\"[&_tr]:border-b\", className), ...props });\n }\n function TableBody({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tbody\",\n {\n \"data-slot\": \"table-body\",\n className: cn(\"[&_tr:last-child]:border-0\", className),\n ...props\n }\n );\n }\n function TableFooter({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tfoot\",\n {\n \"data-slot\": \"table-footer\",\n className: cn(\"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\", className),\n ...props\n }\n );\n }\n function TableRow({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"tr\",\n {\n \"data-slot\": \"table-row\",\n className: cn(\n \"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n ),\n ...props\n }\n );\n }\n function TableHead({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"th\",\n {\n \"data-slot\": \"table-head\",\n className: cn(\n \"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n ),\n ...props\n }\n );\n }\n function TableCell({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"td\",\n {\n \"data-slot\": \"table-cell\",\n className: cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n ),\n ...props\n }\n );\n }\n function TableCaption({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(\n \"caption\",\n {\n \"data-slot\": \"table-caption\",\n className: cn(\"mt-4 text-sm text-muted-foreground\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/badge.tsx\n var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);\n var badgeVariants = cva(\n \"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary: \"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive: \"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90\",\n outline: \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost: \"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 [a&]:hover:underline\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n }) {\n const Comp = asChild ? dist_exports.Root : \"span\";\n return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(\n Comp,\n {\n \"data-slot\": \"badge\",\n \"data-variant\": variant,\n className: cn(badgeVariants({ variant }), className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/avatar.tsx\n var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);\n function Avatar2({\n className,\n size: size4 = \"default\",\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Root,\n {\n \"data-slot\": \"avatar\",\n \"data-size\": size4,\n className: cn(\n \"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6\",\n className\n ),\n ...props\n }\n );\n }\n function AvatarImage2({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Image,\n {\n \"data-slot\": \"avatar-image\",\n className: cn(\"aspect-square size-full\", className),\n ...props\n }\n );\n }\n function AvatarFallback2({\n className,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(\n dist_exports5.Fallback,\n {\n \"data-slot\": \"avatar-fallback\",\n className: cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs\",\n className\n ),\n ...props\n }\n );\n }\n\n // ../../react/src/components/progress.tsx\n var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);\n function Progress2({\n className,\n value,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(\n dist_exports14.Root,\n {\n \"data-slot\": \"progress\",\n className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className),\n ...props,\n children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(\n dist_exports14.Indicator,\n {\n \"data-slot\": \"progress-indicator\",\n className: \"h-full w-full flex-1 bg-primary transition-all\",\n style: { transform: `translateX(-${100 - (value || 0)}%)` }\n }\n )\n }\n );\n }\n\n // ../../react/src/components/skeleton.tsx\n var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);\n function Skeleton({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(\n \"div\",\n {\n \"data-slot\": \"skeleton\",\n className: cn(\"animate-pulse rounded-md bg-accent\", className),\n ...props\n }\n );\n }\n\n // ../../react/src/components/alert.tsx\n var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);\n var alertVariants = cva(\n \"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive: \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n function Alert({\n className,\n variant,\n ...props\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert\",\n role: \"alert\",\n className: cn(alertVariants({ variant }), className),\n ...props\n }\n );\n }\n function AlertTitle({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert-title\",\n className: cn(\"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\", className),\n ...props\n }\n );\n }\n function AlertDescription({ className, ...props }) {\n return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(\n \"div\",\n {\n \"data-slot\": \"alert-description\",\n className: cn(\n \"col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed\",\n className\n ),\n ...props\n }\n );\n }\n\n // src/shell/artifact-states.tsx\n var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);\n function ArtifactLoading({\n variant = \"list\",\n rows = 4,\n label,\n className\n }) {\n const count3 = Math.max(1, Math.min(rows, 12));\n const items = Array.from({ length: count3 }, (_, index2) => index2);\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n \"data-slot\": \"artifact-loading\",\n \"data-variant\": variant,\n \"aria-busy\": \"true\",\n className: cn(\"w-full\", className),\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mb-3 font-mono text-[11px] tracking-[0.08em] text-muted-foreground uppercase\", children: label }),\n variant === \"cards\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\n \"div\",\n {\n className: \"grid gap-3\",\n style: { gridTemplateColumns: `repeat(${Math.min(count3, 4)}, minmax(0, 1fr))` },\n children: items.slice(0, 4).map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"rounded-lg border border-border p-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-20\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"mt-3 h-6 w-16\" })\n ] }, index2))\n }\n ),\n variant === \"chart\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"rounded-lg border border-border p-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-28\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"mt-4 h-48 w-full\" })\n ] }),\n variant === \"table\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\"div\", { className: \"overflow-hidden rounded-lg border border-border\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"border-b border-border px-4 py-2.5\", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-24\" }) }),\n items.map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-4 border-b border-border px-4 py-3 last:border-b-0\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-1/3\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-3 w-1/5\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"ml-auto h-3 w-12\" })\n ]\n },\n index2\n ))\n ] }),\n variant === \"list\" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"space-y-2.5\", children: items.map((index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Skeleton, { className: \"h-4\", style: { width: `${92 - index2 * 9}%` } }, index2)) })\n ]\n }\n );\n }\n function ArtifactEmpty({\n title = \"Nothing to show\",\n description,\n action,\n className\n }) {\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(\n \"div\",\n {\n \"data-slot\": \"artifact-empty\",\n className: cn(\n \"flex flex-col items-center justify-center rounded-lg border border-border px-6 py-10 text-center\",\n className\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"text-sm font-medium text-foreground\", children: title }),\n description && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mt-1.5 max-w-sm text-sm text-muted-foreground\", children: description }),\n action && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"div\", { className: \"mt-4\", children: action })\n ]\n }\n );\n }\n var messageOf = (error) => {\n if (typeof error === \"string\") return error;\n if (error instanceof Error) return error.message;\n if (typeof error === \"object\" && error !== null) {\n const record = error;\n if (typeof record.message === \"string\") return record.message;\n if (typeof record.error?.message === \"string\") return record.error.message;\n }\n return \"Unknown error\";\n };\n function ArtifactError({\n error,\n title = \"Couldn't load this\",\n hint,\n onRetry,\n className\n }) {\n const message = messageOf(error);\n const fallbackHint = onRetry ? \"Retry, or check the integration is still connected.\" : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Alert, { \"data-slot\": \"artifact-error\", variant: \"destructive\", className: cn(className), children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CircleAlert, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AlertTitle, { children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(AlertDescription, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"span\", { className: \"font-mono text-xs break-words\", children: message }),\n (hint ?? fallbackHint) && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\"span\", { className: \"mt-1.5 block text-xs text-muted-foreground\", children: hint ?? fallbackHint }),\n onRetry && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(\n Button,\n {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n onClick: onRetry,\n className: \"mt-2.5 h-7 px-2.5 text-xs\",\n children: \"Retry\"\n }\n )\n ] })\n ] });\n }\n\n // ../../react/src/components/chart.tsx\n var React135 = __toESM(require_react(), 1);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Surface.js\n var React65 = __toESM(require_react());\n var import_react13 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesAndEvents.js\n var import_react12 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/excludeEventProps.js\n var EventKeys = [\"dangerouslySetInnerHTML\", \"onCopy\", \"onCopyCapture\", \"onCut\", \"onCutCapture\", \"onPaste\", \"onPasteCapture\", \"onCompositionEnd\", \"onCompositionEndCapture\", \"onCompositionStart\", \"onCompositionStartCapture\", \"onCompositionUpdate\", \"onCompositionUpdateCapture\", \"onFocus\", \"onFocusCapture\", \"onBlur\", \"onBlurCapture\", \"onChange\", \"onChangeCapture\", \"onBeforeInput\", \"onBeforeInputCapture\", \"onInput\", \"onInputCapture\", \"onReset\", \"onResetCapture\", \"onSubmit\", \"onSubmitCapture\", \"onInvalid\", \"onInvalidCapture\", \"onLoad\", \"onLoadCapture\", \"onError\", \"onErrorCapture\", \"onKeyDown\", \"onKeyDownCapture\", \"onKeyPress\", \"onKeyPressCapture\", \"onKeyUp\", \"onKeyUpCapture\", \"onAbort\", \"onAbortCapture\", \"onCanPlay\", \"onCanPlayCapture\", \"onCanPlayThrough\", \"onCanPlayThroughCapture\", \"onDurationChange\", \"onDurationChangeCapture\", \"onEmptied\", \"onEmptiedCapture\", \"onEncrypted\", \"onEncryptedCapture\", \"onEnded\", \"onEndedCapture\", \"onLoadedData\", \"onLoadedDataCapture\", \"onLoadedMetadata\", \"onLoadedMetadataCapture\", \"onLoadStart\", \"onLoadStartCapture\", \"onPause\", \"onPauseCapture\", \"onPlay\", \"onPlayCapture\", \"onPlaying\", \"onPlayingCapture\", \"onProgress\", \"onProgressCapture\", \"onRateChange\", \"onRateChangeCapture\", \"onSeeked\", \"onSeekedCapture\", \"onSeeking\", \"onSeekingCapture\", \"onStalled\", \"onStalledCapture\", \"onSuspend\", \"onSuspendCapture\", \"onTimeUpdate\", \"onTimeUpdateCapture\", \"onVolumeChange\", \"onVolumeChangeCapture\", \"onWaiting\", \"onWaitingCapture\", \"onAuxClick\", \"onAuxClickCapture\", \"onClick\", \"onClickCapture\", \"onContextMenu\", \"onContextMenuCapture\", \"onDoubleClick\", \"onDoubleClickCapture\", \"onDrag\", \"onDragCapture\", \"onDragEnd\", \"onDragEndCapture\", \"onDragEnter\", \"onDragEnterCapture\", \"onDragExit\", \"onDragExitCapture\", \"onDragLeave\", \"onDragLeaveCapture\", \"onDragOver\", \"onDragOverCapture\", \"onDragStart\", \"onDragStartCapture\", \"onDrop\", \"onDropCapture\", \"onMouseDown\", \"onMouseDownCapture\", \"onMouseEnter\", \"onMouseLeave\", \"onMouseMove\", \"onMouseMoveCapture\", \"onMouseOut\", \"onMouseOutCapture\", \"onMouseOver\", \"onMouseOverCapture\", \"onMouseUp\", \"onMouseUpCapture\", \"onSelect\", \"onSelectCapture\", \"onTouchCancel\", \"onTouchCancelCapture\", \"onTouchEnd\", \"onTouchEndCapture\", \"onTouchMove\", \"onTouchMoveCapture\", \"onTouchStart\", \"onTouchStartCapture\", \"onPointerDown\", \"onPointerDownCapture\", \"onPointerMove\", \"onPointerMoveCapture\", \"onPointerUp\", \"onPointerUpCapture\", \"onPointerCancel\", \"onPointerCancelCapture\", \"onPointerEnter\", \"onPointerEnterCapture\", \"onPointerLeave\", \"onPointerLeaveCapture\", \"onPointerOver\", \"onPointerOverCapture\", \"onPointerOut\", \"onPointerOutCapture\", \"onGotPointerCapture\", \"onGotPointerCaptureCapture\", \"onLostPointerCapture\", \"onLostPointerCaptureCapture\", \"onScroll\", \"onScrollCapture\", \"onWheel\", \"onWheelCapture\", \"onAnimationStart\", \"onAnimationStartCapture\", \"onAnimationEnd\", \"onAnimationEndCapture\", \"onAnimationIteration\", \"onAnimationIterationCapture\", \"onTransitionEnd\", \"onTransitionEndCapture\"];\n function isEventKey(key) {\n if (typeof key !== \"string\") {\n return false;\n }\n var allowedEventKeys = EventKeys;\n return allowedEventKeys.includes(key);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesNoEvents.js\n var import_react11 = __toESM(require_react());\n var SVGElementPropKeys = [\n \"aria-activedescendant\",\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-checked\",\n \"aria-colcount\",\n \"aria-colindex\",\n \"aria-colspan\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-level\",\n \"aria-live\",\n \"aria-modal\",\n \"aria-multiline\",\n \"aria-multiselectable\",\n \"aria-orientation\",\n \"aria-owns\",\n \"aria-placeholder\",\n \"aria-posinset\",\n \"aria-pressed\",\n \"aria-readonly\",\n \"aria-relevant\",\n \"aria-required\",\n \"aria-roledescription\",\n \"aria-rowcount\",\n \"aria-rowindex\",\n \"aria-rowspan\",\n \"aria-selected\",\n \"aria-setsize\",\n \"aria-sort\",\n \"aria-valuemax\",\n \"aria-valuemin\",\n \"aria-valuenow\",\n \"aria-valuetext\",\n \"className\",\n \"color\",\n \"height\",\n \"id\",\n \"lang\",\n \"max\",\n \"media\",\n \"method\",\n \"min\",\n \"name\",\n \"style\",\n /*\n * removed 'type' SVGElementPropKey because we do not currently use any SVG elements\n * that can use it, and it conflicts with the recharts prop 'type'\n * https://github.com/recharts/recharts/pull/3327\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type\n */\n // 'type',\n \"target\",\n \"width\",\n \"role\",\n \"tabIndex\",\n \"accentHeight\",\n \"accumulate\",\n \"additive\",\n \"alignmentBaseline\",\n \"allowReorder\",\n \"alphabetic\",\n \"amplitude\",\n \"arabicForm\",\n \"ascent\",\n \"attributeName\",\n \"attributeType\",\n \"autoReverse\",\n \"azimuth\",\n \"baseFrequency\",\n \"baselineShift\",\n \"baseProfile\",\n \"bbox\",\n \"begin\",\n \"bias\",\n \"by\",\n \"calcMode\",\n \"capHeight\",\n \"clip\",\n \"clipPath\",\n \"clipPathUnits\",\n \"clipRule\",\n \"colorInterpolation\",\n \"colorInterpolationFilters\",\n \"colorProfile\",\n \"colorRendering\",\n \"contentScriptType\",\n \"contentStyleType\",\n \"cursor\",\n \"cx\",\n \"cy\",\n \"d\",\n \"decelerate\",\n \"descent\",\n \"diffuseConstant\",\n \"direction\",\n \"display\",\n \"divisor\",\n \"dominantBaseline\",\n \"dur\",\n \"dx\",\n \"dy\",\n \"edgeMode\",\n \"elevation\",\n \"enableBackground\",\n \"end\",\n \"exponent\",\n \"externalResourcesRequired\",\n \"fill\",\n \"fillOpacity\",\n \"fillRule\",\n \"filter\",\n \"filterRes\",\n \"filterUnits\",\n \"floodColor\",\n \"floodOpacity\",\n \"focusable\",\n \"fontFamily\",\n \"fontSize\",\n \"fontSizeAdjust\",\n \"fontStretch\",\n \"fontStyle\",\n \"fontVariant\",\n \"fontWeight\",\n \"format\",\n \"from\",\n \"fx\",\n \"fy\",\n \"g1\",\n \"g2\",\n \"glyphName\",\n \"glyphOrientationHorizontal\",\n \"glyphOrientationVertical\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"hanging\",\n \"horizAdvX\",\n \"horizOriginX\",\n \"href\",\n \"ideographic\",\n \"imageRendering\",\n \"in2\",\n \"in\",\n \"intercept\",\n \"k1\",\n \"k2\",\n \"k3\",\n \"k4\",\n \"k\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"kerning\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"letterSpacing\",\n \"lightingColor\",\n \"limitingConeAngle\",\n \"local\",\n \"markerEnd\",\n \"markerHeight\",\n \"markerMid\",\n \"markerStart\",\n \"markerUnits\",\n \"markerWidth\",\n \"mask\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"mathematical\",\n \"mode\",\n \"numOctaves\",\n \"offset\",\n \"opacity\",\n \"operator\",\n \"order\",\n \"orient\",\n \"orientation\",\n \"origin\",\n \"overflow\",\n \"overlinePosition\",\n \"overlineThickness\",\n \"paintOrder\",\n \"panose1\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointerEvents\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"r\",\n \"radius\",\n \"refX\",\n \"refY\",\n \"renderingIntent\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"restart\",\n \"result\",\n \"rotate\",\n \"rx\",\n \"ry\",\n \"seed\",\n \"shapeRendering\",\n \"slope\",\n \"spacing\",\n \"specularConstant\",\n \"specularExponent\",\n \"speed\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stemh\",\n \"stemv\",\n \"stitchTiles\",\n \"stopColor\",\n \"stopOpacity\",\n \"strikethroughPosition\",\n \"strikethroughThickness\",\n \"string\",\n \"stroke\",\n \"strokeDasharray\",\n \"strokeDashoffset\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"strokeMiterlimit\",\n \"strokeOpacity\",\n \"strokeWidth\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textAnchor\",\n \"textDecoration\",\n \"textLength\",\n \"textRendering\",\n \"to\",\n \"transform\",\n \"u1\",\n \"u2\",\n \"underlinePosition\",\n \"underlineThickness\",\n \"unicode\",\n \"unicodeBidi\",\n \"unicodeRange\",\n \"unitsPerEm\",\n \"vAlphabetic\",\n \"values\",\n \"vectorEffect\",\n \"version\",\n \"vertAdvY\",\n \"vertOriginX\",\n \"vertOriginY\",\n \"vHanging\",\n \"vIdeographic\",\n \"viewTarget\",\n \"visibility\",\n \"vMathematical\",\n \"widths\",\n \"wordSpacing\",\n \"writingMode\",\n \"x1\",\n \"x2\",\n \"x\",\n \"xChannelSelector\",\n \"xHeight\",\n \"xlinkActuate\",\n \"xlinkArcrole\",\n \"xlinkHref\",\n \"xlinkRole\",\n \"xlinkShow\",\n \"xlinkTitle\",\n \"xlinkType\",\n \"xmlBase\",\n \"xmlLang\",\n \"xmlns\",\n \"xmlnsXlink\",\n \"xmlSpace\",\n \"y1\",\n \"y2\",\n \"y\",\n \"yChannelSelector\",\n \"z\",\n \"zoomAndPan\",\n \"ref\",\n \"key\",\n \"angle\"\n ];\n var SVGElementPropKeySet = new Set(SVGElementPropKeys);\n function isSvgElementPropKey(key) {\n if (typeof key !== \"string\") {\n return false;\n }\n return SVGElementPropKeySet.has(key);\n }\n function isDataAttribute(key) {\n return typeof key === \"string\" && key.startsWith(\"data-\");\n }\n function svgPropertiesNoEvents(obj) {\n if (typeof obj !== \"object\" || obj === null) {\n return {};\n }\n var result = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (isSvgElementPropKey(key) || isDataAttribute(key)) {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n function svgPropertiesNoEventsFromUnknown(input2) {\n if (input2 == null) {\n return null;\n }\n if (/* @__PURE__ */ (0, import_react11.isValidElement)(input2) && typeof input2.props === \"object\" && input2.props !== null) {\n var p = input2.props;\n return svgPropertiesNoEvents(p);\n }\n if (typeof input2 === \"object\" && !Array.isArray(input2)) {\n return svgPropertiesNoEvents(input2);\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/svgPropertiesAndEvents.js\n function svgPropertiesAndEvents(obj) {\n var result = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (isSvgElementPropKey(key) || isDataAttribute(key) || isEventKey(key)) {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n function svgPropertiesAndEventsFromUnknown(input2) {\n if (input2 == null) {\n return null;\n }\n if (/* @__PURE__ */ (0, import_react12.isValidElement)(input2)) {\n return svgPropertiesAndEvents(input2.props);\n }\n if (typeof input2 === \"object\" && !Array.isArray(input2)) {\n return svgPropertiesAndEvents(input2);\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Surface.js\n var _excluded = [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\", \"title\", \"desc\"];\n function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends.apply(null, arguments);\n }\n function _objectWithoutProperties(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Surface = /* @__PURE__ */ (0, import_react13.forwardRef)((props, ref) => {\n var {\n children,\n width,\n height,\n viewBox,\n className,\n style,\n title,\n desc\n } = props, others = _objectWithoutProperties(props, _excluded);\n var svgView = viewBox || {\n width,\n height,\n x: 0,\n y: 0\n };\n var layerClass = clsx(\"recharts-surface\", className);\n return /* @__PURE__ */ React65.createElement(\"svg\", _extends({}, svgPropertiesAndEvents(others), {\n className: layerClass,\n width,\n height,\n style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n ref\n }), /* @__PURE__ */ React65.createElement(\"title\", null, title), /* @__PURE__ */ React65.createElement(\"desc\", null, desc), children);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/Layer.js\n var React66 = __toESM(require_react());\n var _excluded2 = [\"children\", \"className\"];\n function _extends2() {\n return _extends2 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends2.apply(null, arguments);\n }\n function _objectWithoutProperties2(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose2(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose2(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Layer = /* @__PURE__ */ React66.forwardRef((props, ref) => {\n var {\n children,\n className\n } = props, others = _objectWithoutProperties2(props, _excluded2);\n var layerClass = clsx(\"recharts-layer\", className);\n return /* @__PURE__ */ React66.createElement(\"g\", _extends2({\n className: layerClass\n }, svgPropertiesAndEvents(others), {\n ref\n }), children);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Legend.js\n var React72 = __toESM(require_react());\n var import_react22 = __toESM(require_react());\n var import_react_dom3 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/legendPortalContext.js\n var import_react14 = __toESM(require_react());\n var LegendPortalContext = /* @__PURE__ */ (0, import_react14.createContext)(null);\n var useLegendPortal = () => (0, import_react14.useContext)(LegendPortalContext);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultLegendContent.js\n var React68 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Symbols.js\n var React67 = __toESM(require_react());\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/constant.js\n function constant_default(x2) {\n return function constant() {\n return x2;\n };\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/math.js\n var cos = Math.cos;\n var sin = Math.sin;\n var sqrt = Math.sqrt;\n var pi = Math.PI;\n var halfPi = pi / 2;\n var tau = 2 * pi;\n\n // ../../../node_modules/.bun/d3-path@3.1.0/node_modules/d3-path/src/path.js\n var pi2 = Math.PI;\n var tau2 = 2 * pi2;\n var epsilon = 1e-6;\n var tauEpsilon = tau2 - epsilon;\n function append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n }\n function appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k2 = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k2) / k2 + strings[i];\n }\n };\n }\n var Path = class {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null;\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x2, y2) {\n this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x2, y2) {\n this._append`L${this._x1 = +x2},${this._y1 = +y2}`;\n }\n quadraticCurveTo(x1, y1, x2, y2) {\n this._append`Q${+x1},${+y1},${this._x1 = +x2},${this._y1 = +y2}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x3, y3) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x3},${this._y1 = +y3}`;\n }\n arcTo(x1, y1, x2, y2, r2) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r2 = +r2;\n if (r2 < 0) throw new Error(`negative radius: ${r2}`);\n let x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n } else if (!(l01_2 > epsilon)) ;\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r2) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n } else {\n let x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r2 * Math.tan((pi2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n this._append`A${r2},${r2},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x2, y2, r2, a0, a1, ccw) {\n x2 = +x2, y2 = +y2, r2 = +r2, ccw = !!ccw;\n if (r2 < 0) throw new Error(`negative radius: ${r2}`);\n let dx = r2 * Math.cos(a0), dy = r2 * Math.sin(a0), x0 = x2 + dx, y0 = y2 + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n } else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n if (!r2) return;\n if (da < 0) da = da % tau2 + tau2;\n if (da > tauEpsilon) {\n this._append`A${r2},${r2},0,1,${cw},${x2 - dx},${y2 - dy}A${r2},${r2},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n } else if (da > epsilon) {\n this._append`A${r2},${r2},0,${+(da >= pi2)},${cw},${this._x1 = x2 + r2 * Math.cos(a1)},${this._y1 = y2 + r2 * Math.sin(a1)}`;\n }\n }\n rect(x2, y2, w, h) {\n this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n };\n function path() {\n return new Path();\n }\n path.prototype = Path.prototype;\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/path.js\n function withPath(shape) {\n let digits = 3;\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n return () => new Path(digits);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/array.js\n var slice = Array.prototype.slice;\n function array_default(x2) {\n return typeof x2 === \"object\" && \"length\" in x2 ? x2 : Array.from(x2);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.js\n function Linear(context) {\n this._context = context;\n }\n Linear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n // falls through\n default:\n this._context.lineTo(x2, y2);\n break;\n }\n }\n };\n function linear_default(context) {\n return new Linear(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/point.js\n function x(p) {\n return p[0];\n }\n function y(p) {\n return p[1];\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/line.js\n function line_default(x2, y2) {\n var defined2 = constant_default(true), context = null, curve = linear_default, output = null, path2 = withPath(line);\n x2 = typeof x2 === \"function\" ? x2 : x2 === void 0 ? x : constant_default(x2);\n y2 = typeof y2 === \"function\" ? y2 : y2 === void 0 ? y : constant_default(y2);\n function line(data) {\n var i, n = (data = array_default(data)).length, d, defined0 = false, buffer;\n if (context == null) output = curve(buffer = path2());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined2(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x2(d, i, data), +y2(d, i, data));\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n line.x = function(_) {\n return arguments.length ? (x2 = typeof _ === \"function\" ? _ : constant_default(+_), line) : x2;\n };\n line.y = function(_) {\n return arguments.length ? (y2 = typeof _ === \"function\" ? _ : constant_default(+_), line) : y2;\n };\n line.defined = function(_) {\n return arguments.length ? (defined2 = typeof _ === \"function\" ? _ : constant_default(!!_), line) : defined2;\n };\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n return line;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/area.js\n function area_default(x0, y0, y1) {\n var x1 = null, defined2 = constant_default(true), context = null, curve = linear_default, output = null, path2 = withPath(area);\n x0 = typeof x0 === \"function\" ? x0 : x0 === void 0 ? x : constant_default(+x0);\n y0 = typeof y0 === \"function\" ? y0 : y0 === void 0 ? constant_default(0) : constant_default(+y0);\n y1 = typeof y1 === \"function\" ? y1 : y1 === void 0 ? y : constant_default(+y1);\n function area(data) {\n var i, j, k2, n = (data = array_default(data)).length, d, defined0 = false, buffer, x0z = new Array(n), y0z = new Array(n);\n if (context == null) output = curve(buffer = path2());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined2(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k2 = i - 1; k2 >= j; --k2) {\n output.point(x0z[k2], y0z[k2]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n function arealine() {\n return line_default().defined(defined2).curve(curve).context(context);\n }\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant_default(+_), x1 = null, area) : x0;\n };\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant_default(+_), area) : x0;\n };\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant_default(+_), area) : x1;\n };\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant_default(+_), y1 = null, area) : y0;\n };\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant_default(+_), area) : y0;\n };\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant_default(+_), area) : y1;\n };\n area.lineX0 = area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n area.defined = function(_) {\n return arguments.length ? (defined2 = typeof _ === \"function\" ? _ : constant_default(!!_), area) : defined2;\n };\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n return area;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.js\n var Bump = class {\n constructor(context, x2) {\n this._context = context;\n this._x = x2;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x2, y2);\n else this._context.moveTo(x2, y2);\n break;\n }\n case 1:\n this._point = 2;\n // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x2) / 2, this._y0, this._x0, y2, x2, y2);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y2) / 2, x2, this._y0, x2, y2);\n break;\n }\n }\n this._x0 = x2, this._y0 = y2;\n }\n };\n function bumpX(context) {\n return new Bump(context, true);\n }\n function bumpY(context) {\n return new Bump(context, false);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/circle.js\n var circle_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / pi);\n context.moveTo(r2, 0);\n context.arc(0, 0, r2, 0, tau);\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/cross.js\n var cross_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / 5) / 2;\n context.moveTo(-3 * r2, -r2);\n context.lineTo(-r2, -r2);\n context.lineTo(-r2, -3 * r2);\n context.lineTo(r2, -3 * r2);\n context.lineTo(r2, -r2);\n context.lineTo(3 * r2, -r2);\n context.lineTo(3 * r2, r2);\n context.lineTo(r2, r2);\n context.lineTo(r2, 3 * r2);\n context.lineTo(-r2, 3 * r2);\n context.lineTo(-r2, r2);\n context.lineTo(-3 * r2, r2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/diamond.js\n var tan30 = sqrt(1 / 3);\n var tan30_2 = tan30 * 2;\n var diamond_default = {\n draw(context, size4) {\n const y2 = sqrt(size4 / tan30_2);\n const x2 = y2 * tan30;\n context.moveTo(0, -y2);\n context.lineTo(x2, 0);\n context.lineTo(0, y2);\n context.lineTo(-x2, 0);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/square.js\n var square_default = {\n draw(context, size4) {\n const w = sqrt(size4);\n const x2 = -w / 2;\n context.rect(x2, x2, w, w);\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/star.js\n var ka = 0.8908130915292852;\n var kr = sin(pi / 10) / sin(7 * pi / 10);\n var kx = sin(tau / 10) * kr;\n var ky = -cos(tau / 10) * kr;\n var star_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 * ka);\n const x2 = kx * r2;\n const y2 = ky * r2;\n context.moveTo(0, -r2);\n context.lineTo(x2, y2);\n for (let i = 1; i < 5; ++i) {\n const a2 = tau * i / 5;\n const c2 = cos(a2);\n const s2 = sin(a2);\n context.lineTo(s2 * r2, -c2 * r2);\n context.lineTo(c2 * x2 - s2 * y2, s2 * x2 + c2 * y2);\n }\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/triangle.js\n var sqrt3 = sqrt(3);\n var triangle_default = {\n draw(context, size4) {\n const y2 = -sqrt(size4 / (sqrt3 * 3));\n context.moveTo(0, y2 * 2);\n context.lineTo(-sqrt3 * y2, -y2);\n context.lineTo(sqrt3 * y2, -y2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol/wye.js\n var c = -0.5;\n var s = sqrt(3) / 2;\n var k = 1 / sqrt(12);\n var a = (k / 2 + 1) * 3;\n var wye_default = {\n draw(context, size4) {\n const r2 = sqrt(size4 / a);\n const x0 = r2 / 2, y0 = r2 * k;\n const x1 = x0, y1 = r2 * k + r2;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n };\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/symbol.js\n function Symbol2(type, size4) {\n let context = null, path2 = withPath(symbol);\n type = typeof type === \"function\" ? type : constant_default(type || circle_default);\n size4 = typeof size4 === \"function\" ? size4 : constant_default(size4 === void 0 ? 64 : +size4);\n function symbol() {\n let buffer;\n if (!context) context = buffer = path2();\n type.apply(this, arguments).draw(context, +size4.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant_default(_), symbol) : type;\n };\n symbol.size = function(_) {\n return arguments.length ? (size4 = typeof _ === \"function\" ? _ : constant_default(+_), symbol) : size4;\n };\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n return symbol;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/noop.js\n function noop_default() {\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.js\n function point(that, x2, y2) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x2) / 6,\n (that._y0 + 4 * that._y1 + y2) / 6\n );\n }\n function Basis(context) {\n this._context = context;\n }\n Basis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3:\n point(this, this._x1, this._y1);\n // falls through\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);\n // falls through\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basis_default(context) {\n return new Basis(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.js\n function BasisClosed(context) {\n this._context = context;\n }\n BasisClosed.prototype = {\n areaStart: noop_default,\n areaEnd: noop_default,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x2 = x2, this._y2 = y2;\n break;\n case 1:\n this._point = 2;\n this._x3 = x2, this._y3 = y2;\n break;\n case 2:\n this._point = 3;\n this._x4 = x2, this._y4 = y2;\n this._context.moveTo((this._x0 + 4 * this._x1 + x2) / 6, (this._y0 + 4 * this._y1 + y2) / 6);\n break;\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basisClosed_default(context) {\n return new BasisClosed(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.js\n function BasisOpen(context) {\n this._context = context;\n }\n BasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n var x0 = (this._x0 + 4 * this._x1 + x2) / 6, y0 = (this._y0 + 4 * this._y1 + y2) / 6;\n this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);\n break;\n case 3:\n this._point = 4;\n // falls through\n default:\n point(this, x2, y2);\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n }\n };\n function basisOpen_default(context) {\n return new BasisOpen(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.js\n function LinearClosed(context) {\n this._context = context;\n }\n LinearClosed.prototype = {\n areaStart: noop_default,\n areaEnd: noop_default,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n if (this._point) this._context.lineTo(x2, y2);\n else this._point = 1, this._context.moveTo(x2, y2);\n }\n };\n function linearClosed_default(context) {\n return new LinearClosed(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.js\n function sign(x2) {\n return x2 < 0 ? -1 : 1;\n }\n function slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n }\n function slope2(that, t2) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t2) / 2 : t2;\n }\n function point2(that, t02, t12) {\n var x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t02, x1 - dx, y1 - dx * t12, x1, y1);\n }\n function MonotoneX(context) {\n this._context = context;\n }\n MonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n case 3:\n point2(this, this._t0, slope2(this, this._t0));\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n var t12 = NaN;\n x2 = +x2, y2 = +y2;\n if (x2 === this._x1 && y2 === this._y1) return;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n point2(this, slope2(this, t12 = slope3(this, x2, y2)), t12);\n break;\n default:\n point2(this, this._t0, t12 = slope3(this, x2, y2));\n break;\n }\n this._x0 = this._x1, this._x1 = x2;\n this._y0 = this._y1, this._y1 = y2;\n this._t0 = t12;\n }\n };\n function MonotoneY(context) {\n this._context = new ReflectContext(context);\n }\n (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x2, y2) {\n MonotoneX.prototype.point.call(this, y2, x2);\n };\n function ReflectContext(context) {\n this._context = context;\n }\n ReflectContext.prototype = {\n moveTo: function(x2, y2) {\n this._context.moveTo(y2, x2);\n },\n closePath: function() {\n this._context.closePath();\n },\n lineTo: function(x2, y2) {\n this._context.lineTo(y2, x2);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x3, y3) {\n this._context.bezierCurveTo(y1, x1, y2, x2, y3, x3);\n }\n };\n function monotoneX(context) {\n return new MonotoneX(context);\n }\n function monotoneY(context) {\n return new MonotoneY(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.js\n function Natural(context) {\n this._context = context;\n }\n Natural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x2 = this._x, y2 = this._y, n = x2.length;\n if (n) {\n this._line ? this._context.lineTo(x2[0], y2[0]) : this._context.moveTo(x2[0], y2[0]);\n if (n === 2) {\n this._context.lineTo(x2[1], y2[1]);\n } else {\n var px = controlPoints(x2), py = controlPoints(y2);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x2[i1], y2[i1]);\n }\n }\n }\n if (this._line || this._line !== 0 && n === 1) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x2, y2) {\n this._x.push(+x2);\n this._y.push(+y2);\n }\n };\n function controlPoints(x2) {\n var i, n = x2.length - 1, m, a2 = new Array(n), b = new Array(n), r2 = new Array(n);\n a2[0] = 0, b[0] = 2, r2[0] = x2[0] + 2 * x2[1];\n for (i = 1; i < n - 1; ++i) a2[i] = 1, b[i] = 4, r2[i] = 4 * x2[i] + 2 * x2[i + 1];\n a2[n - 1] = 2, b[n - 1] = 7, r2[n - 1] = 8 * x2[n - 1] + x2[n];\n for (i = 1; i < n; ++i) m = a2[i] / b[i - 1], b[i] -= m, r2[i] -= m * r2[i - 1];\n a2[n - 1] = r2[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a2[i] = (r2[i] - a2[i + 1]) / b[i];\n b[n - 1] = (x2[n] + a2[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x2[i + 1] - a2[i + 1];\n return [a2, b];\n }\n function natural_default(context) {\n return new Natural(context);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.js\n function Step(context, t2) {\n this._context = context;\n this._t = t2;\n }\n Step.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x2, y2) {\n x2 = +x2, y2 = +y2;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x2, y2) : this._context.moveTo(x2, y2);\n break;\n case 1:\n this._point = 2;\n // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y2);\n this._context.lineTo(x2, y2);\n } else {\n var x1 = this._x * (1 - this._t) + x2 * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y2);\n }\n break;\n }\n }\n this._x = x2, this._y = y2;\n }\n };\n function step_default(context) {\n return new Step(context, 0.5);\n }\n function stepBefore(context) {\n return new Step(context, 0);\n }\n function stepAfter(context) {\n return new Step(context, 1);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/none.js\n function none_default(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/order/none.js\n function none_default2(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/stack.js\n function stackValue(d, key) {\n return d[key];\n }\n function stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n }\n function stack_default() {\n var keys = constant_default([]), order = none_default2, offset4 = none_default, value = stackValue;\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries), i, n = sz.length, j = -1, oz;\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n for (i = 0, oz = array_default(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n offset4(sz, oz);\n return sz;\n }\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant_default(Array.from(_)), stack) : keys;\n };\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant_default(+_), stack) : value;\n };\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? none_default2 : typeof _ === \"function\" ? _ : constant_default(Array.from(_)), stack) : order;\n };\n stack.offset = function(_) {\n return arguments.length ? (offset4 = _ == null ? none_default : _, stack) : offset4;\n };\n return stack;\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/expand.js\n function expand_default(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y2; j < m; ++j) {\n for (y2 = i = 0; i < n; ++i) y2 += series[i][j][1] || 0;\n if (y2) for (i = 0; i < n; ++i) series[i][j][1] /= y2;\n }\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/silhouette.js\n function silhouette_default(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y2 = 0; i < n; ++i) y2 += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y2 / 2;\n }\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/d3-shape@3.2.0/node_modules/d3-shape/src/offset/wiggle.js\n function wiggle_default(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y2 = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]], sij0 = si[j][1] || 0, sij1 = si[j - 1][1] || 0, s3 = (sij0 - sij1) / 2;\n for (var k2 = 0; k2 < i; ++k2) {\n var sk = series[order[k2]], skj0 = sk[j][1] || 0, skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y2;\n if (s1) y2 -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y2;\n none_default(series, order);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DataUtils.js\n var import_get = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/round.js\n var defaultRoundPrecision = 4;\n function round2(num) {\n var roundPrecision = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultRoundPrecision;\n var factor = 10 ** roundPrecision;\n var rounded = Math.round(num * factor) / factor;\n if (Object.is(rounded, -0)) {\n return 0;\n }\n return rounded;\n }\n function roundTemplateLiteral(strings) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n return strings.reduce((result, string, i) => {\n var value = values[i - 1];\n if (typeof value === \"string\") {\n return result + value + string;\n }\n if (value !== void 0) {\n return result + round2(value) + string;\n }\n return result + string;\n }, \"\");\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DataUtils.js\n var mathSign = (value) => {\n if (value === 0) {\n return 0;\n }\n if (value > 0) {\n return 1;\n }\n return -1;\n };\n var isNan = (value) => {\n return typeof value == \"number\" && value != +value;\n };\n var isPercent2 = (value) => typeof value === \"string\" && value.indexOf(\"%\") === value.length - 1;\n var isNumber3 = (value) => (typeof value === \"number\" || value instanceof Number) && !isNan(value);\n var isNumOrStr = (value) => isNumber3(value) || typeof value === \"string\";\n var idCounter2 = 0;\n var uniqueId = (prefix2) => {\n var id = ++idCounter2;\n return \"\".concat(prefix2 || \"\").concat(id);\n };\n var getPercentValue = function getPercentValue2(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!isNumber3(percent) && typeof percent !== \"string\") {\n return defaultValue;\n }\n var value;\n if (isPercent2(percent)) {\n if (totalValue == null) {\n return defaultValue;\n }\n var index2 = percent.indexOf(\"%\");\n value = totalValue * parseFloat(percent.slice(0, index2)) / 100;\n } else {\n value = +percent;\n }\n if (isNan(value)) {\n value = defaultValue;\n }\n if (validate && totalValue != null && value > totalValue) {\n value = totalValue;\n }\n return value;\n };\n var hasDuplicate = (ary) => {\n if (!Array.isArray(ary)) {\n return false;\n }\n var len = ary.length;\n var cache = {};\n for (var i = 0; i < len; i++) {\n if (!cache[String(ary[i])]) {\n cache[String(ary[i])] = true;\n } else {\n return true;\n }\n }\n return false;\n };\n function interpolate(start, end, t2) {\n if (isNumber3(start) && isNumber3(end)) {\n return round2(start + t2 * (end - start));\n }\n return end;\n }\n function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return void 0;\n }\n return ary.find((entry) => entry && (typeof specifiedKey === \"function\" ? specifiedKey(entry) : (0, import_get.default)(entry, specifiedKey)) === specifiedValue);\n }\n var getLinearRegression = (data) => {\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n for (var i = 0; i < len; i++) {\n var _data$i, _data$i2;\n xcurrent = ((_data$i = data[i]) === null || _data$i === void 0 ? void 0 : _data$i.cx) || 0;\n ycurrent = ((_data$i2 = data[i]) === null || _data$i2 === void 0 ? void 0 : _data$i2.cy) || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n var a2 = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin,\n xmax,\n a: a2,\n b: (ysum - a2 * xsum) / len\n };\n };\n var isNullish = (value) => {\n return value === null || typeof value === \"undefined\";\n };\n var upperFirst = (value) => {\n if (isNullish(value)) {\n return value;\n }\n return \"\".concat(value.charAt(0).toUpperCase()).concat(value.slice(1));\n };\n function isNotNil(value) {\n return value != null;\n }\n function noop4() {\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Symbols.js\n var _excluded3 = [\"type\", \"size\", \"sizeType\"];\n function _extends3() {\n return _extends3 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends3.apply(null, arguments);\n }\n function ownKeys(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys(Object(t2), true).forEach(function(r3) {\n _defineProperty(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty(e, r2, t2) {\n return (r2 = _toPropertyKey(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey(t2) {\n var i = _toPrimitive(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties3(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose3(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose3(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var symbolFactories = {\n symbolCircle: circle_default,\n symbolCross: cross_default,\n symbolDiamond: diamond_default,\n symbolSquare: square_default,\n symbolStar: star_default,\n symbolTriangle: triangle_default,\n symbolWye: wye_default\n };\n var RADIAN = Math.PI / 180;\n var getSymbolFactory = (type) => {\n var name = \"symbol\".concat(upperFirst(type));\n return symbolFactories[name] || circle_default;\n };\n var calculateAreaSize = (size4, sizeType, type) => {\n if (sizeType === \"area\") {\n return size4;\n }\n switch (type) {\n case \"cross\":\n return 5 * size4 * size4 / 9;\n case \"diamond\":\n return 0.5 * size4 * size4 / Math.sqrt(3);\n case \"square\":\n return size4 * size4;\n case \"star\": {\n var angle = 18 * RADIAN;\n return 1.25 * size4 * size4 * (Math.tan(angle) - Math.tan(angle * 2) * Math.tan(angle) ** 2);\n }\n case \"triangle\":\n return Math.sqrt(3) * size4 * size4 / 4;\n case \"wye\":\n return (21 - 10 * Math.sqrt(3)) * size4 * size4 / 8;\n default:\n return Math.PI * size4 * size4 / 4;\n }\n };\n var registerSymbol = (key, factory) => {\n symbolFactories[\"symbol\".concat(upperFirst(key))] = factory;\n };\n var Symbols = (_ref2) => {\n var {\n type = \"circle\",\n size: size4 = 64,\n sizeType = \"area\"\n } = _ref2, rest = _objectWithoutProperties3(_ref2, _excluded3);\n var props = _objectSpread(_objectSpread({}, rest), {}, {\n type,\n size: size4,\n sizeType\n });\n var realType = \"circle\";\n if (typeof type === \"string\") {\n realType = type;\n }\n var getPath3 = () => {\n var symbolFactory = getSymbolFactory(realType);\n var symbol = Symbol2().type(symbolFactory).size(calculateAreaSize(size4, sizeType, realType));\n var s2 = symbol();\n if (s2 === null) {\n return void 0;\n }\n return s2;\n };\n var {\n className,\n cx: cx2,\n cy\n } = props;\n var filteredProps = svgPropertiesAndEvents(props);\n if (isNumber3(cx2) && isNumber3(cy) && isNumber3(size4)) {\n return /* @__PURE__ */ React67.createElement(\"path\", _extends3({}, filteredProps, {\n className: clsx(\"recharts-symbols\", className),\n transform: \"translate(\".concat(cx2, \", \").concat(cy, \")\"),\n d: getPath3()\n }));\n }\n return null;\n };\n Symbols.registerSymbol = registerSymbol;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/types.js\n var import_react15 = __toESM(require_react());\n var isPolarCoordinate = (c2) => {\n return \"radius\" in c2 && \"startAngle\" in c2 && \"endAngle\" in c2;\n };\n var adaptEventHandlers = (props, newHandler) => {\n if (!props || typeof props === \"function\" || typeof props === \"boolean\") {\n return null;\n }\n var inputProps = props;\n if (/* @__PURE__ */ (0, import_react15.isValidElement)(props)) {\n inputProps = props.props;\n }\n if (typeof inputProps !== \"object\" && typeof inputProps !== \"function\") {\n return null;\n }\n var out = {};\n Object.keys(inputProps).forEach((key) => {\n if (isEventKey(key) && typeof inputProps[key] === \"function\") {\n out[key] = newHandler || ((e) => inputProps[key](inputProps, e));\n }\n });\n return out;\n };\n var getEventHandlerOfChild = (originalHandler, data, index2) => (e) => {\n originalHandler(data, index2, e);\n return null;\n };\n var adaptEventsOfChild = (props, data, index2) => {\n if (props === null || typeof props !== \"object\" && typeof props !== \"function\") {\n return null;\n }\n var out = null;\n Object.keys(props).forEach((key) => {\n var item = props[key];\n if (isEventKey(key) && typeof item === \"function\") {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index2);\n }\n });\n return out;\n };\n var isNonEmptyArray = (arr) => {\n return Array.isArray(arr) && arr.length > 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/resolveDefaultProps.js\n function ownKeys2(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread2(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys2(Object(t2), true).forEach(function(r3) {\n _defineProperty2(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys2(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty2(e, r2, t2) {\n return (r2 = _toPropertyKey2(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey2(t2) {\n var i = _toPrimitive2(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive2(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function resolveDefaultProps(realProps, defaultProps2) {\n var resolvedProps = _objectSpread2({}, realProps);\n var dp = defaultProps2;\n var keys = Object.keys(defaultProps2);\n var withDefaults = keys.reduce((acc, key) => {\n if (acc[key] === void 0 && dp[key] !== void 0) {\n acc[key] = dp[key];\n }\n return acc;\n }, resolvedProps);\n return withDefaults;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultLegendContent.js\n function _extends4() {\n return _extends4 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends4.apply(null, arguments);\n }\n function ownKeys3(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread3(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys3(Object(t2), true).forEach(function(r3) {\n _defineProperty3(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys3(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty3(e, r2, t2) {\n return (r2 = _toPropertyKey3(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey3(t2) {\n var i = _toPrimitive3(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive3(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var SIZE = 32;\n var defaultLegendContentDefaultProps = {\n align: \"center\",\n iconSize: 14,\n inactiveColor: \"#ccc\",\n layout: \"horizontal\",\n verticalAlign: \"middle\",\n labelStyle: {}\n };\n function getStrokeDasharray(input2) {\n if (typeof input2 === \"object\" && input2 !== null && \"strokeDasharray\" in input2) {\n return String(input2.strokeDasharray);\n }\n return void 0;\n }\n function Icon3(_ref2) {\n var {\n data,\n iconType,\n inactiveColor\n } = _ref2;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color2 = data.inactive ? inactiveColor : data.color;\n var preferredIcon = iconType !== null && iconType !== void 0 ? iconType : data.type;\n if (preferredIcon === \"none\") {\n return null;\n }\n if (preferredIcon === \"plainline\") {\n return /* @__PURE__ */ React68.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color2,\n strokeDasharray: getStrokeDasharray(data.payload),\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n if (preferredIcon === \"line\") {\n return /* @__PURE__ */ React68.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color2,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n if (preferredIcon === \"rect\") {\n return /* @__PURE__ */ React68.createElement(\"path\", {\n stroke: \"none\",\n fill: color2,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n if (/* @__PURE__ */ React68.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread3({}, data);\n delete iconProps.legendIcon;\n return /* @__PURE__ */ React68.cloneElement(data.legendIcon, iconProps);\n }\n return /* @__PURE__ */ React68.createElement(Symbols, {\n fill: color2,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: preferredIcon\n });\n }\n function Items(props) {\n var {\n payload,\n iconSize,\n layout,\n formatter,\n inactiveColor,\n iconType,\n labelStyle\n } = props;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === \"horizontal\" ? \"inline-block\" : \"block\",\n marginRight: 10\n };\n var svgStyle = {\n display: \"inline-block\",\n verticalAlign: \"middle\",\n marginRight: 4\n };\n return payload.map((entry, i) => {\n var finalFormatter = entry.formatter || formatter;\n var className = clsx({\n \"recharts-legend-item\": true,\n [\"legend-item-\".concat(i)]: true,\n inactive: entry.inactive\n });\n if (entry.type === \"none\") {\n return null;\n }\n var finalLabelStyle = typeof labelStyle === \"object\" ? _objectSpread3({}, labelStyle) : {};\n finalLabelStyle.color = entry.inactive ? inactiveColor : finalLabelStyle.color || entry.color;\n var finalValue = finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value;\n return /* @__PURE__ */ React68.createElement(\"li\", _extends4({\n className,\n style: itemStyle,\n key: \"legend-item-\".concat(i)\n }, adaptEventsOfChild(props, entry, i)), /* @__PURE__ */ React68.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox,\n style: svgStyle,\n \"aria-label\": \"\".concat(finalValue, \" legend icon\")\n }, /* @__PURE__ */ React68.createElement(Icon3, {\n data: entry,\n iconType,\n inactiveColor\n })), /* @__PURE__ */ React68.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: finalLabelStyle\n }, finalValue));\n });\n }\n var DefaultLegendContent = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, defaultLegendContentDefaultProps);\n var {\n payload,\n layout,\n align\n } = props;\n if (!payload || !payload.length) {\n return null;\n }\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === \"horizontal\" ? align : \"left\"\n };\n return /* @__PURE__ */ React68.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, /* @__PURE__ */ React68.createElement(Items, _extends4({}, props, {\n payload\n })));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/payload/getUniqPayload.js\n var import_uniqBy = __toESM(require_uniqBy3());\n function getUniqPayload(payload, option, defaultUniqBy3) {\n if (option === true) {\n return (0, import_uniqBy.default)(payload, defaultUniqBy3);\n }\n if (typeof option === \"function\") {\n return (0, import_uniqBy.default)(payload, option);\n }\n return payload;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/hooks.js\n var import_with_selector = __toESM(require_with_selector());\n var import_react17 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsReduxContext.js\n var import_react16 = __toESM(require_react());\n var RechartsReduxContext = /* @__PURE__ */ (0, import_react16.createContext)(null);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/hooks.js\n var noopDispatch = (a2) => a2;\n var useAppDispatch = () => {\n var context = (0, import_react17.useContext)(RechartsReduxContext);\n if (context) {\n return context.store.dispatch;\n }\n return noopDispatch;\n };\n var noop5 = () => {\n };\n var addNestedSubNoop = () => noop5;\n var refEquality = (a2, b) => a2 === b;\n function useAppSelector(selector) {\n var context = (0, import_react17.useContext)(RechartsReduxContext);\n var outOfContextSelector = (0, import_react17.useMemo)(() => {\n if (!context) {\n return noop5;\n }\n return (state2) => {\n if (state2 == null) {\n return void 0;\n }\n return selector(state2);\n };\n }, [context, selector]);\n return (0, import_with_selector.useSyncExternalStoreWithSelector)(context ? context.subscription.addNestedSub : addNestedSubNoop, context ? context.store.getState : noop5, context ? context.store.getState : noop5, outOfContextSelector, refEquality);\n }\n\n // ../../../node_modules/.bun/reselect@5.1.1/node_modules/reselect/dist/reselect.mjs\n function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {\n if (typeof func !== \"function\") {\n throw new TypeError(errorMessage);\n }\n }\n function assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {\n if (typeof object !== \"object\") {\n throw new TypeError(errorMessage);\n }\n }\n function assertIsArrayOfFunctions(array2, errorMessage = `expected all items to be functions, instead received the following types: `) {\n if (!array2.every((item) => typeof item === \"function\")) {\n const itemTypes = array2.map(\n (item) => typeof item === \"function\" ? `function ${item.name || \"unnamed\"}()` : typeof item\n ).join(\", \");\n throw new TypeError(`${errorMessage}[${itemTypes}]`);\n }\n }\n var ensureIsArray = (item) => {\n return Array.isArray(item) ? item : [item];\n };\n function getDependencies(createSelectorArgs) {\n const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;\n assertIsArrayOfFunctions(\n dependencies,\n `createSelector expects all input-selectors to be functions, but received the following types: `\n );\n return dependencies;\n }\n function collectInputSelectorResults(dependencies, inputSelectorArgs) {\n const inputSelectorResults = [];\n const { length } = dependencies;\n for (let i = 0; i < length; i++) {\n inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));\n }\n return inputSelectorResults;\n }\n var proto = Object.getPrototypeOf({});\n var StrongRef = class {\n constructor(value) {\n this.value = value;\n }\n deref() {\n return this.value;\n }\n };\n var Ref = typeof WeakRef !== \"undefined\" ? WeakRef : StrongRef;\n var UNTERMINATED = 0;\n var TERMINATED = 1;\n function createCacheNode() {\n return {\n s: UNTERMINATED,\n v: void 0,\n o: null,\n p: null\n };\n }\n function weakMapMemoize(func, options2 = {}) {\n let fnNode = createCacheNode();\n const { resultEqualityCheck } = options2;\n let lastResult2;\n let resultsCount = 0;\n function memoized() {\n let cacheNode = fnNode;\n const { length } = arguments;\n for (let i = 0, l = length; i < l; i++) {\n const arg = arguments[i];\n if (typeof arg === \"function\" || typeof arg === \"object\" && arg !== null) {\n let objectCache = cacheNode.o;\n if (objectCache === null) {\n cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();\n }\n const objectNode = objectCache.get(arg);\n if (objectNode === void 0) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n let primitiveCache = cacheNode.p;\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();\n }\n const primitiveNode = primitiveCache.get(arg);\n if (primitiveNode === void 0) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n const terminatedNode = cacheNode;\n let result;\n if (cacheNode.s === TERMINATED) {\n result = cacheNode.v;\n } else {\n result = func.apply(null, arguments);\n resultsCount++;\n if (resultEqualityCheck) {\n const lastResultValue = lastResult2?.deref?.() ?? lastResult2;\n if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {\n result = lastResultValue;\n resultsCount !== 0 && resultsCount--;\n }\n const needsWeakRef = typeof result === \"object\" && result !== null || typeof result === \"function\";\n lastResult2 = needsWeakRef ? new Ref(result) : result;\n }\n }\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n }\n memoized.clearCache = () => {\n fnNode = createCacheNode();\n memoized.resetResultsCount();\n };\n memoized.resultsCount = () => resultsCount;\n memoized.resetResultsCount = () => {\n resultsCount = 0;\n };\n return memoized;\n }\n function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {\n const createSelectorCreatorOptions = typeof memoizeOrOptions === \"function\" ? {\n memoize: memoizeOrOptions,\n memoizeOptions: memoizeOptionsFromArgs\n } : memoizeOrOptions;\n const createSelector2 = (...createSelectorArgs) => {\n let recomputations = 0;\n let dependencyRecomputations = 0;\n let lastResult2;\n let directlyPassedOptions = {};\n let resultFunc = createSelectorArgs.pop();\n if (typeof resultFunc === \"object\") {\n directlyPassedOptions = resultFunc;\n resultFunc = createSelectorArgs.pop();\n }\n assertIsFunction(\n resultFunc,\n `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`\n );\n const combinedOptions = {\n ...createSelectorCreatorOptions,\n ...directlyPassedOptions\n };\n const {\n memoize,\n memoizeOptions = [],\n argsMemoize = weakMapMemoize,\n argsMemoizeOptions = [],\n devModeChecks = {}\n } = combinedOptions;\n const finalMemoizeOptions = ensureIsArray(memoizeOptions);\n const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);\n const dependencies = getDependencies(createSelectorArgs);\n const memoizedResultFunc = memoize(function recomputationWrapper() {\n recomputations++;\n return resultFunc.apply(\n null,\n arguments\n );\n }, ...finalMemoizeOptions);\n let firstRun = true;\n const selector = argsMemoize(function dependenciesChecker() {\n dependencyRecomputations++;\n const inputSelectorResults = collectInputSelectorResults(\n dependencies,\n arguments\n );\n lastResult2 = memoizedResultFunc.apply(null, inputSelectorResults);\n if (false) {\n const { identityFunctionCheck, inputStabilityCheck } = getDevModeChecksExecutionInfo(firstRun, devModeChecks);\n if (identityFunctionCheck.shouldRun) {\n identityFunctionCheck.run(\n resultFunc,\n inputSelectorResults,\n lastResult2\n );\n }\n if (inputStabilityCheck.shouldRun) {\n const inputSelectorResultsCopy = collectInputSelectorResults(\n dependencies,\n arguments\n );\n inputStabilityCheck.run(\n { inputSelectorResults, inputSelectorResultsCopy },\n { memoize, memoizeOptions: finalMemoizeOptions },\n arguments\n );\n }\n if (firstRun)\n firstRun = false;\n }\n return lastResult2;\n }, ...finalArgsMemoizeOptions);\n return Object.assign(selector, {\n resultFunc,\n memoizedResultFunc,\n dependencies,\n dependencyRecomputations: () => dependencyRecomputations,\n resetDependencyRecomputations: () => {\n dependencyRecomputations = 0;\n },\n lastResult: () => lastResult2,\n recomputations: () => recomputations,\n resetRecomputations: () => {\n recomputations = 0;\n },\n memoize,\n argsMemoize\n });\n };\n Object.assign(createSelector2, {\n withTypes: () => createSelector2\n });\n return createSelector2;\n }\n var createSelector = /* @__PURE__ */ createSelectorCreator(weakMapMemoize);\n var createStructuredSelector = Object.assign(\n (inputSelectorsObject, selectorCreator = createSelector) => {\n assertIsObject(\n inputSelectorsObject,\n `createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`\n );\n const inputSelectorKeys = Object.keys(inputSelectorsObject);\n const dependencies = inputSelectorKeys.map(\n (key) => inputSelectorsObject[key]\n );\n const structuredSelector = selectorCreator(\n dependencies,\n (...inputSelectorResults) => {\n return inputSelectorResults.reduce((composition, value, index2) => {\n composition[inputSelectorKeys[index2]] = value;\n return composition;\n }, {});\n }\n );\n return structuredSelector;\n },\n { withTypes: () => createStructuredSelector }\n );\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/legendSelectors.js\n var import_sortBy = __toESM(require_sortBy2());\n var selectLegendSettings = (state2) => state2.legend.settings;\n var selectLegendSize = (state2) => state2.legend.size;\n var selectAllLegendPayload2DArray = (state2) => state2.legend.payload;\n var selectLegendPayload = createSelector([selectAllLegendPayload2DArray, selectLegendSettings], (payloads, _ref2) => {\n var {\n itemSorter\n } = _ref2;\n var flat = payloads.flat(1);\n return itemSorter ? (0, import_sortBy.default)(flat, itemSorter) : flat;\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/legendPayloadContext.js\n function useLegendPayload() {\n return useAppSelector(selectLegendPayload);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useElementOffset.js\n var import_react18 = __toESM(require_react());\n var EPS = 1;\n function useElementOffset() {\n var extraDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n var [lastBoundingBox, setLastBoundingBox] = (0, import_react18.useState)({\n height: 0,\n left: 0,\n top: 0,\n width: 0\n });\n var updateBoundingBox = (0, import_react18.useCallback)(\n (node) => {\n if (node != null) {\n var rect = node.getBoundingClientRect();\n var box = {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n width: rect.width\n };\n if (Math.abs(box.height - lastBoundingBox.height) > EPS || Math.abs(box.left - lastBoundingBox.left) > EPS || Math.abs(box.top - lastBoundingBox.top) > EPS || Math.abs(box.width - lastBoundingBox.width) > EPS) {\n setLastBoundingBox({\n height: box.height,\n left: box.left,\n top: box.top,\n width: box.width\n });\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [lastBoundingBox.width, lastBoundingBox.height, lastBoundingBox.top, lastBoundingBox.left, ...extraDependencies]\n );\n return [lastBoundingBox, updateBoundingBox];\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartLayoutContext.js\n var import_react21 = __toESM(require_react());\n\n // ../../../node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.mjs\n function formatProdErrorMessage(code) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n }\n var $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\n var symbol_observable_default = $$observable;\n var randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\n var ActionTypes = {\n INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n };\n var actionTypes_default = ActionTypes;\n function isPlainObject2(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n let proto2 = obj;\n while (Object.getPrototypeOf(proto2) !== null) {\n proto2 = Object.getPrototypeOf(proto2);\n }\n return Object.getPrototypeOf(obj) === proto2 || Object.getPrototypeOf(obj) === null;\n }\n function createStore(reducer, preloadedState, enhancer) {\n if (typeof reducer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n throw new Error(true ? formatProdErrorMessage(0) : \"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\");\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n enhancer = preloadedState;\n preloadedState = void 0;\n }\n if (typeof enhancer !== \"undefined\") {\n if (typeof enhancer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, preloadedState);\n }\n let currentReducer = reducer;\n let currentState = preloadedState;\n let currentListeners = /* @__PURE__ */ new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = /* @__PURE__ */ new Map();\n currentListeners.forEach((listener2, key) => {\n nextListeners.set(key, listener2);\n });\n }\n }\n function getState8() {\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(3) : \"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");\n }\n return currentState;\n }\n function subscribe2(listener2) {\n if (typeof listener2 !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener2)}'`);\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(5) : \"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener2);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(6) : \"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n function dispatch(action) {\n if (!isPlainObject2(action)) {\n throw new Error(true ? formatProdErrorMessage(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n }\n if (typeof action.type === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== \"string\") {\n throw new Error(true ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(true ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach((listener2) => {\n listener2();\n });\n return action;\n }\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== \"function\") {\n throw new Error(true ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = nextReducer;\n dispatch({\n type: actionTypes_default.REPLACE\n });\n }\n function observable() {\n const outerSubscribe = subscribe2;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer) {\n if (typeof observer !== \"object\" || observer === null) {\n throw new Error(true ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = observer;\n if (observerAsObserver.next) {\n observerAsObserver.next(getState8());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [symbol_observable_default]() {\n return this;\n }\n };\n }\n dispatch({\n type: actionTypes_default.INIT\n });\n const store = {\n dispatch,\n subscribe: subscribe2,\n getState: getState8,\n replaceReducer,\n [symbol_observable_default]: observable\n };\n return store;\n }\n function assertReducerShape(reducers2) {\n Object.keys(reducers2).forEach((key) => {\n const reducer = reducers2[key];\n const initialState15 = reducer(void 0, {\n type: actionTypes_default.INIT\n });\n if (typeof initialState15 === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n }\n if (typeof reducer(void 0, {\n type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n }) === \"undefined\") {\n throw new Error(true ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n }\n });\n }\n function combineReducers(reducers2) {\n const reducerKeys = Object.keys(reducers2);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (false) {\n if (typeof reducers2[key] === \"undefined\") {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers2[key] === \"function\") {\n finalReducers[key] = reducers2[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n let unexpectedKeyCache;\n if (false) {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state2 = {}, action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (false) {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state2, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state2[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === \"undefined\") {\n const actionType = action && action.type;\n throw new Error(true ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state2).length;\n return hasChanged ? nextState : state2;\n };\n }\n function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a2, b) => (...args) => a2(b(...args)));\n }\n function applyMiddleware(...middlewares) {\n return (createStore2) => (reducer, preloadedState) => {\n const store = createStore2(reducer, preloadedState);\n let dispatch = () => {\n throw new Error(true ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n };\n const middlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n }\n function isAction(action) {\n return isPlainObject2(action) && \"type\" in action && typeof action.type === \"string\";\n }\n\n // ../../../node_modules/.bun/immer@11.1.4/node_modules/immer/dist/immer.mjs\n var NOTHING = /* @__PURE__ */ Symbol.for(\"immer-nothing\");\n var DRAFTABLE = /* @__PURE__ */ Symbol.for(\"immer-draftable\");\n var DRAFT_STATE = /* @__PURE__ */ Symbol.for(\"immer-state\");\n function die(error, ...args) {\n if (false) {\n const e = errors[error];\n const msg = isFunction3(e) ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n }\n var O = Object;\n var getPrototypeOf = O.getPrototypeOf;\n var CONSTRUCTOR = \"constructor\";\n var PROTOTYPE = \"prototype\";\n var CONFIGURABLE = \"configurable\";\n var ENUMERABLE = \"enumerable\";\n var WRITABLE = \"writable\";\n var VALUE = \"value\";\n var isDraft = (value) => !!value && !!value[DRAFT_STATE];\n function isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject3(value) || isArray(value) || !!value[DRAFTABLE] || !!value[CONSTRUCTOR]?.[DRAFTABLE] || isMap(value) || isSet(value);\n }\n var objectCtorString = O[PROTOTYPE][CONSTRUCTOR].toString();\n var cachedCtorStrings = /* @__PURE__ */ new WeakMap();\n function isPlainObject3(value) {\n if (!value || !isObjectish(value))\n return false;\n const proto2 = getPrototypeOf(value);\n if (proto2 === null || proto2 === O[PROTOTYPE])\n return true;\n const Ctor = O.hasOwnProperty.call(proto2, CONSTRUCTOR) && proto2[CONSTRUCTOR];\n if (Ctor === Object)\n return true;\n if (!isFunction3(Ctor))\n return false;\n let ctorString = cachedCtorStrings.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString;\n }\n function each(obj, iter, strict = true) {\n if (getArchtype(obj) === 0) {\n const keys = strict ? Reflect.ownKeys(obj) : O.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index2) => iter(index2, entry, obj));\n }\n }\n function getArchtype(thing) {\n const state2 = thing[DRAFT_STATE];\n return state2 ? state2.type_ : isArray(thing) ? 1 : isMap(thing) ? 2 : isSet(thing) ? 3 : 0;\n }\n var has = (thing, prop, type = getArchtype(thing)) => type === 2 ? thing.has(prop) : O[PROTOTYPE].hasOwnProperty.call(thing, prop);\n var get3 = (thing, prop, type = getArchtype(thing)) => (\n // @ts-ignore\n type === 2 ? thing.get(prop) : thing[prop]\n );\n var set = (thing, propOrOldValue, value, type = getArchtype(thing)) => {\n if (type === 2)\n thing.set(propOrOldValue, value);\n else if (type === 3) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n };\n function is(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n var isArray = Array.isArray;\n var isMap = (target) => target instanceof Map;\n var isSet = (target) => target instanceof Set;\n var isObjectish = (target) => typeof target === \"object\";\n var isFunction3 = (target) => typeof target === \"function\";\n var isBoolean = (target) => typeof target === \"boolean\";\n function isArrayIndex(value) {\n const n = +value;\n return Number.isInteger(n) && String(n) === value;\n }\n var latest = (state2) => state2.copy_ || state2.base_;\n var getFinalValue = (state2) => state2.modified_ ? state2.copy_ : state2.base_;\n function shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (isArray(base))\n return Array[PROTOTYPE].slice.call(base);\n const isPlain = isPlainObject3(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = O.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc[WRITABLE] === false) {\n desc[WRITABLE] = true;\n desc[CONFIGURABLE] = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n [CONFIGURABLE]: true,\n [WRITABLE]: true,\n // could live with !!desc.set as well here...\n [ENUMERABLE]: desc[ENUMERABLE],\n [VALUE]: base[key]\n };\n }\n return O.create(getPrototypeOf(base), descriptors);\n } else {\n const proto2 = getPrototypeOf(base);\n if (proto2 !== null && isPlain) {\n return { ...base };\n }\n const obj = O.create(proto2);\n return O.assign(obj, base);\n }\n }\n function freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n O.defineProperties(obj, {\n set: dontMutateMethodOverride,\n add: dontMutateMethodOverride,\n clear: dontMutateMethodOverride,\n delete: dontMutateMethodOverride\n });\n }\n O.freeze(obj);\n if (deep)\n each(\n obj,\n (_key, value) => {\n freeze(value, true);\n },\n false\n );\n return obj;\n }\n function dontMutateFrozenCollections() {\n die(2);\n }\n var dontMutateMethodOverride = {\n [VALUE]: dontMutateFrozenCollections\n };\n function isFrozen(obj) {\n if (obj === null || !isObjectish(obj))\n return true;\n return O.isFrozen(obj);\n }\n var PluginMapSet = \"MapSet\";\n var PluginPatches = \"Patches\";\n var PluginArrayMethods = \"ArrayMethods\";\n var plugins = {};\n function getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n }\n var isPluginLoaded = (pluginKey) => !!plugins[pluginKey];\n var currentScope;\n var getCurrentScope = () => currentScope;\n var createScope = (parent_, immer_) => ({\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0,\n handledSet_: /* @__PURE__ */ new Set(),\n processedForPatches_: /* @__PURE__ */ new Set(),\n mapSetPlugin_: isPluginLoaded(PluginMapSet) ? getPlugin(PluginMapSet) : void 0,\n arrayMethodsPlugin_: isPluginLoaded(PluginArrayMethods) ? getPlugin(PluginArrayMethods) : void 0\n });\n function usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n scope.patchPlugin_ = getPlugin(PluginPatches);\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n }\n function revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n }\n function leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n }\n var enterScope = (immer22) => currentScope = createScope(currentScope, immer22);\n function revokeDraft(draft) {\n const state2 = draft[DRAFT_STATE];\n if (state2.type_ === 0 || state2.type_ === 1)\n state2.revoke_();\n else\n state2.revoked_ = true;\n }\n function processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n }\n const { patchPlugin_ } = scope;\n if (patchPlugin_) {\n patchPlugin_.generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope\n );\n }\n } else {\n result = finalize(scope, baseDraft);\n }\n maybeFreeze(scope, result, true);\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n }\n function finalize(rootScope, value) {\n if (isFrozen(value))\n return value;\n const state2 = value[DRAFT_STATE];\n if (!state2) {\n const finalValue = handleValue(value, rootScope.handledSet_, rootScope);\n return finalValue;\n }\n if (!isSameScope(state2, rootScope)) {\n return value;\n }\n if (!state2.modified_) {\n return state2.base_;\n }\n if (!state2.finalized_) {\n const { callbacks_ } = state2;\n if (callbacks_) {\n while (callbacks_.length > 0) {\n const callback = callbacks_.pop();\n callback(rootScope);\n }\n }\n generatePatchesAndFinalize(state2, rootScope);\n }\n return state2.copy_;\n }\n function maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n }\n function markStateFinalized(state2) {\n state2.finalized_ = true;\n state2.scope_.unfinalizedDrafts_--;\n }\n var isSameScope = (state2, rootScope) => state2.scope_ === rootScope;\n var EMPTY_LOCATIONS_RESULT = [];\n function updateDraftInParent(parent, draftValue, finalizedValue, originalKey) {\n const parentCopy = latest(parent);\n const parentType = parent.type_;\n if (originalKey !== void 0) {\n const currentValue = get3(parentCopy, originalKey, parentType);\n if (currentValue === draftValue) {\n set(parentCopy, originalKey, finalizedValue, parentType);\n return;\n }\n }\n if (!parent.draftLocations_) {\n const draftLocations = parent.draftLocations_ = /* @__PURE__ */ new Map();\n each(parentCopy, (key, value) => {\n if (isDraft(value)) {\n const keys = draftLocations.get(value) || [];\n keys.push(key);\n draftLocations.set(value, keys);\n }\n });\n }\n const locations = parent.draftLocations_.get(draftValue) ?? EMPTY_LOCATIONS_RESULT;\n for (const location of locations) {\n set(parentCopy, location, finalizedValue, parentType);\n }\n }\n function registerChildFinalizationCallback(parent, child, key) {\n parent.callbacks_.push(function childCleanup(rootScope) {\n const state2 = child;\n if (!state2 || !isSameScope(state2, rootScope)) {\n return;\n }\n rootScope.mapSetPlugin_?.fixSetContents(state2);\n const finalizedValue = getFinalValue(state2);\n updateDraftInParent(parent, state2.draft_ ?? state2, finalizedValue, key);\n generatePatchesAndFinalize(state2, rootScope);\n });\n }\n function generatePatchesAndFinalize(state2, rootScope) {\n const shouldFinalize = state2.modified_ && !state2.finalized_ && (state2.type_ === 3 || state2.type_ === 1 && state2.allIndicesReassigned_ || (state2.assigned_?.size ?? 0) > 0);\n if (shouldFinalize) {\n const { patchPlugin_ } = rootScope;\n if (patchPlugin_) {\n const basePath = patchPlugin_.getPath(state2);\n if (basePath) {\n patchPlugin_.generatePatches_(state2, basePath, rootScope);\n }\n }\n markStateFinalized(state2);\n }\n }\n function handleCrossReference(target, key, value) {\n const { scope_ } = target;\n if (isDraft(value)) {\n const state2 = value[DRAFT_STATE];\n if (isSameScope(state2, scope_)) {\n state2.callbacks_.push(function crossReferenceCleanup() {\n prepareCopy(target);\n const finalizedValue = getFinalValue(state2);\n updateDraftInParent(target, value, finalizedValue, key);\n });\n }\n } else if (isDraftable(value)) {\n target.callbacks_.push(function nestedDraftCleanup() {\n const targetCopy = latest(target);\n if (target.type_ === 3) {\n if (targetCopy.has(value)) {\n handleValue(value, scope_.handledSet_, scope_);\n }\n } else {\n if (get3(targetCopy, key, target.type_) === value) {\n if (scope_.drafts_.length > 1 && (target.assigned_.get(key) ?? false) === true && target.copy_) {\n handleValue(\n get3(target.copy_, key, target.type_),\n scope_.handledSet_,\n scope_\n );\n }\n }\n }\n });\n }\n }\n function handleValue(target, handledSet, rootScope) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return target;\n }\n if (isDraft(target) || handledSet.has(target) || !isDraftable(target) || isFrozen(target)) {\n return target;\n }\n handledSet.add(target);\n each(target, (key, value) => {\n if (isDraft(value)) {\n const state2 = value[DRAFT_STATE];\n if (isSameScope(state2, rootScope)) {\n const updatedValue = getFinalValue(state2);\n set(target, key, updatedValue, target.type_);\n markStateFinalized(state2);\n }\n } else if (isDraftable(value)) {\n handleValue(value, handledSet, rootScope);\n }\n });\n return target;\n }\n function createProxyProxy(base, parent) {\n const baseIsArray = isArray(base);\n const state2 = {\n type_: baseIsArray ? 1 : 0,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n // actually instantiated in `prepareCopy()`\n assigned_: void 0,\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false,\n // `callbacks` actually gets assigned in `createProxy`\n callbacks_: void 0\n };\n let target = state2;\n let traps = objectTraps;\n if (baseIsArray) {\n target = [state2];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state2.draft_ = proxy;\n state2.revoke_ = revoke;\n return [proxy, state2];\n }\n var objectTraps = {\n get(state2, prop) {\n if (prop === DRAFT_STATE)\n return state2;\n let arrayPlugin = state2.scope_.arrayMethodsPlugin_;\n const isArrayWithStringProp = state2.type_ === 1 && typeof prop === \"string\";\n if (isArrayWithStringProp) {\n if (arrayPlugin?.isArrayOperationMethod(prop)) {\n return arrayPlugin.createMethodInterceptor(state2, prop);\n }\n }\n const source = latest(state2);\n if (!has(source, prop, state2.type_)) {\n return readPropFromProto(state2, source, prop);\n }\n const value = source[prop];\n if (state2.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (isArrayWithStringProp && state2.operationMethod && arrayPlugin?.isMutatingArrayMethod(\n state2.operationMethod\n ) && isArrayIndex(prop)) {\n return value;\n }\n if (value === peek(state2.base_, prop)) {\n prepareCopy(state2);\n const childKey = state2.type_ === 1 ? +prop : prop;\n const childDraft = createProxy(state2.scope_, value, state2, childKey);\n return state2.copy_[childKey] = childDraft;\n }\n return value;\n },\n has(state2, prop) {\n return prop in latest(state2);\n },\n ownKeys(state2) {\n return Reflect.ownKeys(latest(state2));\n },\n set(state2, prop, value) {\n const desc = getDescriptorFromProto(latest(state2), prop);\n if (desc?.set) {\n desc.set.call(state2.draft_, value);\n return true;\n }\n if (!state2.modified_) {\n const current22 = peek(latest(state2), prop);\n const currentState = current22?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state2.copy_[prop] = value;\n state2.assigned_.set(prop, false);\n return true;\n }\n if (is(value, current22) && (value !== void 0 || has(state2.base_, prop, state2.type_)))\n return true;\n prepareCopy(state2);\n markChanged(state2);\n }\n if (state2.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state2.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state2.copy_[prop]))\n return true;\n state2.copy_[prop] = value;\n state2.assigned_.set(prop, true);\n handleCrossReference(state2, prop, value);\n return true;\n },\n deleteProperty(state2, prop) {\n prepareCopy(state2);\n if (peek(state2.base_, prop) !== void 0 || prop in state2.base_) {\n state2.assigned_.set(prop, false);\n markChanged(state2);\n } else {\n state2.assigned_.delete(prop);\n }\n if (state2.copy_) {\n delete state2.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state2, prop) {\n const owner = latest(state2);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n [WRITABLE]: true,\n [CONFIGURABLE]: state2.type_ !== 1 || prop !== \"length\",\n [ENUMERABLE]: desc[ENUMERABLE],\n [VALUE]: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state2) {\n return getPrototypeOf(state2.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n };\n var arrayTraps = {};\n for (let key in objectTraps) {\n let fn = objectTraps[key];\n arrayTraps[key] = function() {\n const args = arguments;\n args[0] = args[0][0];\n return fn.apply(this, args);\n };\n }\n arrayTraps.deleteProperty = function(state2, prop) {\n if (false)\n die(13);\n return arrayTraps.set.call(this, state2, prop, void 0);\n };\n arrayTraps.set = function(state2, prop, value) {\n if (false)\n die(14);\n return objectTraps.set.call(this, state2[0], prop, value, state2[0]);\n };\n function peek(draft, prop) {\n const state2 = draft[DRAFT_STATE];\n const source = state2 ? latest(state2) : draft;\n return source[prop];\n }\n function readPropFromProto(state2, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? VALUE in desc ? desc[VALUE] : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state2.draft_)\n ) : void 0;\n }\n function getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto2 = getPrototypeOf(source);\n while (proto2) {\n const desc = Object.getOwnPropertyDescriptor(proto2, prop);\n if (desc)\n return desc;\n proto2 = getPrototypeOf(proto2);\n }\n return void 0;\n }\n function markChanged(state2) {\n if (!state2.modified_) {\n state2.modified_ = true;\n if (state2.parent_) {\n markChanged(state2.parent_);\n }\n }\n }\n function prepareCopy(state2) {\n if (!state2.copy_) {\n state2.assigned_ = /* @__PURE__ */ new Map();\n state2.copy_ = shallowCopy(\n state2.base_,\n state2.scope_.immer_.useStrictShallowCopy_\n );\n }\n }\n var Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = false;\n this.produce = (base, recipe, patchListener) => {\n if (isFunction3(base) && !isFunction3(recipe)) {\n const defaultBase = recipe;\n recipe = base;\n const self2 = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self2.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (!isFunction3(recipe))\n die(6);\n if (patchListener !== void 0 && !isFunction3(patchListener))\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(scope, base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || !isObjectish(base)) {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(PluginPatches).generateReplacementPatches_(base, result, {\n patches_: p,\n inversePatches_: ip\n });\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (isFunction3(base)) {\n return (state2, ...args) => this.produceWithPatches(state2, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (isBoolean(config?.autoFreeze))\n this.setAutoFreeze(config.autoFreeze);\n if (isBoolean(config?.useStrictShallowCopy))\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (isBoolean(config?.useStrictIteration))\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(scope, base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state2 = draft && draft[DRAFT_STATE];\n if (!state2 || !state2.isManual_)\n die(9);\n const { scope_: scope } = state2;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(PluginPatches).applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n };\n function createProxy(rootScope, value, parent, key) {\n const [draft, state2] = isMap(value) ? getPlugin(PluginMapSet).proxyMap_(value, parent) : isSet(value) ? getPlugin(PluginMapSet).proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent?.scope_ ?? getCurrentScope();\n scope.drafts_.push(draft);\n state2.callbacks_ = parent?.callbacks_ ?? [];\n state2.key_ = key;\n if (parent && key !== void 0) {\n registerChildFinalizationCallback(parent, state2, key);\n } else {\n state2.callbacks_.push(function rootDraftCleanup(rootScope2) {\n rootScope2.mapSetPlugin_?.fixSetContents(state2);\n const { patchPlugin_ } = rootScope2;\n if (state2.modified_ && patchPlugin_) {\n patchPlugin_.generatePatches_(state2, [], rootScope2);\n }\n });\n }\n return draft;\n }\n function current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n }\n function currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state2 = value[DRAFT_STATE];\n let copy3;\n let strict = true;\n if (state2) {\n if (!state2.modified_)\n return state2.base_;\n state2.finalized_ = true;\n copy3 = shallowCopy(value, state2.scope_.immer_.useStrictShallowCopy_);\n strict = state2.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy3 = shallowCopy(value, true);\n }\n each(\n copy3,\n (key, childValue) => {\n set(copy3, key, currentImpl(childValue));\n },\n strict\n );\n if (state2) {\n state2.finalized_ = false;\n }\n return copy3;\n }\n var immer = new Immer2();\n var produce = immer.produce;\n\n // ../../../node_modules/.bun/redux-thunk@3.1.0+bc2e82c311c56ef9/node_modules/redux-thunk/dist/redux-thunk.mjs\n function createThunkMiddleware(extraArgument) {\n const middleware = ({ dispatch, getState: getState8 }) => (next2) => (action) => {\n if (typeof action === \"function\") {\n return action(dispatch, getState8, extraArgument);\n }\n return next2(action);\n };\n return middleware;\n }\n var thunk = createThunkMiddleware();\n var withExtraArgument = createThunkMiddleware;\n\n // ../../../node_modules/.bun/@reduxjs+toolkit@2.11.2+89f735f708838e7b/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs\n var composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() {\n if (arguments.length === 0) return void 0;\n if (typeof arguments[0] === \"object\") return compose;\n return compose.apply(null, arguments);\n };\n var devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function() {\n return function(noop32) {\n return noop32;\n };\n };\n var hasMatchFunction = (v) => {\n return v && typeof v.match === \"function\";\n };\n function createAction(type, prepareAction) {\n function actionCreator(...args) {\n if (prepareAction) {\n let prepared = prepareAction(...args);\n if (!prepared) {\n throw new Error(true ? formatProdErrorMessage2(0) : \"prepareAction did not return an object\");\n }\n return {\n type,\n payload: prepared.payload,\n ...\"meta\" in prepared && {\n meta: prepared.meta\n },\n ...\"error\" in prepared && {\n error: prepared.error\n }\n };\n }\n return {\n type,\n payload: args[0]\n };\n }\n actionCreator.toString = () => `${type}`;\n actionCreator.type = type;\n actionCreator.match = (action) => isAction(action) && action.type === type;\n return actionCreator;\n }\n var Tuple = class _Tuple extends Array {\n constructor(...items) {\n super(...items);\n Object.setPrototypeOf(this, _Tuple.prototype);\n }\n static get [Symbol.species]() {\n return _Tuple;\n }\n concat(...arr) {\n return super.concat.apply(this, arr);\n }\n prepend(...arr) {\n if (arr.length === 1 && Array.isArray(arr[0])) {\n return new _Tuple(...arr[0].concat(this));\n }\n return new _Tuple(...arr.concat(this));\n }\n };\n function freezeDraftable(val) {\n return isDraftable(val) ? produce(val, () => {\n }) : val;\n }\n function getOrInsertComputed(map2, key, compute) {\n if (map2.has(key)) return map2.get(key);\n return map2.set(key, compute(key)).get(key);\n }\n function isBoolean2(x2) {\n return typeof x2 === \"boolean\";\n }\n var buildGetDefaultMiddleware = () => function getDefaultMiddleware(options2) {\n const {\n thunk: thunk2 = true,\n immutableCheck = true,\n serializableCheck = true,\n actionCreatorCheck = true\n } = options2 ?? {};\n let middlewareArray = new Tuple();\n if (thunk2) {\n if (isBoolean2(thunk2)) {\n middlewareArray.push(thunk);\n } else {\n middlewareArray.push(withExtraArgument(thunk2.extraArgument));\n }\n }\n if (false) {\n if (immutableCheck) {\n let immutableOptions = {};\n if (!isBoolean2(immutableCheck)) {\n immutableOptions = immutableCheck;\n }\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\n }\n if (serializableCheck) {\n let serializableOptions = {};\n if (!isBoolean2(serializableCheck)) {\n serializableOptions = serializableCheck;\n }\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\n }\n if (actionCreatorCheck) {\n let actionCreatorOptions = {};\n if (!isBoolean2(actionCreatorCheck)) {\n actionCreatorOptions = actionCreatorCheck;\n }\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\n }\n }\n return middlewareArray;\n };\n var SHOULD_AUTOBATCH = \"RTK_autoBatch\";\n var prepareAutoBatched = () => (payload) => ({\n payload,\n meta: {\n [SHOULD_AUTOBATCH]: true\n }\n });\n var createQueueWithTimer = (timeout) => {\n return (notify) => {\n setTimeout(notify, timeout);\n };\n };\n var autoBatchEnhancer = (options2 = {\n type: \"raf\"\n }) => (next2) => (...args) => {\n const store = next2(...args);\n let notifying = true;\n let shouldNotifyAtEndOfTick = false;\n let notificationQueued = false;\n const listeners = /* @__PURE__ */ new Set();\n const queueCallback = options2.type === \"tick\" ? queueMicrotask : options2.type === \"raf\" ? (\n // requestAnimationFrame won't exist in SSR environments. Fall back to a vague approximation just to keep from erroring.\n typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10)\n ) : options2.type === \"callback\" ? options2.queueNotification : createQueueWithTimer(options2.timeout);\n const notifyListeners = () => {\n notificationQueued = false;\n if (shouldNotifyAtEndOfTick) {\n shouldNotifyAtEndOfTick = false;\n listeners.forEach((l) => l());\n }\n };\n return Object.assign({}, store, {\n // Override the base `store.subscribe` method to keep original listeners\n // from running if we're delaying notifications\n subscribe(listener2) {\n const wrappedListener = () => notifying && listener2();\n const unsubscribe = store.subscribe(wrappedListener);\n listeners.add(listener2);\n return () => {\n unsubscribe();\n listeners.delete(listener2);\n };\n },\n // Override the base `store.dispatch` method so that we can check actions\n // for the `shouldAutoBatch` flag and determine if batching is active\n dispatch(action) {\n try {\n notifying = !action?.meta?.[SHOULD_AUTOBATCH];\n shouldNotifyAtEndOfTick = !notifying;\n if (shouldNotifyAtEndOfTick) {\n if (!notificationQueued) {\n notificationQueued = true;\n queueCallback(notifyListeners);\n }\n }\n return store.dispatch(action);\n } finally {\n notifying = true;\n }\n }\n });\n };\n var buildGetDefaultEnhancers = (middlewareEnhancer) => function getDefaultEnhancers(options2) {\n const {\n autoBatch = true\n } = options2 ?? {};\n let enhancerArray = new Tuple(middlewareEnhancer);\n if (autoBatch) {\n enhancerArray.push(autoBatchEnhancer(typeof autoBatch === \"object\" ? autoBatch : void 0));\n }\n return enhancerArray;\n };\n function configureStore(options2) {\n const getDefaultMiddleware = buildGetDefaultMiddleware();\n const {\n reducer = void 0,\n middleware,\n devTools = true,\n duplicateMiddlewareCheck = true,\n preloadedState = void 0,\n enhancers = void 0\n } = options2 || {};\n let rootReducer2;\n if (typeof reducer === \"function\") {\n rootReducer2 = reducer;\n } else if (isPlainObject2(reducer)) {\n rootReducer2 = combineReducers(reducer);\n } else {\n throw new Error(true ? formatProdErrorMessage2(1) : \"`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers\");\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(2) : \"`middleware` field must be a callback\");\n }\n let finalMiddleware;\n if (typeof middleware === \"function\") {\n finalMiddleware = middleware(getDefaultMiddleware);\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(3) : \"when using a middleware builder function, an array of middleware must be returned\");\n }\n } else {\n finalMiddleware = getDefaultMiddleware();\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(4) : \"each middleware provided to configureStore must be a function\");\n }\n if (false) {\n let middlewareReferences = /* @__PURE__ */ new Set();\n finalMiddleware.forEach((middleware2) => {\n if (middlewareReferences.has(middleware2)) {\n throw new Error(true ? formatProdErrorMessage2(42) : \"Duplicate middleware references found when creating the store. Ensure that each middleware is only included once.\");\n }\n middlewareReferences.add(middleware2);\n });\n }\n let finalCompose = compose;\n if (devTools) {\n finalCompose = composeWithDevTools({\n // Enable capture of stack traces for dispatched Redux actions\n trace: false,\n ...typeof devTools === \"object\" && devTools\n });\n }\n const middlewareEnhancer = applyMiddleware(...finalMiddleware);\n const getDefaultEnhancers = buildGetDefaultEnhancers(middlewareEnhancer);\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(5) : \"`enhancers` field must be a callback\");\n }\n let storeEnhancers = typeof enhancers === \"function\" ? enhancers(getDefaultEnhancers) : getDefaultEnhancers();\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(6) : \"`enhancers` callback must return an array\");\n }\n if (false) {\n throw new Error(true ? formatProdErrorMessage2(7) : \"each enhancer provided to configureStore must be a function\");\n }\n if (false) {\n console.error(\"middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`\");\n }\n const composedEnhancer = finalCompose(...storeEnhancers);\n return createStore(rootReducer2, preloadedState, composedEnhancer);\n }\n function executeReducerBuilderCallback(builderCallback) {\n const actionsMap = {};\n const actionMatchers = [];\n let defaultCaseReducer;\n const builder = {\n addCase(typeOrActionCreator, reducer) {\n if (false) {\n if (actionMatchers.length > 0) {\n throw new Error(true ? formatProdErrorMessage2(26) : \"`builder.addCase` should only be called before calling `builder.addMatcher`\");\n }\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(27) : \"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n if (!type) {\n throw new Error(true ? formatProdErrorMessage2(28) : \"`builder.addCase` cannot be called with an empty action type\");\n }\n if (type in actionsMap) {\n throw new Error(true ? formatProdErrorMessage2(29) : `\\`builder.addCase\\` cannot be called with two reducers for the same action type '${type}'`);\n }\n actionsMap[type] = reducer;\n return builder;\n },\n addAsyncThunk(asyncThunk, reducers2) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(43) : \"`builder.addAsyncThunk` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n if (reducers2.pending) actionsMap[asyncThunk.pending.type] = reducers2.pending;\n if (reducers2.rejected) actionsMap[asyncThunk.rejected.type] = reducers2.rejected;\n if (reducers2.fulfilled) actionsMap[asyncThunk.fulfilled.type] = reducers2.fulfilled;\n if (reducers2.settled) actionMatchers.push({\n matcher: asyncThunk.settled,\n reducer: reducers2.settled\n });\n return builder;\n },\n addMatcher(matcher, reducer) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(30) : \"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\n }\n }\n actionMatchers.push({\n matcher,\n reducer\n });\n return builder;\n },\n addDefaultCase(reducer) {\n if (false) {\n if (defaultCaseReducer) {\n throw new Error(true ? formatProdErrorMessage2(31) : \"`builder.addDefaultCase` can only be called once\");\n }\n }\n defaultCaseReducer = reducer;\n return builder;\n }\n };\n builderCallback(builder);\n return [actionsMap, actionMatchers, defaultCaseReducer];\n }\n function isStateFunction(x2) {\n return typeof x2 === \"function\";\n }\n function createReducer(initialState15, mapOrBuilderCallback) {\n if (false) {\n if (typeof mapOrBuilderCallback === \"object\") {\n throw new Error(true ? formatProdErrorMessage2(8) : \"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\n }\n }\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] = executeReducerBuilderCallback(mapOrBuilderCallback);\n let getInitialState;\n if (isStateFunction(initialState15)) {\n getInitialState = () => freezeDraftable(initialState15());\n } else {\n const frozenInitialState = freezeDraftable(initialState15);\n getInitialState = () => frozenInitialState;\n }\n function reducer(state2 = getInitialState(), action) {\n let caseReducers = [actionsMap[action.type], ...finalActionMatchers.filter(({\n matcher\n }) => matcher(action)).map(({\n reducer: reducer2\n }) => reducer2)];\n if (caseReducers.filter((cr) => !!cr).length === 0) {\n caseReducers = [finalDefaultCaseReducer];\n }\n return caseReducers.reduce((previousState, caseReducer) => {\n if (caseReducer) {\n if (isDraft(previousState)) {\n const draft = previousState;\n const result = caseReducer(draft, action);\n if (result === void 0) {\n return previousState;\n }\n return result;\n } else if (!isDraftable(previousState)) {\n const result = caseReducer(previousState, action);\n if (result === void 0) {\n if (previousState === null) {\n return previousState;\n }\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\n }\n return result;\n } else {\n return produce(previousState, (draft) => {\n return caseReducer(draft, action);\n });\n }\n }\n return previousState;\n }, state2);\n }\n reducer.getInitialState = getInitialState;\n return reducer;\n }\n var matches = (matcher, action) => {\n if (hasMatchFunction(matcher)) {\n return matcher.match(action);\n } else {\n return matcher(action);\n }\n };\n function isAnyOf(...matchers) {\n return (action) => {\n return matchers.some((matcher) => matches(matcher, action));\n };\n }\n var urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\n var nanoid = (size4 = 21) => {\n let id = \"\";\n let i = size4;\n while (i--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n };\n var commonProperties = [\"name\", \"message\", \"stack\", \"code\"];\n var RejectWithValue = class {\n constructor(payload, meta) {\n this.payload = payload;\n this.meta = meta;\n }\n /*\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\n does not exist at runtime\n */\n _type;\n };\n var FulfillWithMeta = class {\n constructor(payload, meta) {\n this.payload = payload;\n this.meta = meta;\n }\n /*\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\n does not exist at runtime\n */\n _type;\n };\n var miniSerializeError = (value) => {\n if (typeof value === \"object\" && value !== null) {\n const simpleError = {};\n for (const property of commonProperties) {\n if (typeof value[property] === \"string\") {\n simpleError[property] = value[property];\n }\n }\n return simpleError;\n }\n return {\n message: String(value)\n };\n };\n var externalAbortMessage = \"External signal was aborted\";\n var createAsyncThunk = /* @__PURE__ */ (() => {\n function createAsyncThunk2(typePrefix, payloadCreator, options2) {\n const fulfilled = createAction(typePrefix + \"/fulfilled\", (payload, requestId, arg, meta) => ({\n payload,\n meta: {\n ...meta || {},\n arg,\n requestId,\n requestStatus: \"fulfilled\"\n }\n }));\n const pending = createAction(typePrefix + \"/pending\", (requestId, arg, meta) => ({\n payload: void 0,\n meta: {\n ...meta || {},\n arg,\n requestId,\n requestStatus: \"pending\"\n }\n }));\n const rejected = createAction(typePrefix + \"/rejected\", (error, requestId, arg, payload, meta) => ({\n payload,\n error: (options2 && options2.serializeError || miniSerializeError)(error || \"Rejected\"),\n meta: {\n ...meta || {},\n arg,\n requestId,\n rejectedWithValue: !!payload,\n requestStatus: \"rejected\",\n aborted: error?.name === \"AbortError\",\n condition: error?.name === \"ConditionError\"\n }\n }));\n function actionCreator(arg, {\n signal\n } = {}) {\n return (dispatch, getState8, extra) => {\n const requestId = options2?.idGenerator ? options2.idGenerator(arg) : nanoid();\n const abortController = new AbortController();\n let abortHandler;\n let abortReason;\n function abort(reason) {\n abortReason = reason;\n abortController.abort();\n }\n if (signal) {\n if (signal.aborted) {\n abort(externalAbortMessage);\n } else {\n signal.addEventListener(\"abort\", () => abort(externalAbortMessage), {\n once: true\n });\n }\n }\n const promise = (async function() {\n let finalAction;\n try {\n let conditionResult = options2?.condition?.(arg, {\n getState: getState8,\n extra\n });\n if (isThenable(conditionResult)) {\n conditionResult = await conditionResult;\n }\n if (conditionResult === false || abortController.signal.aborted) {\n throw {\n name: \"ConditionError\",\n message: \"Aborted due to condition callback returning false.\"\n };\n }\n const abortedPromise = new Promise((_, reject) => {\n abortHandler = () => {\n reject({\n name: \"AbortError\",\n message: abortReason || \"Aborted\"\n });\n };\n abortController.signal.addEventListener(\"abort\", abortHandler, {\n once: true\n });\n });\n dispatch(pending(requestId, arg, options2?.getPendingMeta?.({\n requestId,\n arg\n }, {\n getState: getState8,\n extra\n })));\n finalAction = await Promise.race([abortedPromise, Promise.resolve(payloadCreator(arg, {\n dispatch,\n getState: getState8,\n extra,\n requestId,\n signal: abortController.signal,\n abort,\n rejectWithValue: (value, meta) => {\n return new RejectWithValue(value, meta);\n },\n fulfillWithValue: (value, meta) => {\n return new FulfillWithMeta(value, meta);\n }\n })).then((result) => {\n if (result instanceof RejectWithValue) {\n throw result;\n }\n if (result instanceof FulfillWithMeta) {\n return fulfilled(result.payload, requestId, arg, result.meta);\n }\n return fulfilled(result, requestId, arg);\n })]);\n } catch (err) {\n finalAction = err instanceof RejectWithValue ? rejected(null, requestId, arg, err.payload, err.meta) : rejected(err, requestId, arg);\n } finally {\n if (abortHandler) {\n abortController.signal.removeEventListener(\"abort\", abortHandler);\n }\n }\n const skipDispatch = options2 && !options2.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\n if (!skipDispatch) {\n dispatch(finalAction);\n }\n return finalAction;\n })();\n return Object.assign(promise, {\n abort,\n requestId,\n arg,\n unwrap() {\n return promise.then(unwrapResult);\n }\n });\n };\n }\n return Object.assign(actionCreator, {\n pending,\n rejected,\n fulfilled,\n settled: isAnyOf(rejected, fulfilled),\n typePrefix\n });\n }\n createAsyncThunk2.withTypes = () => createAsyncThunk2;\n return createAsyncThunk2;\n })();\n function unwrapResult(action) {\n if (action.meta && action.meta.rejectedWithValue) {\n throw action.payload;\n }\n if (action.error) {\n throw action.error;\n }\n return action.payload;\n }\n function isThenable(value) {\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\n }\n var asyncThunkSymbol = /* @__PURE__ */ Symbol.for(\"rtk-slice-createasyncthunk\");\n var asyncThunkCreator = {\n [asyncThunkSymbol]: createAsyncThunk\n };\n function getType(slice2, actionKey) {\n return `${slice2}/${actionKey}`;\n }\n function buildCreateSlice({\n creators\n } = {}) {\n const cAT = creators?.asyncThunk?.[asyncThunkSymbol];\n return function createSlice2(options2) {\n const {\n name,\n reducerPath = name\n } = options2;\n if (!name) {\n throw new Error(true ? formatProdErrorMessage2(11) : \"`name` is a required option for createSlice\");\n }\n if (typeof process !== \"undefined\" && false) {\n if (options2.initialState === void 0) {\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\n }\n }\n const reducers2 = (typeof options2.reducers === \"function\" ? options2.reducers(buildReducerCreators()) : options2.reducers) || {};\n const reducerNames = Object.keys(reducers2);\n const context = {\n sliceCaseReducersByName: {},\n sliceCaseReducersByType: {},\n actionCreators: {},\n sliceMatchers: []\n };\n const contextMethods = {\n addCase(typeOrActionCreator, reducer2) {\n const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n if (!type) {\n throw new Error(true ? formatProdErrorMessage2(12) : \"`context.addCase` cannot be called with an empty action type\");\n }\n if (type in context.sliceCaseReducersByType) {\n throw new Error(true ? formatProdErrorMessage2(13) : \"`context.addCase` cannot be called with two reducers for the same action type: \" + type);\n }\n context.sliceCaseReducersByType[type] = reducer2;\n return contextMethods;\n },\n addMatcher(matcher, reducer2) {\n context.sliceMatchers.push({\n matcher,\n reducer: reducer2\n });\n return contextMethods;\n },\n exposeAction(name2, actionCreator) {\n context.actionCreators[name2] = actionCreator;\n return contextMethods;\n },\n exposeCaseReducer(name2, reducer2) {\n context.sliceCaseReducersByName[name2] = reducer2;\n return contextMethods;\n }\n };\n reducerNames.forEach((reducerName) => {\n const reducerDefinition = reducers2[reducerName];\n const reducerDetails = {\n reducerName,\n type: getType(name, reducerName),\n createNotation: typeof options2.reducers === \"function\"\n };\n if (isAsyncThunkSliceReducerDefinition(reducerDefinition)) {\n handleThunkCaseReducerDefinition(reducerDetails, reducerDefinition, contextMethods, cAT);\n } else {\n handleNormalReducerDefinition(reducerDetails, reducerDefinition, contextMethods);\n }\n });\n function buildReducer() {\n if (false) {\n if (typeof options2.extraReducers === \"object\") {\n throw new Error(true ? formatProdErrorMessage2(14) : \"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\n }\n }\n const [extraReducers = {}, actionMatchers = [], defaultCaseReducer = void 0] = typeof options2.extraReducers === \"function\" ? executeReducerBuilderCallback(options2.extraReducers) : [options2.extraReducers];\n const finalCaseReducers = {\n ...extraReducers,\n ...context.sliceCaseReducersByType\n };\n return createReducer(options2.initialState, (builder) => {\n for (let key in finalCaseReducers) {\n builder.addCase(key, finalCaseReducers[key]);\n }\n for (let sM of context.sliceMatchers) {\n builder.addMatcher(sM.matcher, sM.reducer);\n }\n for (let m of actionMatchers) {\n builder.addMatcher(m.matcher, m.reducer);\n }\n if (defaultCaseReducer) {\n builder.addDefaultCase(defaultCaseReducer);\n }\n });\n }\n const selectSelf = (state2) => state2;\n const injectedSelectorCache = /* @__PURE__ */ new Map();\n const injectedStateCache = /* @__PURE__ */ new WeakMap();\n let _reducer;\n function reducer(state2, action) {\n if (!_reducer) _reducer = buildReducer();\n return _reducer(state2, action);\n }\n function getInitialState() {\n if (!_reducer) _reducer = buildReducer();\n return _reducer.getInitialState();\n }\n function makeSelectorProps(reducerPath2, injected = false) {\n function selectSlice(state2) {\n let sliceState = state2[reducerPath2];\n if (typeof sliceState === \"undefined\") {\n if (injected) {\n sliceState = getOrInsertComputed(injectedStateCache, selectSlice, getInitialState);\n } else if (false) {\n throw new Error(true ? formatProdErrorMessage2(15) : \"selectSlice returned undefined for an uninjected slice reducer\");\n }\n }\n return sliceState;\n }\n function getSelectors(selectState = selectSelf) {\n const selectorCache = getOrInsertComputed(injectedSelectorCache, injected, () => /* @__PURE__ */ new WeakMap());\n return getOrInsertComputed(selectorCache, selectState, () => {\n const map2 = {};\n for (const [name2, selector] of Object.entries(options2.selectors ?? {})) {\n map2[name2] = wrapSelector(selector, selectState, () => getOrInsertComputed(injectedStateCache, selectState, getInitialState), injected);\n }\n return map2;\n });\n }\n return {\n reducerPath: reducerPath2,\n getSelectors,\n get selectors() {\n return getSelectors(selectSlice);\n },\n selectSlice\n };\n }\n const slice2 = {\n name,\n reducer,\n actions: context.actionCreators,\n caseReducers: context.sliceCaseReducersByName,\n getInitialState,\n ...makeSelectorProps(reducerPath),\n injectInto(injectable, {\n reducerPath: pathOpt,\n ...config\n } = {}) {\n const newReducerPath = pathOpt ?? reducerPath;\n injectable.inject({\n reducerPath: newReducerPath,\n reducer\n }, config);\n return {\n ...slice2,\n ...makeSelectorProps(newReducerPath, true)\n };\n }\n };\n return slice2;\n };\n }\n function wrapSelector(selector, selectState, getInitialState, injected) {\n function wrapper(rootState, ...args) {\n let sliceState = selectState(rootState);\n if (typeof sliceState === \"undefined\") {\n if (injected) {\n sliceState = getInitialState();\n } else if (false) {\n throw new Error(true ? formatProdErrorMessage2(16) : \"selectState returned undefined for an uninjected slice reducer\");\n }\n }\n return selector(sliceState, ...args);\n }\n wrapper.unwrapped = selector;\n return wrapper;\n }\n var createSlice = /* @__PURE__ */ buildCreateSlice();\n function buildReducerCreators() {\n function asyncThunk(payloadCreator, config) {\n return {\n _reducerDefinitionType: \"asyncThunk\",\n payloadCreator,\n ...config\n };\n }\n asyncThunk.withTypes = () => asyncThunk;\n return {\n reducer(caseReducer) {\n return Object.assign({\n // hack so the wrapping function has the same name as the original\n // we need to create a wrapper so the `reducerDefinitionType` is not assigned to the original\n [caseReducer.name](...args) {\n return caseReducer(...args);\n }\n }[caseReducer.name], {\n _reducerDefinitionType: \"reducer\"\n /* reducer */\n });\n },\n preparedReducer(prepare, reducer) {\n return {\n _reducerDefinitionType: \"reducerWithPrepare\",\n prepare,\n reducer\n };\n },\n asyncThunk\n };\n }\n function handleNormalReducerDefinition({\n type,\n reducerName,\n createNotation\n }, maybeReducerWithPrepare, context) {\n let caseReducer;\n let prepareCallback;\n if (\"reducer\" in maybeReducerWithPrepare) {\n if (createNotation && !isCaseReducerWithPrepareDefinition(maybeReducerWithPrepare)) {\n throw new Error(true ? formatProdErrorMessage2(17) : \"Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.\");\n }\n caseReducer = maybeReducerWithPrepare.reducer;\n prepareCallback = maybeReducerWithPrepare.prepare;\n } else {\n caseReducer = maybeReducerWithPrepare;\n }\n context.addCase(type, caseReducer).exposeCaseReducer(reducerName, caseReducer).exposeAction(reducerName, prepareCallback ? createAction(type, prepareCallback) : createAction(type));\n }\n function isAsyncThunkSliceReducerDefinition(reducerDefinition) {\n return reducerDefinition._reducerDefinitionType === \"asyncThunk\";\n }\n function isCaseReducerWithPrepareDefinition(reducerDefinition) {\n return reducerDefinition._reducerDefinitionType === \"reducerWithPrepare\";\n }\n function handleThunkCaseReducerDefinition({\n type,\n reducerName\n }, reducerDefinition, context, cAT) {\n if (!cAT) {\n throw new Error(true ? formatProdErrorMessage2(18) : \"Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.\");\n }\n const {\n payloadCreator,\n fulfilled,\n pending,\n rejected,\n settled,\n options: options2\n } = reducerDefinition;\n const thunk2 = cAT(type, payloadCreator, options2);\n context.exposeAction(reducerName, thunk2);\n if (fulfilled) {\n context.addCase(thunk2.fulfilled, fulfilled);\n }\n if (pending) {\n context.addCase(thunk2.pending, pending);\n }\n if (rejected) {\n context.addCase(thunk2.rejected, rejected);\n }\n if (settled) {\n context.addMatcher(thunk2.settled, settled);\n }\n context.exposeCaseReducer(reducerName, {\n fulfilled: fulfilled || noop6,\n pending: pending || noop6,\n rejected: rejected || noop6,\n settled: settled || noop6\n });\n }\n function noop6() {\n }\n var task = \"task\";\n var listener = \"listener\";\n var completed = \"completed\";\n var cancelled = \"cancelled\";\n var taskCancelled = `task-${cancelled}`;\n var taskCompleted = `task-${completed}`;\n var listenerCancelled = `${listener}-${cancelled}`;\n var listenerCompleted = `${listener}-${completed}`;\n var TaskAbortError = class {\n constructor(code) {\n this.code = code;\n this.message = `${task} ${cancelled} (reason: ${code})`;\n }\n name = \"TaskAbortError\";\n message;\n };\n var assertFunction = (func, expected) => {\n if (typeof func !== \"function\") {\n throw new TypeError(true ? formatProdErrorMessage2(32) : `${expected} is not a function`);\n }\n };\n var noop22 = () => {\n };\n var catchRejection = (promise, onError = noop22) => {\n promise.catch(onError);\n return promise;\n };\n var addAbortSignalListener = (abortSignal, callback) => {\n abortSignal.addEventListener(\"abort\", callback, {\n once: true\n });\n return () => abortSignal.removeEventListener(\"abort\", callback);\n };\n var validateActive = (signal) => {\n if (signal.aborted) {\n throw new TaskAbortError(signal.reason);\n }\n };\n function raceWithSignal(signal, promise) {\n let cleanup = noop22;\n return new Promise((resolve, reject) => {\n const notifyRejection = () => reject(new TaskAbortError(signal.reason));\n if (signal.aborted) {\n notifyRejection();\n return;\n }\n cleanup = addAbortSignalListener(signal, notifyRejection);\n promise.finally(() => cleanup()).then(resolve, reject);\n }).finally(() => {\n cleanup = noop22;\n });\n }\n var runTask = async (task2, cleanUp) => {\n try {\n await Promise.resolve();\n const value = await task2();\n return {\n status: \"ok\",\n value\n };\n } catch (error) {\n return {\n status: error instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\n error\n };\n } finally {\n cleanUp?.();\n }\n };\n var createPause = (signal) => {\n return (promise) => {\n return catchRejection(raceWithSignal(signal, promise).then((output) => {\n validateActive(signal);\n return output;\n }));\n };\n };\n var createDelay = (signal) => {\n const pause = createPause(signal);\n return (timeoutMs) => {\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)));\n };\n };\n var {\n assign\n } = Object;\n var INTERNAL_NIL_TOKEN = {};\n var alm = \"listenerMiddleware\";\n var createFork = (parentAbortSignal, parentBlockingPromises) => {\n const linkControllers = (controller) => addAbortSignalListener(parentAbortSignal, () => controller.abort(parentAbortSignal.reason));\n return (taskExecutor, opts) => {\n assertFunction(taskExecutor, \"taskExecutor\");\n const childAbortController = new AbortController();\n linkControllers(childAbortController);\n const result = runTask(async () => {\n validateActive(parentAbortSignal);\n validateActive(childAbortController.signal);\n const result2 = await taskExecutor({\n pause: createPause(childAbortController.signal),\n delay: createDelay(childAbortController.signal),\n signal: childAbortController.signal\n });\n validateActive(childAbortController.signal);\n return result2;\n }, () => childAbortController.abort(taskCompleted));\n if (opts?.autoJoin) {\n parentBlockingPromises.push(result.catch(noop22));\n }\n return {\n result: createPause(parentAbortSignal)(result),\n cancel() {\n childAbortController.abort(taskCancelled);\n }\n };\n };\n };\n var createTakePattern = (startListening, signal) => {\n const take = async (predicate, timeout) => {\n validateActive(signal);\n let unsubscribe = () => {\n };\n const tuplePromise = new Promise((resolve, reject) => {\n let stopListening = startListening({\n predicate,\n effect: (action, listenerApi) => {\n listenerApi.unsubscribe();\n resolve([action, listenerApi.getState(), listenerApi.getOriginalState()]);\n }\n });\n unsubscribe = () => {\n stopListening();\n reject();\n };\n });\n const promises = [tuplePromise];\n if (timeout != null) {\n promises.push(new Promise((resolve) => setTimeout(resolve, timeout, null)));\n }\n try {\n const output = await raceWithSignal(signal, Promise.race(promises));\n validateActive(signal);\n return output;\n } finally {\n unsubscribe();\n }\n };\n return (predicate, timeout) => catchRejection(take(predicate, timeout));\n };\n var getListenerEntryPropsFrom = (options2) => {\n let {\n type,\n actionCreator,\n matcher,\n predicate,\n effect\n } = options2;\n if (type) {\n predicate = createAction(type).match;\n } else if (actionCreator) {\n type = actionCreator.type;\n predicate = actionCreator.match;\n } else if (matcher) {\n predicate = matcher;\n } else if (predicate) {\n } else {\n throw new Error(true ? formatProdErrorMessage2(21) : \"Creating or removing a listener requires one of the known fields for matching an action\");\n }\n assertFunction(effect, \"options.listener\");\n return {\n predicate,\n type,\n effect\n };\n };\n var createListenerEntry = /* @__PURE__ */ assign((options2) => {\n const {\n type,\n predicate,\n effect\n } = getListenerEntryPropsFrom(options2);\n const entry = {\n id: nanoid(),\n effect,\n type,\n predicate,\n pending: /* @__PURE__ */ new Set(),\n unsubscribe: () => {\n throw new Error(true ? formatProdErrorMessage2(22) : \"Unsubscribe not initialized\");\n }\n };\n return entry;\n }, {\n withTypes: () => createListenerEntry\n });\n var findListenerEntry = (listenerMap, options2) => {\n const {\n type,\n effect,\n predicate\n } = getListenerEntryPropsFrom(options2);\n return Array.from(listenerMap.values()).find((entry) => {\n const matchPredicateOrType = typeof type === \"string\" ? entry.type === type : entry.predicate === predicate;\n return matchPredicateOrType && entry.effect === effect;\n });\n };\n var cancelActiveListeners = (entry) => {\n entry.pending.forEach((controller) => {\n controller.abort(listenerCancelled);\n });\n };\n var createClearListenerMiddleware = (listenerMap, executingListeners) => {\n return () => {\n for (const listener2 of executingListeners.keys()) {\n cancelActiveListeners(listener2);\n }\n listenerMap.clear();\n };\n };\n var safelyNotifyError = (errorHandler, errorToNotify, errorInfo) => {\n try {\n errorHandler(errorToNotify, errorInfo);\n } catch (errorHandlerError) {\n setTimeout(() => {\n throw errorHandlerError;\n }, 0);\n }\n };\n var addListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/add`), {\n withTypes: () => addListener\n });\n var clearAllListeners = /* @__PURE__ */ createAction(`${alm}/removeAll`);\n var removeListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/remove`), {\n withTypes: () => removeListener\n });\n var defaultErrorHandler = (...args) => {\n console.error(`${alm}/error`, ...args);\n };\n var createListenerMiddleware = (middlewareOptions = {}) => {\n const listenerMap = /* @__PURE__ */ new Map();\n const executingListeners = /* @__PURE__ */ new Map();\n const trackExecutingListener = (entry) => {\n const count3 = executingListeners.get(entry) ?? 0;\n executingListeners.set(entry, count3 + 1);\n };\n const untrackExecutingListener = (entry) => {\n const count3 = executingListeners.get(entry) ?? 1;\n if (count3 === 1) {\n executingListeners.delete(entry);\n } else {\n executingListeners.set(entry, count3 - 1);\n }\n };\n const {\n extra,\n onError = defaultErrorHandler\n } = middlewareOptions;\n assertFunction(onError, \"onError\");\n const insertEntry = (entry) => {\n entry.unsubscribe = () => listenerMap.delete(entry.id);\n listenerMap.set(entry.id, entry);\n return (cancelOptions) => {\n entry.unsubscribe();\n if (cancelOptions?.cancelActive) {\n cancelActiveListeners(entry);\n }\n };\n };\n const startListening = (options2) => {\n const entry = findListenerEntry(listenerMap, options2) ?? createListenerEntry(options2);\n return insertEntry(entry);\n };\n assign(startListening, {\n withTypes: () => startListening\n });\n const stopListening = (options2) => {\n const entry = findListenerEntry(listenerMap, options2);\n if (entry) {\n entry.unsubscribe();\n if (options2.cancelActive) {\n cancelActiveListeners(entry);\n }\n }\n return !!entry;\n };\n assign(stopListening, {\n withTypes: () => stopListening\n });\n const notifyListener = async (entry, action, api, getOriginalState) => {\n const internalTaskController = new AbortController();\n const take = createTakePattern(startListening, internalTaskController.signal);\n const autoJoinPromises = [];\n try {\n entry.pending.add(internalTaskController);\n trackExecutingListener(entry);\n await Promise.resolve(entry.effect(\n action,\n // Use assign() rather than ... to avoid extra helper functions added to bundle\n assign({}, api, {\n getOriginalState,\n condition: (predicate, timeout) => take(predicate, timeout).then(Boolean),\n take,\n delay: createDelay(internalTaskController.signal),\n pause: createPause(internalTaskController.signal),\n extra,\n signal: internalTaskController.signal,\n fork: createFork(internalTaskController.signal, autoJoinPromises),\n unsubscribe: entry.unsubscribe,\n subscribe: () => {\n listenerMap.set(entry.id, entry);\n },\n cancelActiveListeners: () => {\n entry.pending.forEach((controller, _, set3) => {\n if (controller !== internalTaskController) {\n controller.abort(listenerCancelled);\n set3.delete(controller);\n }\n });\n },\n cancel: () => {\n internalTaskController.abort(listenerCancelled);\n entry.pending.delete(internalTaskController);\n },\n throwIfCancelled: () => {\n validateActive(internalTaskController.signal);\n }\n })\n ));\n } catch (listenerError) {\n if (!(listenerError instanceof TaskAbortError)) {\n safelyNotifyError(onError, listenerError, {\n raisedBy: \"effect\"\n });\n }\n } finally {\n await Promise.all(autoJoinPromises);\n internalTaskController.abort(listenerCompleted);\n untrackExecutingListener(entry);\n entry.pending.delete(internalTaskController);\n }\n };\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap, executingListeners);\n const middleware = (api) => (next2) => (action) => {\n if (!isAction(action)) {\n return next2(action);\n }\n if (addListener.match(action)) {\n return startListening(action.payload);\n }\n if (clearAllListeners.match(action)) {\n clearListenerMiddleware();\n return;\n }\n if (removeListener.match(action)) {\n return stopListening(action.payload);\n }\n let originalState = api.getState();\n const getOriginalState = () => {\n if (originalState === INTERNAL_NIL_TOKEN) {\n throw new Error(true ? formatProdErrorMessage2(23) : `${alm}: getOriginalState can only be called synchronously`);\n }\n return originalState;\n };\n let result;\n try {\n result = next2(action);\n if (listenerMap.size > 0) {\n const currentState = api.getState();\n const listenerEntries = Array.from(listenerMap.values());\n for (const entry of listenerEntries) {\n let runListener = false;\n try {\n runListener = entry.predicate(action, currentState, originalState);\n } catch (predicateError) {\n runListener = false;\n safelyNotifyError(onError, predicateError, {\n raisedBy: \"predicate\"\n });\n }\n if (!runListener) {\n continue;\n }\n notifyListener(entry, action, api, getOriginalState);\n }\n }\n } finally {\n originalState = INTERNAL_NIL_TOKEN;\n }\n return result;\n };\n return {\n middleware,\n startListening,\n stopListening,\n clearListeners: clearListenerMiddleware\n };\n };\n function formatProdErrorMessage2(code) {\n return `Minified Redux Toolkit error #${code}; visit https://redux-toolkit.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/layoutSlice.js\n var initialState = {\n layoutType: \"horizontal\",\n width: 0,\n height: 0,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n scale: 1\n };\n var chartLayoutSlice = createSlice({\n name: \"chartLayout\",\n initialState,\n reducers: {\n setLayout(state2, action) {\n state2.layoutType = action.payload;\n },\n setChartSize(state2, action) {\n state2.width = action.payload.width;\n state2.height = action.payload.height;\n },\n setMargin(state2, action) {\n var _action$payload$top, _action$payload$right, _action$payload$botto, _action$payload$left;\n state2.margin.top = (_action$payload$top = action.payload.top) !== null && _action$payload$top !== void 0 ? _action$payload$top : 0;\n state2.margin.right = (_action$payload$right = action.payload.right) !== null && _action$payload$right !== void 0 ? _action$payload$right : 0;\n state2.margin.bottom = (_action$payload$botto = action.payload.bottom) !== null && _action$payload$botto !== void 0 ? _action$payload$botto : 0;\n state2.margin.left = (_action$payload$left = action.payload.left) !== null && _action$payload$left !== void 0 ? _action$payload$left : 0;\n },\n setScale(state2, action) {\n state2.scale = action.payload;\n }\n }\n });\n var {\n setMargin,\n setLayout,\n setChartSize,\n setScale\n } = chartLayoutSlice.actions;\n var chartLayoutReducer = chartLayoutSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ChartUtils.js\n var import_sortBy2 = __toESM(require_sortBy2());\n var import_get2 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getSliced.js\n function getSliced(arr, startIndex, endIndex) {\n if (!Array.isArray(arr)) {\n return arr;\n }\n if (arr && startIndex + endIndex !== 0) {\n return arr.slice(startIndex, endIndex + 1);\n }\n return arr;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/isWellBehavedNumber.js\n function isWellBehavedNumber(n) {\n return Number.isFinite(n);\n }\n function isPositiveNumber(n) {\n return typeof n === \"number\" && n > 0 && Number.isFinite(n);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ChartUtils.js\n function ownKeys4(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread4(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys4(Object(t2), true).forEach(function(r3) {\n _defineProperty4(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys4(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty4(e, r2, t2) {\n return (r2 = _toPropertyKey4(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey4(t2) {\n var i = _toPrimitive4(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive4(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getValueByDataKey(obj, dataKey, defaultValue) {\n if (isNullish(obj) || isNullish(dataKey)) {\n return defaultValue;\n }\n if (isNumOrStr(dataKey)) {\n return (0, import_get2.default)(obj, dataKey, defaultValue);\n }\n if (typeof dataKey === \"function\") {\n return dataKey(obj);\n }\n return defaultValue;\n }\n var appendOffsetOfLegend = (offset4, legendSettings, legendSize) => {\n if (legendSettings && legendSize) {\n var {\n width: boxWidth,\n height: boxHeight\n } = legendSize;\n var {\n align,\n verticalAlign,\n layout\n } = legendSettings;\n if ((layout === \"vertical\" || layout === \"horizontal\" && verticalAlign === \"middle\") && align !== \"center\" && isNumber3(offset4[align])) {\n return _objectSpread4(_objectSpread4({}, offset4), {}, {\n [align]: offset4[align] + (boxWidth || 0)\n });\n }\n if ((layout === \"horizontal\" || layout === \"vertical\" && align === \"center\") && verticalAlign !== \"middle\" && isNumber3(offset4[verticalAlign])) {\n return _objectSpread4(_objectSpread4({}, offset4), {}, {\n [verticalAlign]: offset4[verticalAlign] + (boxHeight || 0)\n });\n }\n }\n return offset4;\n };\n var isCategoricalAxis = (layout, axisType) => layout === \"horizontal\" && axisType === \"xAxis\" || layout === \"vertical\" && axisType === \"yAxis\" || layout === \"centric\" && axisType === \"angleAxis\" || layout === \"radial\" && axisType === \"radiusAxis\";\n var getCoordinatesOfGrid = (ticks2, minValue, maxValue, syncWithTicks) => {\n if (syncWithTicks) {\n return ticks2.map((entry) => entry.coordinate);\n }\n var hasMin, hasMax;\n var values = ticks2.map((entry) => {\n if (entry.coordinate === minValue) {\n hasMin = true;\n }\n if (entry.coordinate === maxValue) {\n hasMax = true;\n }\n return entry.coordinate;\n });\n if (!hasMin) {\n values.push(minValue);\n }\n if (!hasMax) {\n values.push(maxValue);\n }\n return values;\n };\n var getTicksOfAxis = (axis, isGrid, isAll) => {\n if (!axis) {\n return null;\n }\n var {\n duplicateDomain,\n type,\n range: range4,\n scale,\n realScaleType,\n isCategorical,\n categoricalDomain,\n tickCount,\n ticks: ticks2,\n niceTicks,\n axisType\n } = axis;\n if (!scale) {\n return null;\n }\n var offsetForBand = realScaleType === \"scaleBand\" && scale.bandwidth ? scale.bandwidth() / 2 : 2;\n var offset4 = (isGrid || isAll) && type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && range4 && range4.length >= 2 ? mathSign(range4[0] - range4[1]) * 2 * offset4 : offset4;\n if (isGrid && (ticks2 || niceTicks)) {\n var result = (ticks2 || niceTicks || []).map((entry, index2) => {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n var scaled = scale.map(scaleContent);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n // If the scaleContent is not a number, the coordinate will be NaN.\n // That could be the case for example with a PointScale and a string as domain.\n coordinate: scaled + offset4,\n value: entry,\n offset: offset4,\n index: index2\n };\n }).filter(isNotNil);\n return result;\n }\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks && !isAll && tickCount != null) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as an index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var truncateByDomain = (value, domain) => {\n if (!domain || domain.length !== 2 || !isNumber3(domain[0]) || !isNumber3(domain[1])) {\n return value;\n }\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n if (!isNumber3(value[0]) || value[0] < minValue) {\n result[0] = minValue;\n }\n if (!isNumber3(value[1]) || value[1] > maxValue) {\n result[1] = maxValue;\n }\n if (result[0] > maxValue) {\n result[0] = maxValue;\n }\n if (result[1] < minValue) {\n result[1] = minValue;\n }\n return result;\n };\n var offsetSign = (series) => {\n var _series$;\n var n = series.length;\n if (n <= 0) {\n return;\n }\n var m = (_series$ = series[0]) === null || _series$ === void 0 ? void 0 : _series$.length;\n if (m == null || m <= 0) {\n return;\n }\n for (var j = 0; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n for (var i = 0; i < n; ++i) {\n var row = series[i];\n var col = row === null || row === void 0 ? void 0 : row[j];\n if (col == null) {\n continue;\n }\n var series1 = col[1];\n var series0 = col[0];\n var value = isNan(series1) ? series0 : series1;\n if (value >= 0) {\n col[0] = positive;\n positive += value;\n col[1] = positive;\n } else {\n col[0] = negative;\n negative += value;\n col[1] = negative;\n }\n }\n }\n };\n var offsetPositive = (series) => {\n var _series$2;\n var n = series.length;\n if (n <= 0) {\n return;\n }\n var m = (_series$2 = series[0]) === null || _series$2 === void 0 ? void 0 : _series$2.length;\n if (m == null || m <= 0) {\n return;\n }\n for (var j = 0; j < m; ++j) {\n var positive = 0;\n for (var i = 0; i < n; ++i) {\n var row = series[i];\n var col = row === null || row === void 0 ? void 0 : row[j];\n if (col == null) {\n continue;\n }\n var value = isNan(col[1]) ? col[0] : col[1];\n if (value >= 0) {\n col[0] = positive;\n positive += value;\n col[1] = positive;\n } else {\n col[0] = 0;\n col[1] = 0;\n }\n }\n }\n };\n var STACK_OFFSET_MAP = {\n sign: offsetSign,\n // @ts-expect-error definitelytyped types are incorrect\n expand: expand_default,\n // @ts-expect-error definitelytyped types are incorrect\n none: none_default,\n // @ts-expect-error definitelytyped types are incorrect\n silhouette: silhouette_default,\n // @ts-expect-error definitelytyped types are incorrect\n wiggle: wiggle_default,\n positive: offsetPositive\n };\n var getStackedData = (data, dataKeys, offsetType) => {\n var _STACK_OFFSET_MAP$off;\n var offsetAccessor = (_STACK_OFFSET_MAP$off = STACK_OFFSET_MAP[offsetType]) !== null && _STACK_OFFSET_MAP$off !== void 0 ? _STACK_OFFSET_MAP$off : none_default;\n var stack = stack_default().keys(dataKeys).value((d, key) => Number(getValueByDataKey(d, key, 0))).order(none_default2).offset(offsetAccessor);\n var result = stack(data);\n result.forEach((series, seriesIndex) => {\n series.forEach((point4, pointIndex) => {\n var value = getValueByDataKey(data[pointIndex], dataKeys[seriesIndex], 0);\n if (Array.isArray(value) && value.length === 2 && isNumber3(value[0]) && isNumber3(value[1])) {\n point4[0] = value[0];\n point4[1] = value[1];\n }\n });\n });\n return result;\n };\n function getNormalizedStackId(publicStackId) {\n return publicStackId == null ? void 0 : String(publicStackId);\n }\n function getCateCoordinateOfLine(_ref2) {\n var {\n axis,\n ticks: ticks2,\n bandSize,\n entry,\n index: index2,\n dataKey\n } = _ref2;\n if (axis.type === \"category\") {\n if (!axis.allowDuplicatedCategory && axis.dataKey && !isNullish(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks2, \"value\", entry[axis.dataKey]);\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n return ticks2 !== null && ticks2 !== void 0 && ticks2[index2] ? ticks2[index2].coordinate + bandSize / 2 : null;\n }\n var value = getValueByDataKey(entry, !isNullish(dataKey) ? dataKey : axis.dataKey);\n var scaled = axis.scale.map(value);\n if (!isNumber3(scaled)) {\n return null;\n }\n return scaled;\n }\n var getCateCoordinateOfBar = (_ref2) => {\n var {\n axis,\n ticks: ticks2,\n offset: offset4,\n bandSize,\n entry,\n index: index2\n } = _ref2;\n if (axis.type === \"category\") {\n return ticks2[index2] ? ticks2[index2].coordinate + offset4 : null;\n }\n var value = getValueByDataKey(entry, axis.dataKey, axis.scale.domain()[index2]);\n if (isNullish(value)) {\n return null;\n }\n var scaled = axis.scale.map(value);\n if (!isNumber3(scaled)) {\n return null;\n }\n return scaled - bandSize / 2 + offset4;\n };\n var getBaseValueOfBar = (_ref3) => {\n var {\n numericAxis\n } = _ref3;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === \"number\") {\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n if (minValue <= 0 && maxValue >= 0) {\n return 0;\n }\n if (maxValue < 0) {\n return maxValue;\n }\n return minValue;\n }\n return domain[0];\n };\n var getDomainOfSingle = (data) => {\n var flat = data.flat(2).filter(isNumber3);\n return [Math.min(...flat), Math.max(...flat)];\n };\n var makeDomainFinite = (domain) => {\n return [domain[0] === Infinity ? 0 : domain[0], domain[1] === -Infinity ? 0 : domain[1]];\n };\n var getDomainOfStackGroups = (stackGroups, startIndex, endIndex) => {\n if (stackGroups == null) {\n return void 0;\n }\n return makeDomainFinite(Object.keys(stackGroups).reduce((result, stackId) => {\n var group = stackGroups[stackId];\n if (!group) {\n return result;\n }\n var {\n stackedData\n } = group;\n var domain = stackedData.reduce((res, entry) => {\n var sliced = getSliced(entry, startIndex, endIndex);\n var s2 = getDomainOfSingle(sliced);\n if (!isWellBehavedNumber(s2[0]) || !isWellBehavedNumber(s2[1])) {\n return res;\n }\n return [Math.min(res[0], s2[0]), Math.max(res[1], s2[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]));\n };\n var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\n var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\n var getBandSizeOfAxis = (axis, ticks2, isBar) => {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n if (axis && ticks2 && ticks2.length >= 2) {\n var orderedTicks = (0, import_sortBy2.default)(ticks2, (o) => o.coordinate);\n var bandSize = Infinity;\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min(((cur === null || cur === void 0 ? void 0 : cur.coordinate) || 0) - ((prev === null || prev === void 0 ? void 0 : prev.coordinate) || 0), bandSize);\n }\n return bandSize === Infinity ? 0 : bandSize;\n }\n return isBar ? void 0 : 0;\n };\n function getTooltipEntry(_ref4) {\n var {\n tooltipEntrySettings,\n dataKey,\n payload,\n value,\n name\n } = _ref4;\n return _objectSpread4(_objectSpread4({}, tooltipEntrySettings), {}, {\n dataKey,\n payload,\n value,\n name\n });\n }\n function getTooltipNameProp(nameFromItem, dataKey) {\n if (nameFromItem) {\n return String(nameFromItem);\n }\n if (typeof dataKey === \"string\") {\n return dataKey;\n }\n return void 0;\n }\n var calculateCartesianTooltipPos = (coordinate, layout) => {\n if (layout === \"horizontal\") {\n return coordinate.relativeX;\n }\n if (layout === \"vertical\") {\n return coordinate.relativeY;\n }\n return void 0;\n };\n var calculatePolarTooltipPos = (rangeObj, layout) => {\n if (layout === \"centric\") {\n return rangeObj.angle;\n }\n return rangeObj.radius;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/containerSelectors.js\n var selectChartWidth = (state2) => state2.layout.width;\n var selectChartHeight = (state2) => state2.layout.height;\n var selectContainerScale = (state2) => state2.layout.scale;\n var selectMargin = (state2) => state2.layout.margin;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectAllAxes.js\n var selectAllXAxes = createSelector((state2) => state2.cartesianAxis.xAxis, (xAxisMap) => {\n return Object.values(xAxisMap);\n });\n var selectAllYAxes = createSelector((state2) => state2.cartesianAxis.yAxis, (yAxisMap) => {\n return Object.values(yAxisMap);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Constants.js\n var COLOR_PANEL = [\"#1890FF\", \"#66B5FF\", \"#41D9C7\", \"#2FC25B\", \"#6EDB8F\", \"#9AE65C\", \"#FACC14\", \"#E6965C\", \"#57AD71\", \"#223273\", \"#738AE6\", \"#7564CC\", \"#8543E0\", \"#A877ED\", \"#5C8EE6\", \"#13C2C2\", \"#70E0E0\", \"#5CA3E6\", \"#3436C7\", \"#8082FF\", \"#DD81E6\", \"#F04864\", \"#FA7D92\", \"#D598D9\"];\n var DATA_ITEM_INDEX_ATTRIBUTE_NAME = \"data-recharts-item-index\";\n var DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME = \"data-recharts-item-id\";\n var DEFAULT_Y_AXIS_WIDTH = 60;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectChartOffsetInternal.js\n function ownKeys5(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread5(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys5(Object(t2), true).forEach(function(r3) {\n _defineProperty5(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys5(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty5(e, r2, t2) {\n return (r2 = _toPropertyKey5(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey5(t2) {\n var i = _toPrimitive5(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive5(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectBrushHeight = (state2) => state2.brush.height;\n function selectLeftAxesOffset(state2) {\n var yAxes = selectAllYAxes(state2);\n return yAxes.reduce((result, entry) => {\n if (entry.orientation === \"left\" && !entry.mirror && !entry.hide) {\n var width = typeof entry.width === \"number\" ? entry.width : DEFAULT_Y_AXIS_WIDTH;\n return result + width;\n }\n return result;\n }, 0);\n }\n function selectRightAxesOffset(state2) {\n var yAxes = selectAllYAxes(state2);\n return yAxes.reduce((result, entry) => {\n if (entry.orientation === \"right\" && !entry.mirror && !entry.hide) {\n var width = typeof entry.width === \"number\" ? entry.width : DEFAULT_Y_AXIS_WIDTH;\n return result + width;\n }\n return result;\n }, 0);\n }\n function selectTopAxesOffset(state2) {\n var xAxes = selectAllXAxes(state2);\n return xAxes.reduce((result, entry) => {\n if (entry.orientation === \"top\" && !entry.mirror && !entry.hide) {\n return result + entry.height;\n }\n return result;\n }, 0);\n }\n function selectBottomAxesOffset(state2) {\n var xAxes = selectAllXAxes(state2);\n return xAxes.reduce((result, entry) => {\n if (entry.orientation === \"bottom\" && !entry.mirror && !entry.hide) {\n return result + entry.height;\n }\n return result;\n }, 0);\n }\n var selectChartOffsetInternal = createSelector([selectChartWidth, selectChartHeight, selectMargin, selectBrushHeight, selectLeftAxesOffset, selectRightAxesOffset, selectTopAxesOffset, selectBottomAxesOffset, selectLegendSettings, selectLegendSize], (chartWidth, chartHeight, margin, brushHeight, leftAxesOffset, rightAxesOffset, topAxesOffset, bottomAxesOffset, legendSettings, legendSize) => {\n var offsetH = {\n left: (margin.left || 0) + leftAxesOffset,\n right: (margin.right || 0) + rightAxesOffset\n };\n var offsetV = {\n top: (margin.top || 0) + topAxesOffset,\n bottom: (margin.bottom || 0) + bottomAxesOffset\n };\n var offset4 = _objectSpread5(_objectSpread5({}, offsetV), offsetH);\n var brushBottom = offset4.bottom;\n offset4.bottom += brushHeight;\n offset4 = appendOffsetOfLegend(offset4, legendSettings, legendSize);\n var offsetWidth = chartWidth - offset4.left - offset4.right;\n var offsetHeight = chartHeight - offset4.top - offset4.bottom;\n return _objectSpread5(_objectSpread5({\n brushBottom\n }, offset4), {}, {\n // never return negative values for height and width\n width: Math.max(offsetWidth, 0),\n height: Math.max(offsetHeight, 0)\n });\n });\n var selectChartViewBox = createSelector(selectChartOffsetInternal, (offset4) => ({\n x: offset4.left,\n y: offset4.top,\n width: offset4.width,\n height: offset4.height\n }));\n var selectAxisViewBox = createSelector(selectChartWidth, selectChartHeight, (width, height) => ({\n x: 0,\n y: 0,\n width,\n height\n }));\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/PanoramaContext.js\n var React69 = __toESM(require_react());\n var import_react19 = __toESM(require_react());\n var PanoramaContext = /* @__PURE__ */ (0, import_react19.createContext)(null);\n var useIsPanorama = () => (0, import_react19.useContext)(PanoramaContext) != null;\n var PanoramaContextProvider = (_ref2) => {\n var {\n children\n } = _ref2;\n return /* @__PURE__ */ React69.createElement(PanoramaContext.Provider, {\n value: true\n }, children);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/brushSelectors.js\n var selectBrushSettings = (state2) => state2.brush;\n var selectBrushDimensions = createSelector([selectBrushSettings, selectChartOffsetInternal, selectMargin], (brushSettings, offset4, margin) => ({\n height: brushSettings.height,\n x: isNumber3(brushSettings.x) ? brushSettings.x : offset4.left,\n y: isNumber3(brushSettings.y) ? brushSettings.y : offset4.top + offset4.height + offset4.brushBottom - ((margin === null || margin === void 0 ? void 0 : margin.bottom) || 0),\n width: isNumber3(brushSettings.width) ? brushSettings.width : offset4.width\n }));\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ResponsiveContainer.js\n var React70 = __toESM(require_react());\n var import_react20 = __toESM(require_react());\n var import_throttle = __toESM(require_throttle2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/LogUtils.js\n var isDev = true;\n var warn = function warn2(condition, format2) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n if (isDev && typeof console !== \"undefined\" && console.warn) {\n if (format2 === void 0) {\n console.warn(\"LogUtils requires an error message argument\");\n }\n if (!condition) {\n if (format2 === void 0) {\n console.warn(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");\n } else {\n var argIndex = 0;\n console.warn(format2.replace(/%s/g, () => args[argIndex++]));\n }\n }\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/responsiveContainerUtils.js\n var defaultResponsiveContainerProps = {\n width: \"100%\",\n height: \"100%\",\n debounce: 0,\n minWidth: 0,\n initialDimension: {\n width: -1,\n height: -1\n }\n };\n var calculateChartDimensions = (containerWidth, containerHeight, props) => {\n var {\n width = defaultResponsiveContainerProps.width,\n height = defaultResponsiveContainerProps.height,\n aspect,\n maxHeight\n } = props;\n var calculatedWidth = isPercent2(width) ? containerWidth : Number(width);\n var calculatedHeight = isPercent2(height) ? containerHeight : Number(height);\n if (aspect && aspect > 0) {\n if (calculatedWidth) {\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n calculatedWidth = calculatedHeight * aspect;\n }\n if (maxHeight && calculatedHeight != null && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n return {\n calculatedWidth,\n calculatedHeight\n };\n };\n var bothOverflow = {\n width: 0,\n height: 0,\n overflow: \"visible\"\n };\n var overflowX = {\n width: 0,\n overflowX: \"visible\"\n };\n var overflowY = {\n height: 0,\n overflowY: \"visible\"\n };\n var noStyle = {};\n var getInnerDivStyle = (props) => {\n var {\n width,\n height\n } = props;\n var isWidthPercent = isPercent2(width);\n var isHeightPercent = isPercent2(height);\n if (isWidthPercent && isHeightPercent) {\n return bothOverflow;\n }\n if (isWidthPercent) {\n return overflowX;\n }\n if (isHeightPercent) {\n return overflowY;\n }\n return noStyle;\n };\n function getDefaultWidthAndHeight(_ref2) {\n var {\n width,\n height,\n aspect\n } = _ref2;\n var calculatedWidth = width;\n var calculatedHeight = height;\n if (calculatedWidth === void 0 && calculatedHeight === void 0) {\n calculatedWidth = defaultResponsiveContainerProps.width;\n calculatedHeight = defaultResponsiveContainerProps.height;\n } else if (calculatedWidth === void 0) {\n calculatedWidth = aspect && aspect > 0 ? void 0 : defaultResponsiveContainerProps.width;\n } else if (calculatedHeight === void 0) {\n calculatedHeight = aspect && aspect > 0 ? void 0 : defaultResponsiveContainerProps.height;\n }\n return {\n width: calculatedWidth,\n height: calculatedHeight\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ResponsiveContainer.js\n function _extends5() {\n return _extends5 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends5.apply(null, arguments);\n }\n function ownKeys6(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread6(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys6(Object(t2), true).forEach(function(r3) {\n _defineProperty6(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys6(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty6(e, r2, t2) {\n return (r2 = _toPropertyKey6(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey6(t2) {\n var i = _toPrimitive6(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive6(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var ResponsiveContainerContext = /* @__PURE__ */ (0, import_react20.createContext)(defaultResponsiveContainerProps.initialDimension);\n function isAcceptableSize(size4) {\n return isPositiveNumber(size4.width) && isPositiveNumber(size4.height);\n }\n function ResponsiveContainerContextProvider(_ref2) {\n var {\n children,\n width,\n height\n } = _ref2;\n var size4 = (0, import_react20.useMemo)(() => ({\n width,\n height\n }), [width, height]);\n if (!isAcceptableSize(size4)) {\n return null;\n }\n return /* @__PURE__ */ React70.createElement(ResponsiveContainerContext.Provider, {\n value: size4\n }, children);\n }\n var useResponsiveContainerContext = () => (0, import_react20.useContext)(ResponsiveContainerContext);\n var SizeDetectorContainer = /* @__PURE__ */ (0, import_react20.forwardRef)((_ref2, ref) => {\n var {\n aspect,\n initialDimension = defaultResponsiveContainerProps.initialDimension,\n width,\n height,\n /*\n * default min-width to 0 if not specified - 'auto' causes issues with flexbox\n * https://github.com/recharts/recharts/issues/172\n */\n minWidth = defaultResponsiveContainerProps.minWidth,\n minHeight,\n maxHeight,\n children,\n debounce = defaultResponsiveContainerProps.debounce,\n id,\n className,\n onResize,\n style = {}\n } = _ref2;\n var containerRef = (0, import_react20.useRef)(null);\n var onResizeRef = (0, import_react20.useRef)();\n onResizeRef.current = onResize;\n (0, import_react20.useImperativeHandle)(ref, () => containerRef.current);\n var [sizes, setSizes] = (0, import_react20.useState)({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n });\n var setContainerSize = (0, import_react20.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n (0, import_react20.useEffect)(() => {\n if (containerRef.current == null || typeof ResizeObserver === \"undefined\") {\n return noop4;\n }\n var callback = (entries) => {\n var _onResizeRef$current;\n var entry = entries[0];\n if (entry == null) {\n return;\n }\n var {\n width: containerWidth3,\n height: containerHeight3\n } = entry.contentRect;\n setContainerSize(containerWidth3, containerHeight3);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth3, containerHeight3);\n };\n if (debounce > 0) {\n callback = (0, import_throttle.default)(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var {\n width: containerWidth2,\n height: containerHeight2\n } = containerRef.current.getBoundingClientRect();\n setContainerSize(containerWidth2, containerHeight2);\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var {\n containerWidth,\n containerHeight\n } = sizes;\n warn(!aspect || aspect > 0, \"The aspect(%s) must be greater than zero.\", aspect);\n var {\n calculatedWidth,\n calculatedHeight\n } = calculateChartDimensions(containerWidth, containerHeight, {\n width,\n height,\n aspect,\n maxHeight\n });\n warn(calculatedWidth != null && calculatedWidth > 0 || calculatedHeight != null && calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /* @__PURE__ */ React70.createElement(\"div\", {\n id: id ? \"\".concat(id) : void 0,\n className: clsx(\"recharts-responsive-container\", className),\n style: _objectSpread6(_objectSpread6({}, style), {}, {\n width,\n height,\n minWidth,\n minHeight,\n maxHeight\n }),\n ref: containerRef\n }, /* @__PURE__ */ React70.createElement(\"div\", {\n style: getInnerDivStyle({\n width,\n height\n })\n }, /* @__PURE__ */ React70.createElement(ResponsiveContainerContextProvider, {\n width: calculatedWidth,\n height: calculatedHeight\n }, children)));\n });\n var ResponsiveContainer = /* @__PURE__ */ (0, import_react20.forwardRef)((props, ref) => {\n var responsiveContainerContext = useResponsiveContainerContext();\n if (isPositiveNumber(responsiveContainerContext.width) && isPositiveNumber(responsiveContainerContext.height)) {\n return props.children;\n }\n var {\n width,\n height\n } = getDefaultWidthAndHeight({\n width: props.width,\n height: props.height,\n aspect: props.aspect\n });\n var {\n calculatedWidth,\n calculatedHeight\n } = calculateChartDimensions(void 0, void 0, {\n width,\n height,\n aspect: props.aspect,\n maxHeight: props.maxHeight\n });\n if (isNumber3(calculatedWidth) && isNumber3(calculatedHeight)) {\n return /* @__PURE__ */ React70.createElement(ResponsiveContainerContextProvider, {\n width: calculatedWidth,\n height: calculatedHeight\n }, props.children);\n }\n return /* @__PURE__ */ React70.createElement(SizeDetectorContainer, _extends5({}, props, {\n width,\n height,\n ref\n }));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartLayoutContext.js\n function cartesianViewBoxToTrapezoid(box) {\n if (!box) {\n return void 0;\n }\n return {\n x: box.x,\n y: box.y,\n upperWidth: \"upperWidth\" in box ? box.upperWidth : box.width,\n lowerWidth: \"lowerWidth\" in box ? box.lowerWidth : box.width,\n width: box.width,\n height: box.height\n };\n }\n var useViewBox = () => {\n var _useAppSelector;\n var panorama = useIsPanorama();\n var rootViewBox = useAppSelector(selectChartViewBox);\n var brushDimensions = useAppSelector(selectBrushDimensions);\n var brushPadding = (_useAppSelector = useAppSelector(selectBrushSettings)) === null || _useAppSelector === void 0 ? void 0 : _useAppSelector.padding;\n if (!panorama || !brushDimensions || !brushPadding) {\n return rootViewBox;\n }\n return {\n width: brushDimensions.width - brushPadding.left - brushPadding.right,\n height: brushDimensions.height - brushPadding.top - brushPadding.bottom,\n x: brushPadding.left,\n y: brushPadding.top\n };\n };\n var manyComponentsThrowErrorsIfOffsetIsUndefined = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0,\n brushBottom: 0\n };\n var useOffsetInternal = () => {\n var _useAppSelector2;\n return (_useAppSelector2 = useAppSelector(selectChartOffsetInternal)) !== null && _useAppSelector2 !== void 0 ? _useAppSelector2 : manyComponentsThrowErrorsIfOffsetIsUndefined;\n };\n var useChartWidth = () => {\n return useAppSelector(selectChartWidth);\n };\n var useChartHeight = () => {\n return useAppSelector(selectChartHeight);\n };\n var useMargin = () => {\n return useAppSelector((state2) => state2.layout.margin);\n };\n var selectChartLayout = (state2) => state2.layout.layoutType;\n var useChartLayout = () => useAppSelector(selectChartLayout);\n var useCartesianChartLayout = () => {\n var layout = useChartLayout();\n if (layout === \"horizontal\" || layout === \"vertical\") {\n return layout;\n }\n return void 0;\n };\n var selectPolarChartLayout = (state2) => {\n var layout = state2.layout.layoutType;\n if (layout === \"centric\" || layout === \"radial\") {\n return layout;\n }\n return void 0;\n };\n var usePolarChartLayout = () => {\n return useAppSelector(selectPolarChartLayout);\n };\n var useIsInChartContext = () => {\n var layout = useChartLayout();\n return layout !== void 0;\n };\n var ReportChartSize = (props) => {\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var {\n width: widthFromProps,\n height: heightFromProps\n } = props;\n var responsiveContainerCalculations = useResponsiveContainerContext();\n var width = widthFromProps;\n var height = heightFromProps;\n if (responsiveContainerCalculations) {\n width = responsiveContainerCalculations.width > 0 ? responsiveContainerCalculations.width : widthFromProps;\n height = responsiveContainerCalculations.height > 0 ? responsiveContainerCalculations.height : heightFromProps;\n }\n (0, import_react21.useEffect)(() => {\n if (!isPanorama && isPositiveNumber(width) && isPositiveNumber(height)) {\n dispatch(setChartSize({\n width,\n height\n }));\n }\n }, [dispatch, isPanorama, width, height]);\n return null;\n };\n var ReportChartMargin = (_ref2) => {\n var {\n margin\n } = _ref2;\n var dispatch = useAppDispatch();\n (0, import_react21.useEffect)(() => {\n dispatch(setMargin(margin));\n }, [dispatch, margin]);\n return null;\n };\n\n // ../../../node_modules/.bun/immer@10.2.0/node_modules/immer/dist/immer.mjs\n var NOTHING2 = /* @__PURE__ */ Symbol.for(\"immer-nothing\");\n var DRAFTABLE2 = /* @__PURE__ */ Symbol.for(\"immer-draftable\");\n var DRAFT_STATE2 = /* @__PURE__ */ Symbol.for(\"immer-state\");\n function die2(error, ...args) {\n if (false) {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n }\n var getPrototypeOf2 = Object.getPrototypeOf;\n function isDraft2(value) {\n return !!value && !!value[DRAFT_STATE2];\n }\n function isDraftable2(value) {\n if (!value)\n return false;\n return isPlainObject4(value) || Array.isArray(value) || !!value[DRAFTABLE2] || !!value.constructor?.[DRAFTABLE2] || isMap2(value) || isSet2(value);\n }\n var objectCtorString2 = Object.prototype.constructor.toString();\n var cachedCtorStrings2 = /* @__PURE__ */ new WeakMap();\n function isPlainObject4(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto2 = Object.getPrototypeOf(value);\n if (proto2 === null || proto2 === Object.prototype)\n return true;\n const Ctor = Object.hasOwnProperty.call(proto2, \"constructor\") && proto2.constructor;\n if (Ctor === Object)\n return true;\n if (typeof Ctor !== \"function\")\n return false;\n let ctorString = cachedCtorStrings2.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings2.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString2;\n }\n function each2(obj, iter, strict = true) {\n if (getArchtype2(obj) === 0) {\n const keys = strict ? Reflect.ownKeys(obj) : Object.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index2) => iter(index2, entry, obj));\n }\n }\n function getArchtype2(thing) {\n const state2 = thing[DRAFT_STATE2];\n return state2 ? state2.type_ : Array.isArray(thing) ? 1 : isMap2(thing) ? 2 : isSet2(thing) ? 3 : 0;\n }\n function has2(thing, prop) {\n return getArchtype2(thing) === 2 ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n }\n function set2(thing, propOrOldValue, value) {\n const t2 = getArchtype2(thing);\n if (t2 === 2)\n thing.set(propOrOldValue, value);\n else if (t2 === 3) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n }\n function is2(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n function isMap2(target) {\n return target instanceof Map;\n }\n function isSet2(target) {\n return target instanceof Set;\n }\n function latest2(state2) {\n return state2.copy_ || state2.base_;\n }\n function shallowCopy2(base, strict) {\n if (isMap2(base)) {\n return new Map(base);\n }\n if (isSet2(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject4(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE2];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf2(base), descriptors);\n } else {\n const proto2 = getPrototypeOf2(base);\n if (proto2 !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto2);\n return Object.assign(obj, base);\n }\n }\n function freeze2(obj, deep = false) {\n if (isFrozen2(obj) || isDraft2(obj) || !isDraftable2(obj))\n return obj;\n if (getArchtype2(obj) > 1) {\n Object.defineProperties(obj, {\n set: dontMutateMethodOverride2,\n add: dontMutateMethodOverride2,\n clear: dontMutateMethodOverride2,\n delete: dontMutateMethodOverride2\n });\n }\n Object.freeze(obj);\n if (deep)\n Object.values(obj).forEach((value) => freeze2(value, true));\n return obj;\n }\n function dontMutateFrozenCollections2() {\n die2(2);\n }\n var dontMutateMethodOverride2 = {\n value: dontMutateFrozenCollections2\n };\n function isFrozen2(obj) {\n if (obj === null || typeof obj !== \"object\")\n return true;\n return Object.isFrozen(obj);\n }\n var plugins2 = {};\n function getPlugin2(pluginKey) {\n const plugin = plugins2[pluginKey];\n if (!plugin) {\n die2(0, pluginKey);\n }\n return plugin;\n }\n var currentScope2;\n function getCurrentScope2() {\n return currentScope2;\n }\n function createScope2(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n }\n function usePatchesInScope2(scope, patchListener) {\n if (patchListener) {\n getPlugin2(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n }\n function revokeScope2(scope) {\n leaveScope2(scope);\n scope.drafts_.forEach(revokeDraft2);\n scope.drafts_ = null;\n }\n function leaveScope2(scope) {\n if (scope === currentScope2) {\n currentScope2 = scope.parent_;\n }\n }\n function enterScope2(immer22) {\n return currentScope2 = createScope2(currentScope2, immer22);\n }\n function revokeDraft2(draft) {\n const state2 = draft[DRAFT_STATE2];\n if (state2.type_ === 0 || state2.type_ === 1)\n state2.revoke_();\n else\n state2.revoked_ = true;\n }\n function processResult2(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE2].modified_) {\n revokeScope2(scope);\n die2(4);\n }\n if (isDraftable2(result)) {\n result = finalize2(scope, result);\n if (!scope.parent_)\n maybeFreeze2(scope, result);\n }\n if (scope.patches_) {\n getPlugin2(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE2].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize2(scope, baseDraft, []);\n }\n revokeScope2(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING2 ? result : void 0;\n }\n function finalize2(rootScope, value, path2) {\n if (isFrozen2(value))\n return value;\n const useStrictIteration = rootScope.immer_.shouldUseStrictIteration();\n const state2 = value[DRAFT_STATE2];\n if (!state2) {\n each2(\n value,\n (key, childValue) => finalizeProperty(rootScope, state2, value, key, childValue, path2),\n useStrictIteration\n );\n return value;\n }\n if (state2.scope_ !== rootScope)\n return value;\n if (!state2.modified_) {\n maybeFreeze2(rootScope, state2.base_, true);\n return state2.base_;\n }\n if (!state2.finalized_) {\n state2.finalized_ = true;\n state2.scope_.unfinalizedDrafts_--;\n const result = state2.copy_;\n let resultEach = result;\n let isSet22 = false;\n if (state2.type_ === 3) {\n resultEach = new Set(result);\n result.clear();\n isSet22 = true;\n }\n each2(\n resultEach,\n (key, childValue) => finalizeProperty(\n rootScope,\n state2,\n result,\n key,\n childValue,\n path2,\n isSet22\n ),\n useStrictIteration\n );\n maybeFreeze2(rootScope, result, false);\n if (path2 && rootScope.patches_) {\n getPlugin2(\"Patches\").generatePatches_(\n state2,\n path2,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state2.copy_;\n }\n function finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (childValue == null) {\n return;\n }\n if (typeof childValue !== \"object\" && !targetIsSet) {\n return;\n }\n const childIsFrozen = isFrozen2(childValue);\n if (childIsFrozen && !targetIsSet) {\n return;\n }\n if (false)\n die2(5);\n if (isDraft2(childValue)) {\n const path2 = rootPath && parentState && parentState.type_ !== 3 && // Set objects are atomic since they have no keys.\n !has2(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize2(rootScope, childValue, path2);\n set2(targetObject, prop, res);\n if (isDraft2(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable2(childValue) && !childIsFrozen) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n if (parentState && parentState.base_ && parentState.base_[prop] === childValue && childIsFrozen) {\n return;\n }\n finalize2(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && (isMap2(targetObject) ? targetObject.has(prop) : Object.prototype.propertyIsEnumerable.call(targetObject, prop)))\n maybeFreeze2(rootScope, childValue);\n }\n }\n function maybeFreeze2(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze2(value, deep);\n }\n }\n function createProxyProxy2(base, parent) {\n const isArray2 = Array.isArray(base);\n const state2 = {\n type_: isArray2 ? 1 : 0,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope2(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state2;\n let traps = objectTraps2;\n if (isArray2) {\n target = [state2];\n traps = arrayTraps2;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state2.draft_ = proxy;\n state2.revoke_ = revoke;\n return proxy;\n }\n var objectTraps2 = {\n get(state2, prop) {\n if (prop === DRAFT_STATE2)\n return state2;\n const source = latest2(state2);\n if (!has2(source, prop)) {\n return readPropFromProto2(state2, source, prop);\n }\n const value = source[prop];\n if (state2.finalized_ || !isDraftable2(value)) {\n return value;\n }\n if (value === peek2(state2.base_, prop)) {\n prepareCopy2(state2);\n return state2.copy_[prop] = createProxy2(value, state2);\n }\n return value;\n },\n has(state2, prop) {\n return prop in latest2(state2);\n },\n ownKeys(state2) {\n return Reflect.ownKeys(latest2(state2));\n },\n set(state2, prop, value) {\n const desc = getDescriptorFromProto2(latest2(state2), prop);\n if (desc?.set) {\n desc.set.call(state2.draft_, value);\n return true;\n }\n if (!state2.modified_) {\n const current22 = peek2(latest2(state2), prop);\n const currentState = current22?.[DRAFT_STATE2];\n if (currentState && currentState.base_ === value) {\n state2.copy_[prop] = value;\n state2.assigned_[prop] = false;\n return true;\n }\n if (is2(value, current22) && (value !== void 0 || has2(state2.base_, prop)))\n return true;\n prepareCopy2(state2);\n markChanged2(state2);\n }\n if (state2.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state2.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state2.copy_[prop]))\n return true;\n state2.copy_[prop] = value;\n state2.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state2, prop) {\n if (peek2(state2.base_, prop) !== void 0 || prop in state2.base_) {\n state2.assigned_[prop] = false;\n prepareCopy2(state2);\n markChanged2(state2);\n } else {\n delete state2.assigned_[prop];\n }\n if (state2.copy_) {\n delete state2.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state2, prop) {\n const owner = latest2(state2);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state2.type_ !== 1 || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die2(11);\n },\n getPrototypeOf(state2) {\n return getPrototypeOf2(state2.base_);\n },\n setPrototypeOf() {\n die2(12);\n }\n };\n var arrayTraps2 = {};\n each2(objectTraps2, (key, fn) => {\n arrayTraps2[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n });\n arrayTraps2.deleteProperty = function(state2, prop) {\n if (false)\n die2(13);\n return arrayTraps2.set.call(this, state2, prop, void 0);\n };\n arrayTraps2.set = function(state2, prop, value) {\n if (false)\n die2(14);\n return objectTraps2.set.call(this, state2[0], prop, value, state2[0]);\n };\n function peek2(draft, prop) {\n const state2 = draft[DRAFT_STATE2];\n const source = state2 ? latest2(state2) : draft;\n return source[prop];\n }\n function readPropFromProto2(state2, source, prop) {\n const desc = getDescriptorFromProto2(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state2.draft_)\n ) : void 0;\n }\n function getDescriptorFromProto2(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto2 = getPrototypeOf2(source);\n while (proto2) {\n const desc = Object.getOwnPropertyDescriptor(proto2, prop);\n if (desc)\n return desc;\n proto2 = getPrototypeOf2(proto2);\n }\n return void 0;\n }\n function markChanged2(state2) {\n if (!state2.modified_) {\n state2.modified_ = true;\n if (state2.parent_) {\n markChanged2(state2.parent_);\n }\n }\n }\n function prepareCopy2(state2) {\n if (!state2.copy_) {\n state2.copy_ = shallowCopy2(\n state2.base_,\n state2.scope_.immer_.useStrictShallowCopy_\n );\n }\n }\n var Immer22 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = true;\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self2 = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self2.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die2(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die2(7);\n let result;\n if (isDraftable2(base)) {\n const scope = enterScope2(this);\n const proxy = createProxy2(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope2(scope);\n else\n leaveScope2(scope);\n }\n usePatchesInScope2(scope, patchListener);\n return processResult2(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING2)\n result = void 0;\n if (this.autoFreeze_)\n freeze2(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin2(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die2(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state2, ...args) => this.produceWithPatches(state2, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (typeof config?.useStrictIteration === \"boolean\")\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable2(base))\n die2(8);\n if (isDraft2(base))\n base = current2(base);\n const scope = enterScope2(this);\n const proxy = createProxy2(base, void 0);\n proxy[DRAFT_STATE2].isManual_ = true;\n leaveScope2(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state2 = draft && draft[DRAFT_STATE2];\n if (!state2 || !state2.isManual_)\n die2(9);\n const { scope_: scope } = state2;\n usePatchesInScope2(scope, patchListener);\n return processResult2(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin2(\"Patches\").applyPatches_;\n if (isDraft2(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n };\n function createProxy2(value, parent) {\n const draft = isMap2(value) ? getPlugin2(\"MapSet\").proxyMap_(value, parent) : isSet2(value) ? getPlugin2(\"MapSet\").proxySet_(value, parent) : createProxyProxy2(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope2();\n scope.drafts_.push(draft);\n return draft;\n }\n function current2(value) {\n if (!isDraft2(value))\n die2(10, value);\n return currentImpl2(value);\n }\n function currentImpl2(value) {\n if (!isDraftable2(value) || isFrozen2(value))\n return value;\n const state2 = value[DRAFT_STATE2];\n let copy3;\n let strict = true;\n if (state2) {\n if (!state2.modified_)\n return state2.base_;\n state2.finalized_ = true;\n copy3 = shallowCopy2(value, state2.scope_.immer_.useStrictShallowCopy_);\n strict = state2.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy3 = shallowCopy2(value, true);\n }\n each2(\n copy3,\n (key, childValue) => {\n set2(copy3, key, currentImpl2(childValue));\n },\n strict\n );\n if (state2) {\n state2.finalized_ = false;\n }\n return copy3;\n }\n var immer2 = new Immer22();\n var produce2 = immer2.produce;\n function castDraft(value) {\n return value;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/legendSlice.js\n var initialState2 = {\n settings: {\n layout: \"horizontal\",\n align: \"center\",\n verticalAlign: \"middle\",\n itemSorter: \"value\"\n },\n size: {\n width: 0,\n height: 0\n },\n payload: []\n };\n var legendSlice = createSlice({\n name: \"legend\",\n initialState: initialState2,\n reducers: {\n setLegendSize(state2, action) {\n state2.size.width = action.payload.width;\n state2.size.height = action.payload.height;\n },\n setLegendSettings(state2, action) {\n state2.settings.align = action.payload.align;\n state2.settings.layout = action.payload.layout;\n state2.settings.verticalAlign = action.payload.verticalAlign;\n state2.settings.itemSorter = action.payload.itemSorter;\n },\n addLegendPayload: {\n reducer(state2, action) {\n state2.payload.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceLegendPayload: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).payload.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.payload[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeLegendPayload: {\n reducer(state2, action) {\n var index2 = current(state2).payload.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.payload.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n setLegendSize,\n setLegendSettings,\n addLegendPayload,\n replaceLegendPayload,\n removeLegendPayload\n } = legendSlice.actions;\n var legendReducer = legendSlice.reducer;\n\n // ../../../node_modules/.bun/react-redux@9.2.0+d662c712299d1b1e/node_modules/react-redux/dist/react-redux.mjs\n var React71 = __toESM(require_react(), 1);\n var import_with_selector2 = __toESM(require_with_selector2(), 1);\n var REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\n var REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for(\"react.memo\");\n var ForwardRef = REACT_FORWARD_REF_TYPE;\n var Memo = REACT_MEMO_TYPE;\n function defaultNoopBatch(callback) {\n callback();\n }\n function createListenerCollection() {\n let first = null;\n let last2 = null;\n return {\n clear() {\n first = null;\n last2 = null;\n },\n notify() {\n defaultNoopBatch(() => {\n let listener2 = first;\n while (listener2) {\n listener2.callback();\n listener2 = listener2.next;\n }\n });\n },\n get() {\n const listeners = [];\n let listener2 = first;\n while (listener2) {\n listeners.push(listener2);\n listener2 = listener2.next;\n }\n return listeners;\n },\n subscribe(callback) {\n let isSubscribed = true;\n const listener2 = last2 = {\n callback,\n next: null,\n prev: last2\n };\n if (listener2.prev) {\n listener2.prev.next = listener2;\n } else {\n first = listener2;\n }\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n if (listener2.next) {\n listener2.next.prev = listener2.prev;\n } else {\n last2 = listener2.prev;\n }\n if (listener2.prev) {\n listener2.prev.next = listener2.next;\n } else {\n first = listener2.next;\n }\n };\n }\n };\n }\n var nullListeners = {\n notify() {\n },\n get: () => []\n };\n function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n let subscriptionsAmount = 0;\n let selfSubscribed = false;\n function addNestedSub(listener2) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener2);\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n function notifyNestedSubs() {\n listeners.notify();\n }\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n function isSubscribed() {\n return selfSubscribed;\n }\n function trySubscribe() {\n subscriptionsAmount++;\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n function tryUnsubscribe() {\n subscriptionsAmount--;\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = void 0;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n }\n var canUseDOM2 = () => !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\n var isDOM = /* @__PURE__ */ canUseDOM2();\n var isRunningInReactNative = () => typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\";\n var isReactNative = /* @__PURE__ */ isRunningInReactNative();\n var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? React71.useLayoutEffect : React71.useEffect;\n var useIsomorphicLayoutEffect2 = /* @__PURE__ */ getUseIsomorphicLayoutEffect();\n function is3(x2, y2) {\n if (x2 === y2) {\n return x2 !== 0 || y2 !== 0 || 1 / x2 === 1 / y2;\n } else {\n return x2 !== x2 && y2 !== y2;\n }\n }\n function shallowEqual(objA, objB) {\n if (is3(objA, objB)) return true;\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is3(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n }\n var FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n };\n var MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n };\n var TYPE_STATICS = {\n [ForwardRef]: FORWARD_REF_STATICS,\n [Memo]: MEMO_STATICS\n };\n var objectPrototype = Object.prototype;\n var ContextKey = /* @__PURE__ */ Symbol.for(`react-redux-context`);\n var gT = typeof globalThis !== \"undefined\" ? globalThis : (\n /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n {}\n );\n function getContext() {\n if (!React71.createContext) return {};\n const contextMap = gT[ContextKey] ??= /* @__PURE__ */ new Map();\n let realContext = contextMap.get(React71.createContext);\n if (!realContext) {\n realContext = React71.createContext(\n null\n );\n if (false) {\n realContext.displayName = \"ReactRedux\";\n }\n contextMap.set(React71.createContext, realContext);\n }\n return realContext;\n }\n var ReactReduxContext = /* @__PURE__ */ getContext();\n function Provider2(providerProps) {\n const { children, context, serverState, store } = providerProps;\n const contextValue = React71.useMemo(() => {\n const subscription = createSubscription(store);\n const baseContextValue = {\n store,\n subscription,\n getServerState: serverState ? () => serverState : void 0\n };\n if (true) {\n return baseContextValue;\n } else {\n const { identityFunctionCheck = \"once\", stabilityCheck = \"once\" } = providerProps;\n return /* @__PURE__ */ Object.assign(baseContextValue, {\n stabilityCheck,\n identityFunctionCheck\n });\n }\n }, [store, serverState]);\n const previousState = React71.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect2(() => {\n const { subscription } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = void 0;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext;\n return /* @__PURE__ */ React71.createElement(Context.Provider, { value: contextValue }, children);\n }\n var Provider_default = Provider2;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/propsAreEqual.js\n var propsToShallowCompare = /* @__PURE__ */ new Set([\n \"axisLine\",\n \"tickLine\",\n \"activeBar\",\n \"activeDot\",\n \"activeLabel\",\n \"activeShape\",\n \"allowEscapeViewBox\",\n \"background\",\n \"cursor\",\n \"dot\",\n \"label\",\n \"line\",\n \"margin\",\n \"padding\",\n \"position\",\n \"shape\",\n \"style\",\n \"tick\",\n \"wrapperStyle\",\n // radius can be an array of 4 numbers, easy to compare shallowly\n \"radius\",\n \"throttledEvents\"\n ]);\n function sameValueZero(x2, y2) {\n if (x2 == null && y2 == null) {\n return true;\n }\n if (typeof x2 === \"number\" && typeof y2 === \"number\") {\n return x2 === y2 || x2 !== x2 && y2 !== y2;\n }\n return x2 === y2;\n }\n function propsAreEqual(prevProps, nextProps) {\n var allKeys = /* @__PURE__ */ new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);\n for (var key of allKeys) {\n if (propsToShallowCompare.has(key)) {\n if (prevProps[key] == null && nextProps[key] == null) {\n continue;\n }\n if (!shallowEqual(prevProps[key], nextProps[key])) {\n return false;\n }\n } else if (!sameValueZero(prevProps[key], nextProps[key])) {\n return false;\n }\n }\n return true;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Legend.js\n var _excluded4 = [\"contextPayload\"];\n function _extends6() {\n return _extends6 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends6.apply(null, arguments);\n }\n function ownKeys7(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread7(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys7(Object(t2), true).forEach(function(r3) {\n _defineProperty7(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys7(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty7(e, r2, t2) {\n return (r2 = _toPropertyKey7(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey7(t2) {\n var i = _toPrimitive7(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive7(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties4(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose4(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose4(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function defaultUniqBy(entry) {\n return entry.value;\n }\n function LegendContent(props) {\n var {\n contextPayload\n } = props, otherProps = _objectWithoutProperties4(props, _excluded4);\n var finalPayload = getUniqPayload(contextPayload, props.payloadUniqBy, defaultUniqBy);\n var contentProps = _objectSpread7(_objectSpread7({}, otherProps), {}, {\n payload: finalPayload\n });\n if (/* @__PURE__ */ React72.isValidElement(props.content)) {\n return /* @__PURE__ */ React72.cloneElement(props.content, contentProps);\n }\n if (typeof props.content === \"function\") {\n return /* @__PURE__ */ React72.createElement(props.content, contentProps);\n }\n return /* @__PURE__ */ React72.createElement(DefaultLegendContent, contentProps);\n }\n function getDefaultPosition(style, props, margin, chartWidth, chartHeight, box) {\n var {\n layout,\n align,\n verticalAlign\n } = props;\n var hPos, vPos;\n if (!style || (style.left === void 0 || style.left === null) && (style.right === void 0 || style.right === null)) {\n if (align === \"center\" && layout === \"vertical\") {\n hPos = {\n left: ((chartWidth || 0) - box.width) / 2\n };\n } else {\n hPos = align === \"right\" ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n if (!style || (style.top === void 0 || style.top === null) && (style.bottom === void 0 || style.bottom === null)) {\n if (verticalAlign === \"middle\") {\n vPos = {\n top: ((chartHeight || 0) - box.height) / 2\n };\n } else {\n vPos = verticalAlign === \"bottom\" ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n return _objectSpread7(_objectSpread7({}, hPos), vPos);\n }\n function LegendSettingsDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react22.useEffect)(() => {\n dispatch(setLegendSettings(props));\n }, [dispatch, props]);\n return null;\n }\n function LegendSizeDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react22.useEffect)(() => {\n dispatch(setLegendSize(props));\n return () => {\n dispatch(setLegendSize({\n width: 0,\n height: 0\n }));\n };\n }, [dispatch, props]);\n return null;\n }\n function getWidthOrHeight(layout, height, width, maxWidth) {\n if (layout === \"vertical\" && height != null) {\n return {\n height\n };\n }\n if (layout === \"horizontal\") {\n return {\n width: width || maxWidth\n };\n }\n return null;\n }\n var legendDefaultProps = {\n align: \"center\",\n iconSize: 14,\n inactiveColor: \"#ccc\",\n itemSorter: \"value\",\n layout: \"horizontal\",\n verticalAlign: \"bottom\"\n };\n function LegendImpl(outsideProps) {\n var props = resolveDefaultProps(outsideProps, legendDefaultProps);\n var contextPayload = useLegendPayload();\n var legendPortalFromContext = useLegendPortal();\n var margin = useMargin();\n var {\n width: widthFromProps,\n height: heightFromProps,\n wrapperStyle,\n portal: portalFromProps\n } = props;\n var [lastBoundingBox, updateBoundingBox] = useElementOffset([contextPayload]);\n var chartWidth = useChartWidth();\n var chartHeight = useChartHeight();\n if (chartWidth == null || chartHeight == null) {\n return null;\n }\n var maxWidth = chartWidth - ((margin === null || margin === void 0 ? void 0 : margin.left) || 0) - ((margin === null || margin === void 0 ? void 0 : margin.right) || 0);\n var widthOrHeight = getWidthOrHeight(props.layout, heightFromProps, widthFromProps, maxWidth);\n var outerStyle = portalFromProps ? wrapperStyle : _objectSpread7(_objectSpread7({\n position: \"absolute\",\n width: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.width) || widthFromProps || \"auto\",\n height: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.height) || heightFromProps || \"auto\"\n }, getDefaultPosition(wrapperStyle, props, margin, chartWidth, chartHeight, lastBoundingBox)), wrapperStyle);\n var legendPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : legendPortalFromContext;\n if (legendPortal == null || contextPayload == null) {\n return null;\n }\n var legendElement = /* @__PURE__ */ React72.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: updateBoundingBox\n }, /* @__PURE__ */ React72.createElement(LegendSettingsDispatcher, {\n layout: props.layout,\n align: props.align,\n verticalAlign: props.verticalAlign,\n itemSorter: props.itemSorter\n }), !portalFromProps && /* @__PURE__ */ React72.createElement(LegendSizeDispatcher, {\n width: lastBoundingBox.width,\n height: lastBoundingBox.height\n }), /* @__PURE__ */ React72.createElement(LegendContent, _extends6({}, props, widthOrHeight, {\n margin,\n chartWidth,\n chartHeight,\n contextPayload\n })));\n return /* @__PURE__ */ (0, import_react_dom3.createPortal)(legendElement, legendPortal);\n }\n var Legend = /* @__PURE__ */ React72.memo(LegendImpl, propsAreEqual);\n Legend.displayName = \"Legend\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Tooltip.js\n var React80 = __toESM(require_react());\n var import_react32 = __toESM(require_react());\n var import_react_dom5 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/DefaultTooltipContent.js\n var React73 = __toESM(require_react());\n var import_sortBy3 = __toESM(require_sortBy2());\n function _extends7() {\n return _extends7 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends7.apply(null, arguments);\n }\n function ownKeys8(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread8(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys8(Object(t2), true).forEach(function(r3) {\n _defineProperty8(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys8(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty8(e, r2, t2) {\n return (r2 = _toPropertyKey8(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey8(t2) {\n var i = _toPrimitive8(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive8(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultFormatter(value) {\n return Array.isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(\" ~ \") : value;\n }\n var defaultDefaultTooltipContentProps = {\n separator: \" : \",\n contentStyle: {\n margin: 0,\n padding: 10,\n backgroundColor: \"#fff\",\n border: \"1px solid #ccc\",\n whiteSpace: \"nowrap\"\n },\n itemStyle: {\n display: \"block\",\n paddingTop: 4,\n paddingBottom: 4,\n color: \"#000\"\n },\n labelStyle: {},\n accessibilityLayer: false\n };\n function lodashLikeSortBy(array2, itemSorter) {\n if (itemSorter == null) {\n return array2;\n }\n return (0, import_sortBy3.default)(array2, itemSorter);\n }\n var DefaultTooltipContent = (props) => {\n var {\n separator = defaultDefaultTooltipContentProps.separator,\n contentStyle,\n itemStyle,\n labelStyle = defaultDefaultTooltipContentProps.labelStyle,\n payload,\n formatter,\n itemSorter,\n wrapperClassName,\n labelClassName,\n label,\n labelFormatter,\n accessibilityLayer = defaultDefaultTooltipContentProps.accessibilityLayer\n } = props;\n var renderContent2 = () => {\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var sortedPayload = lodashLikeSortBy(payload, itemSorter);\n var items = sortedPayload.map((entry, i) => {\n if (entry.type === \"none\") {\n return null;\n }\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var {\n value,\n name\n } = entry;\n var finalValue = value;\n var finalName = name;\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n if (Array.isArray(formatted)) {\n [finalValue, finalName] = formatted;\n } else if (formatted != null) {\n finalValue = formatted;\n } else {\n return null;\n }\n }\n var finalItemStyle = _objectSpread8(_objectSpread8({}, defaultDefaultTooltipContentProps.itemStyle), {}, {\n color: entry.color || defaultDefaultTooltipContentProps.itemStyle.color\n }, itemStyle);\n return /* @__PURE__ */ React73.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(finalName) ? /* @__PURE__ */ React73.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, finalName) : null, isNumOrStr(finalName) ? /* @__PURE__ */ React73.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /* @__PURE__ */ React73.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, finalValue), /* @__PURE__ */ React73.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || \"\"));\n });\n return /* @__PURE__ */ React73.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n return null;\n };\n var finalStyle = _objectSpread8(_objectSpread8({}, defaultDefaultTooltipContentProps.contentStyle), contentStyle);\n var finalLabelStyle = _objectSpread8({\n margin: 0\n }, labelStyle);\n var hasLabel = !isNullish(label);\n var finalLabel = hasLabel ? label : \"\";\n var wrapperCN = clsx(\"recharts-default-tooltip\", wrapperClassName);\n var labelCN = clsx(\"recharts-tooltip-label\", labelClassName);\n if (hasLabel && labelFormatter && payload !== void 0 && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n var accessibilityAttributes = accessibilityLayer ? {\n role: \"status\",\n \"aria-live\": \"assertive\"\n } : {};\n return /* @__PURE__ */ React73.createElement(\"div\", _extends7({\n className: wrapperCN,\n style: finalStyle\n }, accessibilityAttributes), /* @__PURE__ */ React73.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /* @__PURE__ */ React73.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent2());\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/TooltipBoundingBox.js\n var React74 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/tooltip/translate.js\n var CSS_CLASS_PREFIX = \"recharts-tooltip-wrapper\";\n var TOOLTIP_HIDDEN = {\n visibility: \"hidden\"\n };\n function getTooltipCSSClassName(_ref2) {\n var {\n coordinate,\n translateX,\n translateY\n } = _ref2;\n return clsx(CSS_CLASS_PREFIX, {\n [\"\".concat(CSS_CLASS_PREFIX, \"-right\")]: isNumber3(translateX) && coordinate && isNumber3(coordinate.x) && translateX >= coordinate.x,\n [\"\".concat(CSS_CLASS_PREFIX, \"-left\")]: isNumber3(translateX) && coordinate && isNumber3(coordinate.x) && translateX < coordinate.x,\n [\"\".concat(CSS_CLASS_PREFIX, \"-bottom\")]: isNumber3(translateY) && coordinate && isNumber3(coordinate.y) && translateY >= coordinate.y,\n [\"\".concat(CSS_CLASS_PREFIX, \"-top\")]: isNumber3(translateY) && coordinate && isNumber3(coordinate.y) && translateY < coordinate.y\n });\n }\n function getTooltipTranslateXY(_ref2) {\n var {\n allowEscapeViewBox,\n coordinate,\n key,\n offset: offset4,\n position: position2,\n reverseDirection,\n tooltipDimension,\n viewBox,\n viewBoxDimension\n } = _ref2;\n if (position2 && isNumber3(position2[key])) {\n return position2[key];\n }\n var negative = coordinate[key] - tooltipDimension - (offset4 > 0 ? offset4 : 0);\n var positive = coordinate[key] + offset4;\n if (allowEscapeViewBox[key]) {\n return reverseDirection[key] ? negative : positive;\n }\n var viewBoxKey = viewBox[key];\n if (viewBoxKey == null) {\n return 0;\n }\n if (reverseDirection[key]) {\n var _tooltipBoundary = negative;\n var _viewBoxBoundary = viewBoxKey;\n if (_tooltipBoundary < _viewBoxBoundary) {\n return Math.max(positive, viewBoxKey);\n }\n return Math.max(negative, viewBoxKey);\n }\n if (viewBoxDimension == null) {\n return 0;\n }\n var tooltipBoundary = positive + tooltipDimension;\n var viewBoxBoundary = viewBoxKey + viewBoxDimension;\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(negative, viewBoxKey);\n }\n return Math.max(positive, viewBoxKey);\n }\n function getTransformStyle(_ref3) {\n var {\n translateX,\n translateY,\n useTranslate3d\n } = _ref3;\n return {\n transform: useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n };\n }\n function getTooltipTranslate(_ref4) {\n var {\n allowEscapeViewBox,\n coordinate,\n offsetTop,\n offsetLeft,\n position: position2,\n reverseDirection,\n tooltipBox,\n useTranslate3d,\n viewBox\n } = _ref4;\n var cssProperties, translateX, translateY;\n if (tooltipBox.height > 0 && tooltipBox.width > 0 && coordinate) {\n translateX = getTooltipTranslateXY({\n allowEscapeViewBox,\n coordinate,\n key: \"x\",\n offset: offsetLeft,\n position: position2,\n reverseDirection,\n tooltipDimension: tooltipBox.width,\n viewBox,\n viewBoxDimension: viewBox.width\n });\n translateY = getTooltipTranslateXY({\n allowEscapeViewBox,\n coordinate,\n key: \"y\",\n offset: offsetTop,\n position: position2,\n reverseDirection,\n tooltipDimension: tooltipBox.height,\n viewBox,\n viewBoxDimension: viewBox.height\n });\n cssProperties = getTransformStyle({\n translateX,\n translateY,\n useTranslate3d\n });\n } else {\n cssProperties = TOOLTIP_HIDDEN;\n }\n return {\n cssProperties,\n cssClasses: getTooltipCSSClassName({\n translateX,\n translateY,\n coordinate\n })\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/usePrefersReducedMotion.js\n var import_react23 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Global.js\n var parseIsSsrByDefault = () => !(typeof window !== \"undefined\" && window.document && Boolean(window.document.createElement) && window.setTimeout);\n var Global = {\n devToolsEnabled: true,\n isSsr: parseIsSsrByDefault()\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/usePrefersReducedMotion.js\n function usePrefersReducedMotion() {\n var [prefersReducedMotion, setPrefersReducedMotion] = (0, import_react23.useState)(() => {\n if (Global.isSsr) {\n return false;\n }\n if (!window.matchMedia) {\n return false;\n }\n return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n });\n (0, import_react23.useEffect)(() => {\n if (!window.matchMedia) {\n return;\n }\n var mediaQuery = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n var handleChange = () => {\n setPrefersReducedMotion(mediaQuery.matches);\n };\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => {\n mediaQuery.removeEventListener(\"change\", handleChange);\n };\n }, []);\n return prefersReducedMotion;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/TooltipBoundingBox.js\n function ownKeys9(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread9(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys9(Object(t2), true).forEach(function(r3) {\n _defineProperty9(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys9(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty9(e, r2, t2) {\n return (r2 = _toPropertyKey9(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey9(t2) {\n var i = _toPrimitive9(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive9(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function resolveTransitionProperty(args) {\n if (args.prefersReducedMotion && args.isAnimationActive === \"auto\") {\n return void 0;\n }\n if (args.isAnimationActive && args.active) {\n return \"transform \".concat(args.animationDuration, \"ms \").concat(args.animationEasing);\n }\n return void 0;\n }\n function TooltipBoundingBoxImpl(props) {\n var _props$coordinate3, _props$coordinate4, _props$coordinate$x2, _props$coordinate5, _props$coordinate$y2, _props$coordinate6;\n var prefersReducedMotion = usePrefersReducedMotion();\n var [state2, setState] = React74.useState(() => ({\n dismissed: false,\n dismissedAtCoordinate: {\n x: 0,\n y: 0\n }\n }));\n React74.useEffect(() => {\n var handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n var _props$coordinate$x, _props$coordinate, _props$coordinate$y, _props$coordinate2;\n setState({\n dismissed: true,\n dismissedAtCoordinate: {\n x: (_props$coordinate$x = (_props$coordinate = props.coordinate) === null || _props$coordinate === void 0 ? void 0 : _props$coordinate.x) !== null && _props$coordinate$x !== void 0 ? _props$coordinate$x : 0,\n y: (_props$coordinate$y = (_props$coordinate2 = props.coordinate) === null || _props$coordinate2 === void 0 ? void 0 : _props$coordinate2.y) !== null && _props$coordinate$y !== void 0 ? _props$coordinate$y : 0\n }\n });\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [(_props$coordinate3 = props.coordinate) === null || _props$coordinate3 === void 0 ? void 0 : _props$coordinate3.x, (_props$coordinate4 = props.coordinate) === null || _props$coordinate4 === void 0 ? void 0 : _props$coordinate4.y]);\n if (state2.dismissed && (((_props$coordinate$x2 = (_props$coordinate5 = props.coordinate) === null || _props$coordinate5 === void 0 ? void 0 : _props$coordinate5.x) !== null && _props$coordinate$x2 !== void 0 ? _props$coordinate$x2 : 0) !== state2.dismissedAtCoordinate.x || ((_props$coordinate$y2 = (_props$coordinate6 = props.coordinate) === null || _props$coordinate6 === void 0 ? void 0 : _props$coordinate6.y) !== null && _props$coordinate$y2 !== void 0 ? _props$coordinate$y2 : 0) !== state2.dismissedAtCoordinate.y)) {\n setState(_objectSpread9(_objectSpread9({}, state2), {}, {\n dismissed: false\n }));\n }\n var {\n cssClasses,\n cssProperties\n } = getTooltipTranslate({\n allowEscapeViewBox: props.allowEscapeViewBox,\n coordinate: props.coordinate,\n offsetLeft: typeof props.offset === \"number\" ? props.offset : props.offset.x,\n offsetTop: typeof props.offset === \"number\" ? props.offset : props.offset.y,\n position: props.position,\n reverseDirection: props.reverseDirection,\n tooltipBox: {\n height: props.lastBoundingBox.height,\n width: props.lastBoundingBox.width\n },\n useTranslate3d: props.useTranslate3d,\n viewBox: props.viewBox\n });\n var positionStyle = props.hasPortalFromProps ? {} : _objectSpread9(_objectSpread9({\n transition: resolveTransitionProperty({\n prefersReducedMotion,\n isAnimationActive: props.isAnimationActive,\n active: props.active,\n animationDuration: props.animationDuration,\n animationEasing: props.animationEasing\n })\n }, cssProperties), {}, {\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0\n });\n var outerStyle = _objectSpread9(_objectSpread9({}, positionStyle), {}, {\n visibility: !state2.dismissed && props.active && props.hasPayload ? \"visible\" : \"hidden\"\n }, props.wrapperStyle);\n return /* @__PURE__ */ React74.createElement(\"div\", {\n // @ts-expect-error typescript library does not recognize xmlns attribute, but it's required for an HTML chunk inside SVG.\n xmlns: \"http://www.w3.org/1999/xhtml\",\n tabIndex: -1,\n className: cssClasses,\n style: outerStyle,\n ref: props.innerRef\n }, props.children);\n }\n var TooltipBoundingBox = /* @__PURE__ */ React74.memo(TooltipBoundingBoxImpl);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/accessibilityContext.js\n var useAccessibilityLayer = () => {\n var _useAppSelector;\n return (_useAppSelector = useAppSelector((state2) => state2.rootProps.accessibilityLayer)) !== null && _useAppSelector !== void 0 ? _useAppSelector : true;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cursor.js\n var React79 = __toESM(require_react());\n var import_react29 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Curve.js\n var React75 = __toESM(require_react());\n function _extends8() {\n return _extends8 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends8.apply(null, arguments);\n }\n function ownKeys10(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread10(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys10(Object(t2), true).forEach(function(r3) {\n _defineProperty10(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys10(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty10(e, r2, t2) {\n return (r2 = _toPropertyKey10(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey10(t2) {\n var i = _toPrimitive10(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive10(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var CURVE_FACTORIES = {\n curveBasisClosed: basisClosed_default,\n curveBasisOpen: basisOpen_default,\n curveBasis: basis_default,\n curveBumpX: bumpX,\n curveBumpY: bumpY,\n curveLinearClosed: linearClosed_default,\n curveLinear: linear_default,\n curveMonotoneX: monotoneX,\n curveMonotoneY: monotoneY,\n curveNatural: natural_default,\n curveStep: step_default,\n curveStepAfter: stepAfter,\n curveStepBefore: stepBefore\n };\n var defined = (p) => isWellBehavedNumber(p.x) && isWellBehavedNumber(p.y);\n var areaDefined = (d) => d.base != null && defined(d.base) && defined(d);\n var getX = (p) => p.x;\n var getY = (p) => p.y;\n var getCurveFactory = (type, layout) => {\n if (typeof type === \"function\") {\n return type;\n }\n var name = \"curve\".concat(upperFirst(type));\n if ((name === \"curveMonotone\" || name === \"curveBump\") && layout) {\n var factory = CURVE_FACTORIES[\"\".concat(name).concat(layout === \"vertical\" ? \"Y\" : \"X\")];\n if (factory) {\n return factory;\n }\n }\n return CURVE_FACTORIES[name] || linear_default;\n };\n var defaultCurveProps = {\n connectNulls: false,\n type: \"linear\"\n };\n var getPath = (_ref2) => {\n var {\n type = defaultCurveProps.type,\n points = [],\n baseLine,\n layout,\n connectNulls = defaultCurveProps.connectNulls\n } = _ref2;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(defined) : points;\n if (Array.isArray(baseLine)) {\n var _lineFunction;\n var areaPoints = points.map((entry, index2) => _objectSpread10(_objectSpread10({}, entry), {}, {\n base: baseLine[index2]\n }));\n if (layout === \"vertical\") {\n _lineFunction = area_default().y(getY).x1(getX).x0((d) => d.base.x);\n } else {\n _lineFunction = area_default().x(getX).y1(getY).y0((d) => d.base.y);\n }\n var _nullableLineFunction = _lineFunction.defined(areaDefined).curve(curveFactory);\n var finalPoints = connectNulls ? areaPoints.filter(areaDefined) : areaPoints;\n return _nullableLineFunction(finalPoints);\n }\n var lineFunction;\n if (layout === \"vertical\" && isNumber3(baseLine)) {\n lineFunction = area_default().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber3(baseLine)) {\n lineFunction = area_default().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = line_default().x(getX).y(getY);\n }\n var nullableLineFunction = lineFunction.defined(defined).curve(curveFactory);\n return nullableLineFunction(formatPoints);\n };\n var Curve = (props) => {\n var {\n className,\n points,\n path: path2,\n pathRef\n } = props;\n var layout = useChartLayout();\n if ((!points || !points.length) && !path2) {\n return null;\n }\n var getPathInput = {\n type: props.type,\n points: props.points,\n baseLine: props.baseLine,\n layout: props.layout || layout,\n connectNulls: props.connectNulls\n };\n var realPath = points && points.length ? getPath(getPathInput) : path2;\n return /* @__PURE__ */ React75.createElement(\"path\", _extends8({}, svgPropertiesNoEvents(props), adaptEventHandlers(props), {\n className: clsx(\"recharts-curve\", className),\n d: realPath === null ? void 0 : realPath,\n ref: pathRef\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Cross.js\n var React76 = __toESM(require_react());\n var _excluded5 = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\n function _extends9() {\n return _extends9 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends9.apply(null, arguments);\n }\n function ownKeys11(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread11(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys11(Object(t2), true).forEach(function(r3) {\n _defineProperty11(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys11(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty11(e, r2, t2) {\n return (r2 = _toPropertyKey11(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey11(t2) {\n var i = _toPrimitive11(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive11(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties5(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose5(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose5(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var getPath2 = (x2, y2, width, height, top, left) => {\n return \"M\".concat(x2, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y2, \"h\").concat(width);\n };\n var Cross = (_ref2) => {\n var {\n x: x2 = 0,\n y: y2 = 0,\n top = 0,\n left = 0,\n width = 0,\n height = 0,\n className\n } = _ref2, rest = _objectWithoutProperties5(_ref2, _excluded5);\n var props = _objectSpread11({\n x: x2,\n y: y2,\n top,\n left,\n width,\n height\n }, rest);\n if (!isNumber3(x2) || !isNumber3(y2) || !isNumber3(width) || !isNumber3(height) || !isNumber3(top) || !isNumber3(left)) {\n return null;\n }\n return /* @__PURE__ */ React76.createElement(\"path\", _extends9({}, svgPropertiesAndEvents(props), {\n className: clsx(\"recharts-cross\", className),\n d: getPath2(x2, y2, width, height, top, left)\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getCursorRectangle.js\n function getCursorRectangle(layout, activeCoordinate, offset4, tooltipAxisBandSize) {\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: \"none\",\n fill: \"#ccc\",\n x: layout === \"horizontal\" ? activeCoordinate.x - halfSize : offset4.left + 0.5,\n y: layout === \"horizontal\" ? offset4.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === \"horizontal\" ? tooltipAxisBandSize : offset4.width - 1,\n height: layout === \"horizontal\" ? offset4.height - 1 : tooltipAxisBandSize\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Rectangle.js\n var React77 = __toESM(require_react());\n var import_react27 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/JavascriptAnimate.js\n var import_react25 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/util.js\n function ownKeys12(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread12(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys12(Object(t2), true).forEach(function(r3) {\n _defineProperty12(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys12(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty12(e, r2, t2) {\n return (r2 = _toPropertyKey12(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey12(t2) {\n var i = _toPrimitive12(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive12(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getDashCase = (name) => name.replace(/([A-Z])/g, (v) => \"-\".concat(v.toLowerCase()));\n var getTransitionVal = (props, duration, easing) => props.map((prop) => \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing)).join(\",\");\n var getIntersectionKeys = (preObj, nextObj) => [Object.keys(preObj), Object.keys(nextObj)].reduce((a2, b) => a2.filter((c2) => b.includes(c2)));\n var mapObject = (fn, obj) => Object.keys(obj).reduce((res, key) => _objectSpread12(_objectSpread12({}, res), {}, {\n [key]: fn(key, obj[key])\n }), {});\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/configUpdate.js\n function ownKeys13(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread13(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys13(Object(t2), true).forEach(function(r3) {\n _defineProperty13(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys13(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty13(e, r2, t2) {\n return (r2 = _toPropertyKey13(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey13(t2) {\n var i = _toPrimitive13(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive13(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var alpha = (begin, end, k2) => begin + (end - begin) * k2;\n var needContinue = (_ref2) => {\n var {\n from: from2,\n to: to2\n } = _ref2;\n return from2 !== to2;\n };\n var calStepperVals = (easing, preVals, steps) => {\n var nextStepVals = mapObject((key, val) => {\n if (needContinue(val)) {\n var [newX, newV] = easing(val.from, val.to, val.velocity);\n return _objectSpread13(_objectSpread13({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n return val;\n }, preVals);\n if (steps < 1) {\n return mapObject((key, val) => {\n if (needContinue(val) && nextStepVals[key] != null) {\n return _objectSpread13(_objectSpread13({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n return val;\n }, preVals);\n }\n return calStepperVals(easing, nextStepVals, steps - 1);\n };\n function createStepperUpdate(from2, to2, easing, interKeys, render2, timeoutController) {\n var preTime;\n var stepperStyle = interKeys.reduce((res, key) => _objectSpread13(_objectSpread13({}, res), {}, {\n [key]: {\n from: from2[key],\n velocity: 0,\n to: to2[key]\n }\n }), {});\n var getCurrStyle = () => mapObject((key, val) => val.from, stepperStyle);\n var shouldStopAnimation = () => !Object.values(stepperStyle).filter(needContinue).length;\n var stopAnimation = null;\n var stepperUpdate = (now) => {\n if (!preTime) {\n preTime = now;\n }\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), getCurrStyle()));\n preTime = now;\n if (!shouldStopAnimation()) {\n stopAnimation = timeoutController.setTimeout(stepperUpdate);\n }\n };\n return () => {\n stopAnimation = timeoutController.setTimeout(stepperUpdate);\n return () => {\n var _stopAnimation;\n (_stopAnimation = stopAnimation) === null || _stopAnimation === void 0 || _stopAnimation();\n };\n };\n }\n function createTimingUpdate(from2, to2, easing, duration, interKeys, render2, timeoutController) {\n var stopAnimation = null;\n var timingStyle = interKeys.reduce((res, key) => {\n var fromElement = from2[key];\n var toElement = to2[key];\n if (fromElement == null || toElement == null) {\n return res;\n }\n return _objectSpread13(_objectSpread13({}, res), {}, {\n [key]: [fromElement, toElement]\n });\n }, {});\n var beginTime;\n var timingUpdate = (now) => {\n if (!beginTime) {\n beginTime = now;\n }\n var t2 = (now - beginTime) / duration;\n var currStyle = mapObject((key, val) => alpha(...val, easing(t2)), timingStyle);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), currStyle));\n if (t2 < 1) {\n stopAnimation = timeoutController.setTimeout(timingUpdate);\n } else {\n var finalStyle = mapObject((key, val) => alpha(...val, easing(1)), timingStyle);\n render2(_objectSpread13(_objectSpread13(_objectSpread13({}, from2), to2), finalStyle));\n }\n };\n return () => {\n stopAnimation = timeoutController.setTimeout(timingUpdate);\n return () => {\n var _stopAnimation2;\n (_stopAnimation2 = stopAnimation) === null || _stopAnimation2 === void 0 || _stopAnimation2();\n };\n };\n }\n var configUpdate_default = (from2, to2, easing, duration, render2, timeoutController) => {\n var interKeys = getIntersectionKeys(from2, to2);\n if (easing == null) {\n return () => {\n render2(_objectSpread13(_objectSpread13({}, from2), to2));\n return () => {\n };\n };\n }\n return easing.isStepper === true ? createStepperUpdate(from2, to2, easing, interKeys, render2, timeoutController) : createTimingUpdate(from2, to2, easing, duration, interKeys, render2, timeoutController);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/easing.js\n var ACCURACY = 1e-4;\n var cubicBezierFactor = (c1, c2) => [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n var evaluatePolynomial = (params, t2) => params.map((param, i) => param * t2 ** i).reduce((pre, curr) => pre + curr);\n var cubicBezier = (c1, c2) => (t2) => {\n var params = cubicBezierFactor(c1, c2);\n return evaluatePolynomial(params, t2);\n };\n var derivativeCubicBezier = (c1, c2) => (t2) => {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [...params.map((param, i) => param * i).slice(1), 0];\n return evaluatePolynomial(newParams, t2);\n };\n var parseCubicBezier = (easing) => {\n var _easingParts$;\n var easingParts = easing.split(\"(\");\n if (easingParts.length !== 2 || easingParts[0] !== \"cubic-bezier\") {\n return null;\n }\n var numbers2 = (_easingParts$ = easingParts[1]) === null || _easingParts$ === void 0 || (_easingParts$ = _easingParts$.split(\")\")[0]) === null || _easingParts$ === void 0 ? void 0 : _easingParts$.split(\",\");\n if (numbers2 == null || numbers2.length !== 4) {\n return null;\n }\n var coords = numbers2.map((x2) => parseFloat(x2));\n return [coords[0], coords[1], coords[2], coords[3]];\n };\n var getBezierCoordinates = function getBezierCoordinates2() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1) {\n switch (args[0]) {\n case \"linear\":\n return [0, 0, 1, 1];\n case \"ease\":\n return [0.25, 0.1, 0.25, 1];\n case \"ease-in\":\n return [0.42, 0, 1, 1];\n case \"ease-out\":\n return [0.42, 0, 0.58, 1];\n case \"ease-in-out\":\n return [0, 0, 0.58, 1];\n default: {\n var easing = parseCubicBezier(args[0]);\n if (easing) {\n return easing;\n }\n }\n }\n }\n if (args.length === 4) {\n return args;\n }\n return [0, 0, 1, 1];\n };\n var createBezierEasing = (x1, y1, x2, y2) => {\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n var rangeValue = (value) => {\n if (value > 1) {\n return 1;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n };\n var bezier = (_t) => {\n var t2 = _t > 1 ? 1 : _t;\n var x3 = t2;\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x3) - t2;\n var derVal = derCurveX(x3);\n if (Math.abs(evalT - t2) < ACCURACY || derVal < ACCURACY) {\n return curveY(x3);\n }\n x3 = rangeValue(x3 - evalT / derVal);\n }\n return curveY(x3);\n };\n bezier.isStepper = false;\n return bezier;\n };\n var configBezier = function configBezier2() {\n return createBezierEasing(...getBezierCoordinates(...arguments));\n };\n var configSpring = function configSpring2() {\n var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var {\n stiff = 100,\n damping = 8,\n dt = 17\n } = config;\n var stepper = (currX, destX, currV) => {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1e3;\n var newX = currV * dt / 1e3 + currX;\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n return [newX, newV];\n };\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n };\n var configEasing = (easing) => {\n if (typeof easing === \"string\") {\n switch (easing) {\n case \"ease\":\n case \"ease-in-out\":\n case \"ease-out\":\n case \"ease-in\":\n case \"linear\":\n return configBezier(easing);\n case \"spring\":\n return configSpring();\n default:\n if (easing.split(\"(\")[0] === \"cubic-bezier\") {\n return configBezier(easing);\n }\n }\n }\n if (typeof easing === \"function\") {\n return easing;\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/useAnimationManager.js\n var import_react24 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/AnimationManager.js\n function createAnimateManager(timeoutController) {\n var currStyle;\n var handleChange = () => null;\n var shouldStop = false;\n var cancelTimeout = null;\n var setStyle = (_style) => {\n if (shouldStop) {\n return;\n }\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n var styles = _style;\n var [curr, ...restStyles] = styles;\n if (typeof curr === \"number\") {\n cancelTimeout = timeoutController.setTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n setStyle(curr);\n cancelTimeout = timeoutController.setTimeout(setStyle.bind(null, restStyles));\n return;\n }\n if (typeof _style === \"string\") {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === \"object\") {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === \"function\") {\n _style();\n }\n };\n return {\n stop: () => {\n shouldStop = true;\n },\n start: (style) => {\n shouldStop = false;\n if (cancelTimeout) {\n cancelTimeout();\n cancelTimeout = null;\n }\n setStyle(style);\n },\n subscribe: (_handleChange) => {\n handleChange = _handleChange;\n return () => {\n handleChange = () => null;\n };\n },\n getTimeoutController: () => timeoutController\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/timeoutController.js\n var RequestAnimationFrameTimeoutController = class {\n setTimeout(callback) {\n var delay = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var startTime = performance.now();\n var requestId = null;\n var executeCallback = (now) => {\n if (now - startTime >= delay) {\n callback(now);\n } else if (typeof requestAnimationFrame === \"function\") {\n requestId = requestAnimationFrame(executeCallback);\n }\n };\n requestId = requestAnimationFrame(executeCallback);\n return () => {\n if (requestId != null) {\n cancelAnimationFrame(requestId);\n }\n };\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/createDefaultAnimationManager.js\n function createDefaultAnimationManager() {\n return createAnimateManager(new RequestAnimationFrameTimeoutController());\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/useAnimationManager.js\n var AnimationManagerContext = /* @__PURE__ */ (0, import_react24.createContext)(createDefaultAnimationManager);\n function useAnimationManager(animationId, animationManagerFromProps) {\n var contextAnimationManager = (0, import_react24.useContext)(AnimationManagerContext);\n return (0, import_react24.useMemo)(() => animationManagerFromProps !== null && animationManagerFromProps !== void 0 ? animationManagerFromProps : contextAnimationManager(animationId), [animationId, animationManagerFromProps, contextAnimationManager]);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/JavascriptAnimate.js\n var defaultJavascriptAnimateProps = {\n begin: 0,\n duration: 1e3,\n easing: \"ease\",\n isActive: true,\n canBegin: true,\n onAnimationEnd: () => {\n },\n onAnimationStart: () => {\n }\n };\n var from = {\n t: 0\n };\n var to = {\n t: 1\n };\n function JavascriptAnimate(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultJavascriptAnimateProps);\n var {\n isActive: isActiveProp,\n canBegin,\n duration,\n easing,\n begin,\n onAnimationEnd,\n onAnimationStart,\n children\n } = props;\n var prefersReducedMotion = usePrefersReducedMotion();\n var isActive = isActiveProp === \"auto\" ? !Global.isSsr && !prefersReducedMotion : isActiveProp;\n var animationManager = useAnimationManager(props.animationId, props.animationManager);\n var [style, setStyle] = (0, import_react25.useState)(isActive ? from : to);\n var stopJSAnimation = (0, import_react25.useRef)(null);\n (0, import_react25.useEffect)(() => {\n if (!isActive) {\n setStyle(to);\n }\n }, [isActive]);\n (0, import_react25.useEffect)(() => {\n if (!isActive || !canBegin) {\n return noop4;\n }\n var startAnimation = configUpdate_default(from, to, configEasing(easing), duration, setStyle, animationManager.getTimeoutController());\n var onAnimationActive = () => {\n stopJSAnimation.current = startAnimation();\n };\n animationManager.start([onAnimationStart, begin, onAnimationActive, duration, onAnimationEnd]);\n return () => {\n animationManager.stop();\n if (stopJSAnimation.current) {\n stopJSAnimation.current();\n }\n onAnimationEnd();\n };\n }, [isActive, canBegin, duration, easing, begin, onAnimationStart, onAnimationEnd, animationManager]);\n return children(style.t);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useAnimationId.js\n var import_react26 = __toESM(require_react());\n function useAnimationId(input2) {\n var prefix2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"animation-\";\n var animationId = (0, import_react26.useRef)(uniqueId(prefix2));\n var prevProps = (0, import_react26.useRef)(input2);\n if (prevProps.current !== input2) {\n animationId.current = uniqueId(prefix2);\n prevProps.current = input2;\n }\n return animationId.current;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Rectangle.js\n var _excluded6 = [\"radius\"];\n var _excluded22 = [\"radius\"];\n var _templateObject;\n var _templateObject2;\n var _templateObject3;\n var _templateObject4;\n var _templateObject5;\n var _templateObject6;\n var _templateObject7;\n var _templateObject8;\n var _templateObject9;\n var _templateObject0;\n function ownKeys14(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread14(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys14(Object(t2), true).forEach(function(r3) {\n _defineProperty14(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys14(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty14(e, r2, t2) {\n return (r2 = _toPropertyKey14(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey14(t2) {\n var i = _toPrimitive14(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive14(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends10() {\n return _extends10 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends10.apply(null, arguments);\n }\n function _objectWithoutProperties6(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose6(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose6(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _taggedTemplateLiteral(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getRectanglePath = (x2, y2, width, height, radius) => {\n var roundedWidth = round2(width);\n var roundedHeight = round2(height);\n var maxRadius = Math.min(Math.abs(roundedWidth) / 2, Math.abs(roundedHeight) / 2);\n var ySign = roundedHeight >= 0 ? 1 : -1;\n var xSign = roundedWidth >= 0 ? 1 : -1;\n var clockWise = roundedHeight >= 0 && roundedWidth >= 0 || roundedHeight < 0 && roundedWidth < 0 ? 1 : 0;\n var path2;\n if (maxRadius > 0 && Array.isArray(radius)) {\n var newRadius = [0, 0, 0, 0];\n for (var i = 0, len = 4; i < len; i++) {\n var _radius$i;\n var r2 = (_radius$i = radius[i]) !== null && _radius$i !== void 0 ? _radius$i : 0;\n newRadius[i] = r2 > maxRadius ? maxRadius : r2;\n }\n path2 = roundTemplateLiteral(_templateObject || (_templateObject = _taggedTemplateLiteral([\"M\", \",\", \"\"])), x2, y2 + ySign * newRadius[0]);\n if (newRadius[0] > 0) {\n path2 += roundTemplateLiteral(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\", \",\", \"\"])), newRadius[0], newRadius[0], clockWise, x2 + xSign * newRadius[0], y2);\n }\n path2 += roundTemplateLiteral(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + width - xSign * newRadius[1], y2);\n if (newRadius[1] > 0) {\n path2 += roundTemplateLiteral(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[1], newRadius[1], clockWise, x2 + width, y2 + ySign * newRadius[1]);\n }\n path2 += roundTemplateLiteral(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + width, y2 + height - ySign * newRadius[2]);\n if (newRadius[2] > 0) {\n path2 += roundTemplateLiteral(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[2], newRadius[2], clockWise, x2 + width - xSign * newRadius[2], y2 + height);\n }\n path2 += roundTemplateLiteral(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"L \", \",\", \"\"])), x2 + xSign * newRadius[3], y2 + height);\n if (newRadius[3] > 0) {\n path2 += roundTemplateLiteral(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"A \", \",\", \",0,0,\", \",\\n \", \",\", \"\"])), newRadius[3], newRadius[3], clockWise, x2, y2 + height - ySign * newRadius[3]);\n }\n path2 += \"Z\";\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n path2 = roundTemplateLiteral(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"M \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \"\\n L \", \",\", \"\\n A \", \",\", \",0,0,\", \",\", \",\", \" Z\"])), x2, y2 + ySign * _newRadius, _newRadius, _newRadius, clockWise, x2 + xSign * _newRadius, y2, x2 + width - xSign * _newRadius, y2, _newRadius, _newRadius, clockWise, x2 + width, y2 + ySign * _newRadius, x2 + width, y2 + height - ySign * _newRadius, _newRadius, _newRadius, clockWise, x2 + width - xSign * _newRadius, y2 + height, x2 + xSign * _newRadius, y2 + height, _newRadius, _newRadius, clockWise, x2, y2 + height - ySign * _newRadius);\n } else {\n path2 = roundTemplateLiteral(_templateObject0 || (_templateObject0 = _taggedTemplateLiteral([\"M \", \",\", \" h \", \" v \", \" h \", \" Z\"])), x2, y2, width, height, -width);\n }\n return path2;\n };\n var defaultRectangleProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\"\n };\n var Rectangle = (rectangleProps) => {\n var props = resolveDefaultProps(rectangleProps, defaultRectangleProps);\n var pathRef = (0, import_react27.useRef)(null);\n var [totalLength, setTotalLength] = (0, import_react27.useState)(-1);\n (0, import_react27.useEffect)(() => {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (_unused) {\n }\n }\n }, []);\n var {\n x: x2,\n y: y2,\n width,\n height,\n radius,\n className\n } = props;\n var {\n animationEasing,\n animationDuration,\n animationBegin,\n isAnimationActive,\n isUpdateAnimationActive\n } = props;\n var prevWidthRef = (0, import_react27.useRef)(width);\n var prevHeightRef = (0, import_react27.useRef)(height);\n var prevXRef = (0, import_react27.useRef)(x2);\n var prevYRef = (0, import_react27.useRef)(y2);\n var animationIdInput = (0, import_react27.useMemo)(() => ({\n x: x2,\n y: y2,\n width,\n height,\n radius\n }), [x2, y2, width, height, radius]);\n var animationId = useAnimationId(animationIdInput, \"rectangle-\");\n if (x2 !== +x2 || y2 !== +y2 || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-rectangle\", className);\n if (!isUpdateAnimationActive) {\n var _svgPropertiesAndEven = svgPropertiesAndEvents(props), {\n radius: _\n } = _svgPropertiesAndEven, otherPathProps = _objectWithoutProperties6(_svgPropertiesAndEven, _excluded6);\n return /* @__PURE__ */ React77.createElement(\"path\", _extends10({}, otherPathProps, {\n x: round2(x2),\n y: round2(y2),\n width: round2(width),\n height: round2(height),\n radius: typeof radius === \"number\" ? radius : void 0,\n className: layerClass,\n d: getRectanglePath(x2, y2, width, height, radius)\n }));\n }\n var prevWidth = prevWidthRef.current;\n var prevHeight = prevHeightRef.current;\n var prevX = prevXRef.current;\n var prevY = prevYRef.current;\n var from2 = \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\");\n var to2 = \"\".concat(totalLength, \"px \").concat(totalLength, \"px\");\n var transition = getTransitionVal([\"strokeDasharray\"], animationDuration, typeof animationEasing === \"string\" ? animationEasing : defaultRectangleProps.animationEasing);\n return /* @__PURE__ */ React77.createElement(JavascriptAnimate, {\n animationId,\n key: animationId,\n canBegin: totalLength > 0,\n duration: animationDuration,\n easing: animationEasing,\n isActive: isUpdateAnimationActive,\n begin: animationBegin\n }, (t2) => {\n var currWidth = interpolate(prevWidth, width, t2);\n var currHeight = interpolate(prevHeight, height, t2);\n var currX = interpolate(prevX, x2, t2);\n var currY = interpolate(prevY, y2, t2);\n if (pathRef.current) {\n prevWidthRef.current = currWidth;\n prevHeightRef.current = currHeight;\n prevXRef.current = currX;\n prevYRef.current = currY;\n }\n var animationStyle;\n if (!isAnimationActive) {\n animationStyle = {\n strokeDasharray: to2\n };\n } else if (t2 > 0) {\n animationStyle = {\n transition,\n strokeDasharray: to2\n };\n } else {\n animationStyle = {\n strokeDasharray: from2\n };\n }\n var _svgPropertiesAndEven2 = svgPropertiesAndEvents(props), {\n radius: _2\n } = _svgPropertiesAndEven2, otherPathProps2 = _objectWithoutProperties6(_svgPropertiesAndEven2, _excluded22);\n return /* @__PURE__ */ React77.createElement(\"path\", _extends10({}, otherPathProps2, {\n radius: typeof radius === \"number\" ? radius : void 0,\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: pathRef,\n style: _objectSpread14(_objectSpread14({}, animationStyle), props.style)\n }));\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/PolarUtils.js\n function ownKeys15(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread15(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys15(Object(t2), true).forEach(function(r3) {\n _defineProperty15(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys15(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty15(e, r2, t2) {\n return (r2 = _toPropertyKey15(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey15(t2) {\n var i = _toPrimitive15(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive15(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var RADIAN2 = Math.PI / 180;\n var degreeToRadian = (angle) => angle * Math.PI / 180;\n var radianToDegree = (angleInRadian) => angleInRadian * 180 / Math.PI;\n var polarToCartesian = (cx2, cy, radius, angle) => ({\n x: cx2 + Math.cos(-RADIAN2 * angle) * radius,\n y: cy + Math.sin(-RADIAN2 * angle) * radius\n });\n var getMaxRadius = function getMaxRadius2(width, height) {\n var offset4 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0,\n brushBottom: 0\n };\n return Math.min(Math.abs(width - (offset4.left || 0) - (offset4.right || 0)), Math.abs(height - (offset4.top || 0) - (offset4.bottom || 0))) / 2;\n };\n var distanceBetweenPoints = (point4, anotherPoint) => {\n var {\n x: x1,\n y: y1\n } = point4;\n var {\n x: x2,\n y: y2\n } = anotherPoint;\n return Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2);\n };\n var getAngleOfPoint = (_ref2, _ref22) => {\n var {\n x: x2,\n y: y2\n } = _ref2;\n var {\n cx: cx2,\n cy\n } = _ref22;\n var radius = distanceBetweenPoints({\n x: x2,\n y: y2\n }, {\n x: cx2,\n y: cy\n });\n if (radius <= 0) {\n return {\n radius,\n angle: 0\n };\n }\n var cos2 = (x2 - cx2) / radius;\n var angleInRadian = Math.acos(cos2);\n if (y2 > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n return {\n radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian\n };\n };\n var formatAngleOfSector = (_ref3) => {\n var {\n startAngle,\n endAngle\n } = _ref3;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min3 = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min3 * 360,\n endAngle: endAngle - min3 * 360\n };\n };\n var reverseFormatAngleOfSector = (angle, _ref4) => {\n var {\n startAngle,\n endAngle\n } = _ref4;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min3 = Math.min(startCnt, endCnt);\n return angle + min3 * 360;\n };\n var inRangeOfSector = (_ref5, viewBox) => {\n var {\n relativeX: x2,\n relativeY: y2\n } = _ref5;\n var {\n radius,\n angle\n } = getAngleOfPoint({\n x: x2,\n y: y2\n }, viewBox);\n var {\n innerRadius,\n outerRadius\n } = viewBox;\n if (radius < innerRadius || radius > outerRadius) {\n return null;\n }\n if (radius === 0) {\n return null;\n }\n var {\n startAngle,\n endAngle\n } = formatAngleOfSector(viewBox);\n var formatAngle = angle;\n var inRange;\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n if (inRange) {\n return _objectSpread15(_objectSpread15({}, viewBox), {}, {\n radius,\n angle: reverseFormatAngleOfSector(formatAngle, viewBox)\n });\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js\n function getRadialCursorPoints(activeCoordinate) {\n var {\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n } = activeCoordinate;\n var startPoint = polarToCartesian(cx2, cy, radius, startAngle);\n var endPoint = polarToCartesian(cx2, cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Sector.js\n var React78 = __toESM(require_react());\n var _templateObject10;\n var _templateObject22;\n var _templateObject32;\n var _templateObject42;\n var _templateObject52;\n var _templateObject62;\n var _templateObject72;\n function _extends11() {\n return _extends11 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends11.apply(null, arguments);\n }\n function _taggedTemplateLiteral2(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getDeltaAngle = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign2 * deltaAngle;\n };\n var getTangentCircle = (_ref2) => {\n var {\n cx: cx2,\n cy,\n radius,\n angle,\n sign: sign2,\n isExternal,\n cornerRadius,\n cornerIsExternal\n } = _ref2;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN2;\n var centerAngle = cornerIsExternal ? angle : angle + sign2 * theta;\n var center = polarToCartesian(cx2, cy, centerRadius, centerAngle);\n var circleTangency = polarToCartesian(cx2, cy, radius, centerAngle);\n var lineTangencyAngle = cornerIsExternal ? angle - sign2 * theta : angle;\n var lineTangency = polarToCartesian(cx2, cy, centerRadius * Math.cos(theta * RADIAN2), lineTangencyAngle);\n return {\n center,\n circleTangency,\n lineTangency,\n theta\n };\n };\n var getSectorPath = (_ref2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n } = _ref2;\n var angle = getDeltaAngle(startAngle, endAngle);\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx2, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx2, cy, outerRadius, tempEndAngle);\n var path2 = roundTemplateLiteral(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n A \", \",\", \",0,\\n \", \",\", \",\\n \", \",\", \"\\n \"])), outerStartPoint.x, outerStartPoint.y, outerRadius, outerRadius, +(Math.abs(angle) > 180), +(startAngle > tempEndAngle), outerEndPoint.x, outerEndPoint.y);\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx2, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx2, cy, innerRadius, tempEndAngle);\n path2 += roundTemplateLiteral(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral2([\"L \", \",\", \"\\n A \", \",\", \",0,\\n \", \",\", \",\\n \", \",\", \" Z\"])), innerEndPoint.x, innerEndPoint.y, innerRadius, innerRadius, +(Math.abs(angle) > 180), +(startAngle <= tempEndAngle), innerStartPoint.x, innerStartPoint.y);\n } else {\n path2 += roundTemplateLiteral(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral2([\"L \", \",\", \" Z\"])), cx2, cy);\n }\n return path2;\n };\n var getSectorWithCorner = (_ref3) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius,\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle\n } = _ref3;\n var sign2 = mathSign(endAngle - startAngle);\n var {\n circleTangency: soct,\n lineTangency: solt,\n theta: sot\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign2,\n cornerRadius,\n cornerIsExternal\n });\n var {\n circleTangency: eoct,\n lineTangency: eolt,\n theta: eot\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign2,\n cornerRadius,\n cornerIsExternal\n });\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return roundTemplateLiteral(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n a\", \",\", \",0,0,1,\", \",0\\n a\", \",\", \",0,0,1,\", \",0\\n \"])), solt.x, solt.y, cornerRadius, cornerRadius, cornerRadius * 2, cornerRadius, cornerRadius, -cornerRadius * 2);\n }\n return getSectorPath({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n });\n }\n var path2 = roundTemplateLiteral(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral2([\"M \", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n A\", \",\", \",0,\", \",\", \",\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n \"])), solt.x, solt.y, cornerRadius, cornerRadius, +(sign2 < 0), soct.x, soct.y, outerRadius, outerRadius, +(outerArcAngle > 180), +(sign2 < 0), eoct.x, eoct.y, cornerRadius, cornerRadius, +(sign2 < 0), eolt.x, eolt.y);\n if (innerRadius > 0) {\n var {\n circleTangency: sict,\n lineTangency: silt,\n theta: sit\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign2,\n isExternal: true,\n cornerRadius,\n cornerIsExternal\n });\n var {\n circleTangency: eict,\n lineTangency: eilt,\n theta: eit\n } = getTangentCircle({\n cx: cx2,\n cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign2,\n isExternal: true,\n cornerRadius,\n cornerIsExternal\n });\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path2, \"L\").concat(cx2, \",\").concat(cy, \"Z\");\n }\n path2 += roundTemplateLiteral(_templateObject62 || (_templateObject62 = _taggedTemplateLiteral2([\"L\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"\\n A\", \",\", \",0,\", \",\", \",\", \",\", \"\\n A\", \",\", \",0,0,\", \",\", \",\", \"Z\"])), eilt.x, eilt.y, cornerRadius, cornerRadius, +(sign2 < 0), eict.x, eict.y, innerRadius, innerRadius, +(innerArcAngle > 180), +(sign2 > 0), sict.x, sict.y, cornerRadius, cornerRadius, +(sign2 < 0), silt.x, silt.y);\n } else {\n path2 += roundTemplateLiteral(_templateObject72 || (_templateObject72 = _taggedTemplateLiteral2([\"L\", \",\", \"Z\"])), cx2, cy);\n }\n return path2;\n };\n var defaultSectorProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n };\n var Sector = (sectorProps) => {\n var props = resolveDefaultProps(sectorProps, defaultSectorProps);\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius,\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle,\n className\n } = props;\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n var layerClass = clsx(\"recharts-sector\", className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path2;\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path2 = getSectorWithCorner({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius,\n cornerIsExternal,\n startAngle,\n endAngle\n });\n } else {\n path2 = getSectorPath({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n });\n }\n return /* @__PURE__ */ React78.createElement(\"path\", _extends11({}, svgPropertiesAndEvents(props), {\n className: layerClass,\n d: path2\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/cursor/getCursorPoints.js\n function getCursorPoints(layout, activeCoordinate, offset4) {\n if (layout === \"horizontal\") {\n return [{\n x: activeCoordinate.x,\n y: offset4.top\n }, {\n x: activeCoordinate.x,\n y: offset4.top + offset4.height\n }];\n }\n if (layout === \"vertical\") {\n return [{\n x: offset4.left,\n y: activeCoordinate.y\n }, {\n x: offset4.left + offset4.width,\n y: activeCoordinate.y\n }];\n }\n if (isPolarCoordinate(activeCoordinate)) {\n if (layout === \"centric\") {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n angle\n } = activeCoordinate;\n var innerPoint = polarToCartesian(cx2, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx2, cy, outerRadius, angle);\n return [{\n x: innerPoint.x,\n y: innerPoint.y\n }, {\n x: outerPoint.x,\n y: outerPoint.y\n }];\n }\n return getRadialCursorPoints(activeCoordinate);\n }\n return void 0;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/axisSelectors.js\n var import_range2 = __toESM(require_range2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/dataSelectors.js\n var selectChartDataWithIndexes = (state2) => state2.chartData;\n var selectChartDataAndAlwaysIgnoreIndexes = createSelector([selectChartDataWithIndexes], (dataState) => {\n var dataEndIndex = dataState.chartData != null ? dataState.chartData.length - 1 : 0;\n return {\n chartData: dataState.chartData,\n computedData: dataState.computedData,\n dataEndIndex,\n dataStartIndex: 0\n };\n });\n var selectChartDataWithIndexesIfNotInPanoramaPosition4 = (state2, _unused1, _unused2, isPanorama) => {\n if (isPanorama) {\n return selectChartDataAndAlwaysIgnoreIndexes(state2);\n }\n return selectChartDataWithIndexes(state2);\n };\n var selectChartDataWithIndexesIfNotInPanoramaPosition3 = (state2, _unused1, isPanorama) => {\n if (isPanorama) {\n return selectChartDataAndAlwaysIgnoreIndexes(state2);\n }\n return selectChartDataWithIndexes(state2);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js\n function isWellFormedNumberDomain(v) {\n if (Array.isArray(v) && v.length === 2) {\n var [min3, max3] = v;\n if (isWellBehavedNumber(min3) && isWellBehavedNumber(max3)) {\n return true;\n }\n }\n return false;\n }\n function extendDomain(providedDomain, boundaryDomain, allowDataOverflow) {\n if (allowDataOverflow) {\n return providedDomain;\n }\n return [Math.min(providedDomain[0], boundaryDomain[0]), Math.max(providedDomain[1], boundaryDomain[1])];\n }\n function numericalDomainSpecifiedWithoutRequiringData(userDomain, allowDataOverflow) {\n if (!allowDataOverflow) {\n return void 0;\n }\n if (typeof userDomain === \"function\") {\n return void 0;\n }\n if (Array.isArray(userDomain) && userDomain.length === 2) {\n var [providedMin, providedMax] = userDomain;\n var finalMin, finalMax;\n if (isWellBehavedNumber(providedMin)) {\n finalMin = providedMin;\n } else if (typeof providedMin === \"function\") {\n return void 0;\n }\n if (isWellBehavedNumber(providedMax)) {\n finalMax = providedMax;\n } else if (typeof providedMax === \"function\") {\n return void 0;\n }\n var candidate = [finalMin, finalMax];\n if (isWellFormedNumberDomain(candidate)) {\n return candidate;\n }\n }\n return void 0;\n }\n function parseNumericalUserDomain(userDomain, dataDomain, allowDataOverflow) {\n if (!allowDataOverflow && dataDomain == null) {\n return void 0;\n }\n if (typeof userDomain === \"function\" && dataDomain != null) {\n try {\n var result = userDomain(dataDomain, allowDataOverflow);\n if (isWellFormedNumberDomain(result)) {\n return extendDomain(result, dataDomain, allowDataOverflow);\n }\n } catch (_unused) {\n }\n }\n if (Array.isArray(userDomain) && userDomain.length === 2) {\n var [providedMin, providedMax] = userDomain;\n var finalMin, finalMax;\n if (providedMin === \"auto\") {\n if (dataDomain != null) {\n finalMin = Math.min(...dataDomain);\n }\n } else if (isNumber3(providedMin)) {\n finalMin = providedMin;\n } else if (typeof providedMin === \"function\") {\n try {\n if (dataDomain != null) {\n finalMin = providedMin(dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[0]);\n }\n } catch (_unused2) {\n }\n } else if (typeof providedMin === \"string\" && MIN_VALUE_REG.test(providedMin)) {\n var match2 = MIN_VALUE_REG.exec(providedMin);\n if (match2 == null || match2[1] == null || dataDomain == null) {\n finalMin = void 0;\n } else {\n var value = +match2[1];\n finalMin = dataDomain[0] - value;\n }\n } else {\n finalMin = dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[0];\n }\n if (providedMax === \"auto\") {\n if (dataDomain != null) {\n finalMax = Math.max(...dataDomain);\n }\n } else if (isNumber3(providedMax)) {\n finalMax = providedMax;\n } else if (typeof providedMax === \"function\") {\n try {\n if (dataDomain != null) {\n finalMax = providedMax(dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[1]);\n }\n } catch (_unused3) {\n }\n } else if (typeof providedMax === \"string\" && MAX_VALUE_REG.test(providedMax)) {\n var _match = MAX_VALUE_REG.exec(providedMax);\n if (_match == null || _match[1] == null || dataDomain == null) {\n finalMax = void 0;\n } else {\n var _value = +_match[1];\n finalMax = dataDomain[1] + _value;\n }\n } else {\n finalMax = dataDomain === null || dataDomain === void 0 ? void 0 : dataDomain[1];\n }\n var candidate = [finalMin, finalMax];\n if (isWellFormedNumberDomain(candidate)) {\n if (dataDomain == null) {\n return candidate;\n }\n return extendDomain(candidate, dataDomain, allowDataOverflow);\n }\n }\n return void 0;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/getNiceTickValues.js\n var import_decimal2 = __toESM(require_decimal());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/util/arithmetic.js\n var import_decimal = __toESM(require_decimal());\n function getDigitCount(value) {\n var result;\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new import_decimal.default(value).abs().log(10).toNumber()) + 1;\n }\n return result;\n }\n function rangeStep(start, end, step) {\n var num = new import_decimal.default(start);\n var i = 0;\n var result = [];\n while (num.lt(end) && i < 1e5) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/getNiceTickValues.js\n var getValidInterval = (_ref2) => {\n var [min3, max3] = _ref2;\n var [validMin, validMax] = [min3, max3];\n if (min3 > max3) {\n [validMin, validMax] = [max3, min3];\n }\n return [validMin, validMax];\n };\n var getAdaptiveStep = (roughStep, allowDecimals, correctionFactor) => {\n if (roughStep.lte(0)) {\n return new import_decimal2.default(0);\n }\n var digitCount = getDigitCount(roughStep.toNumber());\n var digitCountValue = new import_decimal2.default(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue);\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new import_decimal2.default(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? new import_decimal2.default(formatStep.toNumber()) : new import_decimal2.default(Math.ceil(formatStep.toNumber()));\n };\n var getSnap125Step = (roughStep, allowDecimals, correctionFactor) => {\n var _NICE_STEPS$niceIdx;\n if (roughStep.lte(0)) {\n return new import_decimal2.default(0);\n }\n var NICE_STEPS = [1, 2, 2.5, 5];\n var roughNum = roughStep.toNumber();\n var exponent = Math.floor(new import_decimal2.default(roughNum).abs().log(10).toNumber());\n var magnitude = new import_decimal2.default(10).pow(exponent);\n var normalized = roughStep.div(magnitude).toNumber();\n var niceIdx = NICE_STEPS.findIndex((s2) => s2 >= normalized - 1e-10);\n if (niceIdx === -1) {\n magnitude = magnitude.mul(10);\n niceIdx = 0;\n }\n niceIdx += correctionFactor;\n if (niceIdx >= NICE_STEPS.length) {\n var extraMag = Math.floor(niceIdx / NICE_STEPS.length);\n niceIdx %= NICE_STEPS.length;\n magnitude = magnitude.mul(new import_decimal2.default(10).pow(extraMag));\n }\n var niceStep = (_NICE_STEPS$niceIdx = NICE_STEPS[niceIdx]) !== null && _NICE_STEPS$niceIdx !== void 0 ? _NICE_STEPS$niceIdx : 1;\n var formatStep = new import_decimal2.default(niceStep).mul(magnitude);\n return allowDecimals ? formatStep : new import_decimal2.default(Math.ceil(formatStep.toNumber()));\n };\n var getTickOfSingleValue = (value, tickCount, allowDecimals) => {\n var step = new import_decimal2.default(1);\n var middle = new import_decimal2.default(value);\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n if (absVal < 1) {\n step = new import_decimal2.default(10).pow(getDigitCount(value) - 1);\n middle = new import_decimal2.default(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n middle = new import_decimal2.default(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new import_decimal2.default(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new import_decimal2.default(Math.floor(value));\n }\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var ticks2 = [];\n for (var i = 0; i < tickCount; i++) {\n ticks2.push(middle.add(new import_decimal2.default(i - middleIndex).mul(step)).toNumber());\n }\n return ticks2;\n };\n var _calculateStep = function calculateStep(min3, max3, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0;\n var stepFn = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : getAdaptiveStep;\n if (!Number.isFinite((max3 - min3) / (tickCount - 1))) {\n return {\n step: new import_decimal2.default(0),\n tickMin: new import_decimal2.default(0),\n tickMax: new import_decimal2.default(0)\n };\n }\n var step = stepFn(new import_decimal2.default(max3).sub(min3).div(tickCount - 1), allowDecimals, correctionFactor);\n var middle;\n if (min3 <= 0 && max3 >= 0) {\n middle = new import_decimal2.default(0);\n } else {\n middle = new import_decimal2.default(min3).add(max3).div(2);\n middle = middle.sub(new import_decimal2.default(middle).mod(step));\n }\n var belowCount = Math.ceil(middle.sub(min3).div(step).toNumber());\n var upCount = Math.ceil(new import_decimal2.default(max3).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n if (scaleCount > tickCount) {\n return _calculateStep(min3, max3, tickCount, allowDecimals, correctionFactor + 1, stepFn);\n }\n if (scaleCount < tickCount) {\n upCount = max3 > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max3 > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n return {\n step,\n tickMin: middle.sub(new import_decimal2.default(belowCount).mul(step)),\n tickMax: middle.add(new import_decimal2.default(upCount).mul(step))\n };\n };\n var getNiceTickValues = function getNiceTickValues2(_ref2) {\n var [min3, max3] = _ref2;\n var tickCount = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var niceTicksMode = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : \"auto\";\n var count3 = Math.max(tickCount, 2);\n var [cormin, cormax] = getValidInterval([min3, max3]);\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin, ...Array(tickCount - 1).fill(Infinity)] : [...Array(tickCount - 1).fill(-Infinity), cormax];\n return min3 > max3 ? _values.reverse() : _values;\n }\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n var stepFn = niceTicksMode === \"snap125\" ? getSnap125Step : getAdaptiveStep;\n var {\n step,\n tickMin,\n tickMax\n } = _calculateStep(cormin, cormax, count3, allowDecimals, 0, stepFn);\n var values = rangeStep(tickMin, tickMax.add(new import_decimal2.default(0.1).mul(step)), step);\n return min3 > max3 ? values.reverse() : values;\n };\n var getTickValuesFixedDomain = function getTickValuesFixedDomain2(_ref3, tickCount) {\n var [min3, max3] = _ref3;\n var allowDecimals = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var niceTicksMode = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : \"auto\";\n var [cormin, cormax] = getValidInterval([min3, max3]);\n if (cormin === -Infinity || cormax === Infinity) {\n return [min3, max3];\n }\n if (cormin === cormax) {\n return [cormin];\n }\n var stepFn = niceTicksMode === \"snap125\" ? getSnap125Step : getAdaptiveStep;\n var count3 = Math.max(tickCount, 2);\n var step = stepFn(new import_decimal2.default(cormax).sub(cormin).div(count3 - 1), allowDecimals, 0);\n var values = [...rangeStep(new import_decimal2.default(cormin), new import_decimal2.default(cormax), step), cormax];\n if (allowDecimals === false) {\n values = values.map((value) => Math.round(value));\n }\n return min3 > max3 ? values.reverse() : values;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/rootPropsSelectors.js\n var selectRootMaxBarSize = (state2) => state2.rootProps.maxBarSize;\n var selectBarGap = (state2) => state2.rootProps.barGap;\n var selectBarCategoryGap = (state2) => state2.rootProps.barCategoryGap;\n var selectRootBarSize = (state2) => state2.rootProps.barSize;\n var selectStackOffsetType = (state2) => state2.rootProps.stackOffset;\n var selectReverseStackOrder = (state2) => state2.rootProps.reverseStackOrder;\n var selectChartName = (state2) => state2.options.chartName;\n var selectSyncId = (state2) => state2.rootProps.syncId;\n var selectSyncMethod = (state2) => state2.rootProps.syncMethod;\n var selectEventEmitter = (state2) => state2.options.eventEmitter;\n var selectChartBaseValue = (state2) => state2.rootProps.baseValue;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/DefaultZIndexes.js\n var DefaultZIndexes = {\n /**\n * CartesianGrid and PolarGrid\n */\n grid: -100,\n /**\n * Background of Bar and RadialBar.\n * This is not visible by default but can be enabled by setting background={true} on Bar or RadialBar.\n */\n barBackground: -50,\n /*\n * other chart elements or custom elements without specific zIndex\n * render in here, at zIndex 0\n */\n /**\n * Area, Pie, Radar, and ReferenceArea\n */\n area: 100,\n /**\n * Cursor is embedded inside Tooltip and controlled by it.\n * The Tooltip itself has a separate portal and is not included in the zIndex system;\n * Cursor is the decoration inside the chart area. CursorRectangle is a rectangle box.\n * It renders below bar so that in a stacked bar chart the cursor rectangle does not hide the other bars.\n */\n cursorRectangle: 200,\n /**\n * Bar and RadialBar\n */\n bar: 300,\n /**\n * Line and ReferenceLine, and ErrorBor\n */\n line: 400,\n /**\n * XAxis and YAxis and PolarAngleAxis and PolarRadiusAxis ticks and lines and children\n */\n axis: 500,\n /**\n * Scatter and ReferenceDot,\n * and Dots of Line and Area and Radar if they have dot=true\n */\n scatter: 600,\n /**\n * Hovering over a Bar or RadialBar renders a highlight rectangle\n */\n activeBar: 1e3,\n /**\n * Cursor is embedded inside Tooltip and controlled by it.\n * The Tooltip itself has a separate portal and is not included in the zIndex system;\n * Cursor is the decoration inside the chart area, usually a cross or a box.\n * CursorLine is a line cursor rendered in Line, Area, Scatter, Radar charts.\n * It renders above the Line and Scatter so that it is always visible.\n * It renders below active dot so that the dot is always visible and shows the current point.\n * We're also assuming that the active dot is small enough that it does not fully cover the cursor line.\n *\n * This also applies to the radial cursor in RadialBarChart.\n */\n cursorLine: 1100,\n /**\n * Hovering over a Point in Line, Area, Scatter, Radar renders a highlight dot\n */\n activeDot: 1200,\n /**\n * LabelList and Label, including Axis labels\n */\n label: 2e3\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/defaultPolarAngleAxisProps.js\n var defaultPolarAngleAxisProps = {\n allowDecimals: false,\n allowDuplicatedCategory: true,\n // if I set this to false then Tooltip synchronisation stops working in Radar, wtf\n allowDataOverflow: false,\n angle: 0,\n angleAxisId: 0,\n axisLine: true,\n axisLineType: \"polygon\",\n cx: 0,\n cy: 0,\n hide: false,\n includeHidden: false,\n label: false,\n niceTicks: \"auto\",\n orientation: \"outer\",\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickLine: true,\n tickSize: 8,\n type: \"auto\",\n zIndex: DefaultZIndexes.axis\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/defaultPolarRadiusAxisProps.js\n var defaultPolarRadiusAxisProps = {\n allowDataOverflow: false,\n allowDecimals: false,\n allowDuplicatedCategory: true,\n angle: 0,\n axisLine: true,\n includeHidden: false,\n hide: false,\n niceTicks: \"auto\",\n label: false,\n orientation: \"right\",\n radiusAxisId: 0,\n reversed: false,\n scale: \"auto\",\n stroke: \"#ccc\",\n tick: true,\n tickCount: 5,\n tickLine: true,\n type: \"auto\",\n zIndex: DefaultZIndexes.axis\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineAxisRangeWithReverse.js\n var combineAxisRangeWithReverse = (axisSettings, axisRange) => {\n if (!axisSettings || !axisRange) {\n return void 0;\n }\n if (axisSettings !== null && axisSettings !== void 0 && axisSettings.reversed) {\n return [axisRange[1], axisRange[0]];\n }\n return axisRange;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getAxisTypeBasedOnLayout.js\n function getAxisTypeBasedOnLayout(layout, axisType, axisDomainType) {\n if (axisDomainType !== \"auto\") {\n return axisDomainType;\n }\n if (layout == null) {\n return void 0;\n }\n return isCategoricalAxis(layout, axisType) ? \"category\" : \"number\";\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarAxisSelectors.js\n function ownKeys16(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread16(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys16(Object(t2), true).forEach(function(r3) {\n _defineProperty16(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys16(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty16(e, r2, t2) {\n return (r2 = _toPropertyKey16(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey16(t2) {\n var i = _toPrimitive16(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive16(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var implicitAngleAxis = {\n allowDataOverflow: defaultPolarAngleAxisProps.allowDataOverflow,\n allowDecimals: defaultPolarAngleAxisProps.allowDecimals,\n allowDuplicatedCategory: false,\n // defaultPolarAngleAxisProps.allowDuplicatedCategory has it set to true but the actual axis rendering ignores the prop because reasons,\n dataKey: void 0,\n domain: void 0,\n id: defaultPolarAngleAxisProps.angleAxisId,\n includeHidden: false,\n name: void 0,\n reversed: defaultPolarAngleAxisProps.reversed,\n scale: defaultPolarAngleAxisProps.scale,\n tick: defaultPolarAngleAxisProps.tick,\n tickCount: void 0,\n ticks: void 0,\n type: defaultPolarAngleAxisProps.type,\n unit: void 0,\n niceTicks: \"auto\"\n };\n var implicitRadiusAxis = {\n allowDataOverflow: defaultPolarRadiusAxisProps.allowDataOverflow,\n allowDecimals: defaultPolarRadiusAxisProps.allowDecimals,\n allowDuplicatedCategory: defaultPolarRadiusAxisProps.allowDuplicatedCategory,\n dataKey: void 0,\n domain: void 0,\n id: defaultPolarRadiusAxisProps.radiusAxisId,\n includeHidden: defaultPolarRadiusAxisProps.includeHidden,\n name: void 0,\n reversed: defaultPolarRadiusAxisProps.reversed,\n scale: defaultPolarRadiusAxisProps.scale,\n tick: defaultPolarRadiusAxisProps.tick,\n tickCount: defaultPolarRadiusAxisProps.tickCount,\n ticks: void 0,\n type: defaultPolarRadiusAxisProps.type,\n unit: void 0,\n niceTicks: \"auto\"\n };\n var selectAngleAxisNoDefaults = (state2, angleAxisId) => {\n if (angleAxisId == null) {\n return void 0;\n }\n return state2.polarAxis.angleAxis[angleAxisId];\n };\n var selectAngleAxis = createSelector([selectAngleAxisNoDefaults, selectPolarChartLayout], (angleAxisSettings, layout) => {\n var _getAxisTypeBasedOnLa;\n if (angleAxisSettings != null) {\n return angleAxisSettings;\n }\n var evaluatedType = (_getAxisTypeBasedOnLa = getAxisTypeBasedOnLayout(layout, \"angleAxis\", implicitAngleAxis.type)) !== null && _getAxisTypeBasedOnLa !== void 0 ? _getAxisTypeBasedOnLa : \"category\";\n return _objectSpread16(_objectSpread16({}, implicitAngleAxis), {}, {\n type: evaluatedType\n });\n });\n var selectRadiusAxisNoDefaults = (state2, radiusAxisId) => {\n return state2.polarAxis.radiusAxis[radiusAxisId];\n };\n var selectRadiusAxis = createSelector([selectRadiusAxisNoDefaults, selectPolarChartLayout], (radiusAxisSettings, layout) => {\n var _getAxisTypeBasedOnLa2;\n if (radiusAxisSettings != null) {\n return radiusAxisSettings;\n }\n var evaluatedType = (_getAxisTypeBasedOnLa2 = getAxisTypeBasedOnLayout(layout, \"radiusAxis\", implicitRadiusAxis.type)) !== null && _getAxisTypeBasedOnLa2 !== void 0 ? _getAxisTypeBasedOnLa2 : \"category\";\n return _objectSpread16(_objectSpread16({}, implicitRadiusAxis), {}, {\n type: evaluatedType\n });\n });\n var selectPolarOptions = (state2) => state2.polarOptions;\n var selectMaxRadius = createSelector([selectChartWidth, selectChartHeight, selectChartOffsetInternal], getMaxRadius);\n var selectInnerRadius = createSelector([selectPolarOptions, selectMaxRadius], (polarChartOptions, maxRadius) => {\n if (polarChartOptions == null) {\n return void 0;\n }\n return getPercentValue(polarChartOptions.innerRadius, maxRadius, 0);\n });\n var selectOuterRadius = createSelector([selectPolarOptions, selectMaxRadius], (polarChartOptions, maxRadius) => {\n if (polarChartOptions == null) {\n return void 0;\n }\n return getPercentValue(polarChartOptions.outerRadius, maxRadius, maxRadius * 0.8);\n });\n var combineAngleAxisRange = (polarOptions) => {\n if (polarOptions == null) {\n return [0, 0];\n }\n var {\n startAngle,\n endAngle\n } = polarOptions;\n return [startAngle, endAngle];\n };\n var selectAngleAxisRange = createSelector([selectPolarOptions], combineAngleAxisRange);\n var selectAngleAxisRangeWithReversed = createSelector([selectAngleAxis, selectAngleAxisRange], combineAxisRangeWithReverse);\n var selectRadiusAxisRange = createSelector([selectMaxRadius, selectInnerRadius, selectOuterRadius], (maxRadius, innerRadius, outerRadius) => {\n if (maxRadius == null || innerRadius == null || outerRadius == null) {\n return void 0;\n }\n return [innerRadius, outerRadius];\n });\n var selectRadiusAxisRangeWithReversed = createSelector([selectRadiusAxis, selectRadiusAxisRange], combineAxisRangeWithReverse);\n var selectPolarViewBox = createSelector([selectChartLayout, selectPolarOptions, selectInnerRadius, selectOuterRadius, selectChartWidth, selectChartHeight], (layout, polarOptions, innerRadius, outerRadius, width, height) => {\n if (layout !== \"centric\" && layout !== \"radial\" || polarOptions == null || innerRadius == null || outerRadius == null) {\n return void 0;\n }\n var {\n cx: cx2,\n cy,\n startAngle,\n endAngle\n } = polarOptions;\n return {\n cx: getPercentValue(cx2, width, width / 2),\n cy: getPercentValue(cy, height, height / 2),\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise: false\n // this property look useful, why not use it?\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pickAxisType.js\n var pickAxisType = (_state, axisType) => axisType;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pickAxisId.js\n var pickAxisId = (_state, _axisType, axisId) => axisId;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/stacks/getStackSeriesIdentifier.js\n function getStackSeriesIdentifier(graphicalItem) {\n return graphicalItem === null || graphicalItem === void 0 ? void 0 : graphicalItem.id;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineDisplayedStackedData.js\n function combineDisplayedStackedData(stackedGraphicalItems, _ref2, tooltipAxisSettings) {\n var {\n chartData = []\n } = _ref2;\n var {\n allowDuplicatedCategory,\n dataKey: tooltipDataKey\n } = tooltipAxisSettings;\n var knownItemsByDataKey = /* @__PURE__ */ new Map();\n stackedGraphicalItems.forEach((item) => {\n var _item$data;\n var resolvedData = (_item$data = item.data) !== null && _item$data !== void 0 ? _item$data : chartData;\n if (resolvedData == null || resolvedData.length === 0) {\n return;\n }\n var stackIdentifier = getStackSeriesIdentifier(item);\n resolvedData.forEach((entry, index2) => {\n var tooltipValue = tooltipDataKey == null || allowDuplicatedCategory ? index2 : String(getValueByDataKey(entry, tooltipDataKey, null));\n var numericValue = getValueByDataKey(entry, item.dataKey, 0);\n var curr;\n if (knownItemsByDataKey.has(tooltipValue)) {\n curr = knownItemsByDataKey.get(tooltipValue);\n } else {\n curr = {};\n }\n Object.assign(curr, {\n [stackIdentifier]: numericValue\n });\n knownItemsByDataKey.set(tooltipValue, curr);\n });\n });\n return Array.from(knownItemsByDataKey.values());\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/types/StackedGraphicalItem.js\n function isStacked(graphicalItem) {\n return \"stackId\" in graphicalItem && graphicalItem.stackId != null && graphicalItem.dataKey != null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/numberDomainEqualityCheck.js\n var numberDomainEqualityCheck = (a2, b) => {\n if (a2 === b) {\n return true;\n }\n if (a2 == null || b == null) {\n return false;\n }\n return a2[0] === b[0] && a2[1] === b[1];\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/arrayEqualityCheck.js\n function emptyArraysAreEqualCheck(a2, b) {\n if (Array.isArray(a2) && Array.isArray(b) && a2.length === 0 && b.length === 0) {\n return true;\n }\n return a2 === b;\n }\n function arrayContentsAreEqualCheck(a2, b) {\n if (a2.length === b.length) {\n for (var i = 0; i < a2.length; i++) {\n if (a2[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipAxisType.js\n var selectTooltipAxisType = (state2) => {\n var layout = selectChartLayout(state2);\n if (layout === \"horizontal\") {\n return \"xAxis\";\n }\n if (layout === \"vertical\") {\n return \"yAxis\";\n }\n if (layout === \"centric\") {\n return \"angleAxis\";\n }\n return \"radiusAxis\";\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipAxisId.js\n var selectTooltipAxisId = (state2) => state2.tooltip.settings.axisId;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/RechartsScale.js\n function rechartsScaleFactory(d3Scale) {\n if (d3Scale == null) {\n return void 0;\n }\n var ticksFn = d3Scale.ticks;\n var bandwidthFn = d3Scale.bandwidth;\n var d3Range = d3Scale.range();\n var range4 = [Math.min(...d3Range), Math.max(...d3Range)];\n return {\n domain: () => d3Scale.domain(),\n range: (function(_range) {\n function range5() {\n return _range.apply(this, arguments);\n }\n range5.toString = function() {\n return _range.toString();\n };\n return range5;\n })(() => range4),\n rangeMin: () => range4[0],\n rangeMax: () => range4[1],\n isInRange(value) {\n var first = range4[0];\n var last2 = range4[1];\n return first <= last2 ? value >= first && value <= last2 : value >= last2 && value <= first;\n },\n bandwidth: bandwidthFn ? () => bandwidthFn.call(d3Scale) : void 0,\n ticks: ticksFn ? (count3) => ticksFn.call(d3Scale, count3) : void 0,\n map: (input2, options2) => {\n var baseValue = d3Scale(input2);\n if (baseValue == null) {\n return void 0;\n }\n if (d3Scale.bandwidth && options2 !== null && options2 !== void 0 && options2.position) {\n var bandWidth = d3Scale.bandwidth();\n switch (options2.position) {\n case \"middle\":\n baseValue += bandWidth / 2;\n break;\n case \"end\":\n baseValue += bandWidth;\n break;\n default:\n break;\n }\n }\n return baseValue;\n }\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineCheckedDomain.js\n var combineCheckedDomain = (realScaleType, axisDomain) => {\n if (axisDomain == null) {\n return void 0;\n }\n switch (realScaleType) {\n case \"linear\": {\n if (!isWellFormedNumberDomain(axisDomain)) {\n var min3, max3;\n for (var i = 0; i < axisDomain.length; i++) {\n var value = axisDomain[i];\n if (!isWellBehavedNumber(value)) {\n continue;\n }\n if (min3 === void 0 || value < min3) {\n min3 = value;\n }\n if (max3 === void 0 || value > max3) {\n max3 = value;\n }\n }\n if (min3 !== void 0 && max3 !== void 0) {\n return [min3, max3];\n }\n return void 0;\n }\n return axisDomain;\n }\n default:\n return axisDomain;\n }\n };\n\n // ../../../node_modules/.bun/victory-vendor@37.3.6/node_modules/victory-vendor/es/d3-scale.js\n var d3_scale_exports = {};\n __export(d3_scale_exports, {\n scaleBand: () => band,\n scaleDiverging: () => diverging,\n scaleDivergingLog: () => divergingLog,\n scaleDivergingPow: () => divergingPow,\n scaleDivergingSqrt: () => divergingSqrt,\n scaleDivergingSymlog: () => divergingSymlog,\n scaleIdentity: () => identity2,\n scaleImplicit: () => implicit,\n scaleLinear: () => linear2,\n scaleLog: () => log,\n scaleOrdinal: () => ordinal,\n scalePoint: () => point3,\n scalePow: () => pow,\n scaleQuantile: () => quantile2,\n scaleQuantize: () => quantize,\n scaleRadial: () => radial,\n scaleSequential: () => sequential,\n scaleSequentialLog: () => sequentialLog,\n scaleSequentialPow: () => sequentialPow,\n scaleSequentialQuantile: () => sequentialQuantile,\n scaleSequentialSqrt: () => sequentialSqrt,\n scaleSequentialSymlog: () => sequentialSymlog,\n scaleSqrt: () => sqrt2,\n scaleSymlog: () => symlog,\n scaleThreshold: () => threshold,\n scaleTime: () => time,\n scaleUtc: () => utcTime,\n tickFormat: () => tickFormat\n });\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/ascending.js\n function ascending(a2, b) {\n return a2 == null || b == null ? NaN : a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/descending.js\n function descending(a2, b) {\n return a2 == null || b == null ? NaN : b < a2 ? -1 : b > a2 ? 1 : b >= a2 ? 0 : NaN;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/bisector.js\n function bisector(f) {\n let compare1, compare2, delta;\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x2) => ascending(f(d), x2);\n delta = (d, x2) => f(d) - x2;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n function left(a2, x2, lo = 0, hi = a2.length) {\n if (lo < hi) {\n if (compare1(x2, x2) !== 0) return hi;\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a2[mid], x2) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n function right(a2, x2, lo = 0, hi = a2.length) {\n if (lo < hi) {\n if (compare1(x2, x2) !== 0) return hi;\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a2[mid], x2) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n function center(a2, x2, lo = 0, hi = a2.length) {\n const i = left(a2, x2, lo, hi - 1);\n return i > lo && delta(a2[i - 1], x2) > -delta(a2[i], x2) ? i - 1 : i;\n }\n return { left, center, right };\n }\n function zero() {\n return 0;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/number.js\n function number(x2) {\n return x2 === null ? NaN : +x2;\n }\n function* numbers(values, valueof) {\n if (valueof === void 0) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/bisect.js\n var ascendingBisect = bisector(ascending);\n var bisectRight = ascendingBisect.right;\n var bisectLeft = ascendingBisect.left;\n var bisectCenter = bisector(number).center;\n var bisect_default = bisectRight;\n\n // ../../../node_modules/.bun/internmap@2.0.3/node_modules/internmap/src/index.js\n var InternMap = class extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: key } });\n if (entries != null) for (const [key2, value] of entries) this.set(key2, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n };\n function intern_get({ _intern, _key }, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n }\n function intern_set({ _intern, _key }, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n }\n function intern_delete({ _intern, _key }, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n }\n function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/sort.js\n function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a2, b) => {\n const x2 = compare(a2, b);\n if (x2 || x2 === 0) return x2;\n return (compare(b, b) === 0) - (compare(a2, a2) === 0);\n };\n }\n function ascendingDefined(a2, b) {\n return (a2 == null || !(a2 >= a2)) - (b == null || !(b >= b)) || (a2 < b ? -1 : a2 > b ? 1 : 0);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/ticks.js\n var e10 = Math.sqrt(50);\n var e5 = Math.sqrt(10);\n var e2 = Math.sqrt(2);\n function tickSpec(start, stop, count3) {\n const step = (stop - start) / Math.max(0, count3), power = Math.floor(Math.log10(step)), error = step / Math.pow(10, power), factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count3 && count3 < 2) return tickSpec(start, stop, count3 * 2);\n return [i1, i2, inc];\n }\n function ticks(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n if (!(count3 > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count3) : tickSpec(start, stop, count3);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks2 = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) * inc;\n }\n return ticks2;\n }\n function tickIncrement(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n return tickSpec(start, stop, count3)[2];\n }\n function tickStep(start, stop, count3) {\n stop = +stop, start = +start, count3 = +count3;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count3) : tickIncrement(start, stop, count3);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/max.js\n function max2(values, valueof) {\n let max3;\n if (valueof === void 0) {\n for (const value of values) {\n if (value != null && (max3 < value || max3 === void 0 && value >= value)) {\n max3 = value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (max3 < value || max3 === void 0 && value >= value)) {\n max3 = value;\n }\n }\n }\n return max3;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/min.js\n function min2(values, valueof) {\n let min3;\n if (valueof === void 0) {\n for (const value of values) {\n if (value != null && (min3 > value || min3 === void 0 && value >= value)) {\n min3 = value;\n }\n }\n } else {\n let index2 = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index2, values)) != null && (min3 > value || min3 === void 0 && value >= value)) {\n min3 = value;\n }\n }\n }\n return min3;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/quickselect.js\n function quickselect(array2, k2, left = 0, right = Infinity, compare) {\n k2 = Math.floor(k2);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array2.length - 1, right));\n if (!(left <= k2 && k2 <= right)) return array2;\n compare = compare === void 0 ? ascendingDefined : compareDefined(compare);\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k2 - left + 1;\n const z = Math.log(n);\n const s2 = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s2 * (n - s2) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k2 - m * s2 / n + sd));\n const newRight = Math.min(right, Math.floor(k2 + (n - m) * s2 / n + sd));\n quickselect(array2, k2, newLeft, newRight, compare);\n }\n const t2 = array2[k2];\n let i = left;\n let j = right;\n swap(array2, left, k2);\n if (compare(array2[right], t2) > 0) swap(array2, left, right);\n while (i < j) {\n swap(array2, i, j), ++i, --j;\n while (compare(array2[i], t2) < 0) ++i;\n while (compare(array2[j], t2) > 0) --j;\n }\n if (compare(array2[left], t2) === 0) swap(array2, left, j);\n else ++j, swap(array2, j, right);\n if (j <= k2) left = j + 1;\n if (k2 <= j) right = j - 1;\n }\n return array2;\n }\n function swap(array2, i, j) {\n const t2 = array2[i];\n array2[i] = array2[j];\n array2[j] = t2;\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/quantile.js\n function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min2(values);\n if (p >= 1) return max2(values);\n var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = max2(quickselect(values, i0).subarray(0, i0 + 1)), value1 = min2(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n }\n function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = +valueof(values[i0], i0, values), value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n }\n\n // ../../../node_modules/.bun/d3-array@3.2.4/node_modules/d3-array/src/range.js\n function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n var i = -1, n = Math.max(0, Math.ceil((stop - start) / step)) | 0, range4 = new Array(n);\n while (++i < n) {\n range4[i] = start + i * step;\n }\n return range4;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/init.js\n function initRange(domain, range4) {\n switch (arguments.length) {\n case 0:\n break;\n case 1:\n this.range(domain);\n break;\n default:\n this.range(range4).domain(domain);\n break;\n }\n return this;\n }\n function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/ordinal.js\n var implicit = /* @__PURE__ */ Symbol(\"implicit\");\n function ordinal() {\n var index2 = new InternMap(), domain = [], range4 = [], unknown = implicit;\n function scale(d) {\n let i = index2.get(d);\n if (i === void 0) {\n if (unknown !== implicit) return unknown;\n index2.set(d, i = domain.push(d) - 1);\n }\n return range4[i % range4.length];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index2 = new InternMap();\n for (const value of _) {\n if (index2.has(value)) continue;\n index2.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), scale) : range4.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return ordinal(domain, range4).unknown(unknown);\n };\n initRange.apply(scale, arguments);\n return scale;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/band.js\n function band() {\n var scale = ordinal().unknown(void 0), domain = scale.domain, ordinalRange = scale.range, r0 = 0, r1 = 1, step, bandwidth, round3 = false, paddingInner = 0, paddingOuter = 0, align = 0.5;\n delete scale.unknown;\n function rescale() {\n var n = domain().length, reverse = r1 < r0, start = reverse ? r1 : r0, stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round3) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round3) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = range(n).map(function(i) {\n return start + step * i;\n });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round3 = true, rescale();\n };\n scale.bandwidth = function() {\n return bandwidth;\n };\n scale.step = function() {\n return step;\n };\n scale.round = function(_) {\n return arguments.length ? (round3 = !!_, rescale()) : round3;\n };\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n scale.copy = function() {\n return band(domain(), [r0, r1]).round(round3).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);\n };\n return initRange.apply(rescale(), arguments);\n }\n function pointish(scale) {\n var copy3 = scale.copy;\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n scale.copy = function() {\n return pointish(copy3());\n };\n return scale;\n }\n function point3() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n }\n\n // ../../../node_modules/.bun/d3-color@3.1.0/node_modules/d3-color/src/define.js\n function define_default(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n }\n function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n }\n\n // ../../../node_modules/.bun/d3-color@3.1.0/node_modules/d3-color/src/color.js\n function Color() {\n }\n var darker = 0.7;\n var brighter = 1 / darker;\n var reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\";\n var reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\";\n var reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\";\n var reHex = /^#([0-9a-f]{3,8})$/;\n var reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`);\n var reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`);\n var reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`);\n var reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`);\n var reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`);\n var reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n var named = {\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n };\n define_default(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n });\n function color_formatHex() {\n return this.rgb().formatHex();\n }\n function color_formatHex8() {\n return this.rgb().formatHex8();\n }\n function color_formatHsl() {\n return hslConvert(this).formatHsl();\n }\n function color_formatRgb() {\n return this.rgb().formatRgb();\n }\n function color(format2) {\n var m, l;\n format2 = (format2 + \"\").trim().toLowerCase();\n return (m = reHex.exec(format2)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format2)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format2)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format2)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format2)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n }\n function rgbn(n) {\n return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);\n }\n function rgba(r2, g, b, a2) {\n if (a2 <= 0) r2 = g = b = NaN;\n return new Rgb(r2, g, b, a2);\n }\n function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n }\n function rgb(r2, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r2) : new Rgb(r2, g, b, opacity == null ? 1 : opacity);\n }\n function Rgb(r2, g, b, opacity) {\n this.r = +r2;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n }\n define_default(Rgb, rgb, extend(Color, {\n brighter(k2) {\n k2 = k2 == null ? brighter : Math.pow(brighter, k2);\n return new Rgb(this.r * k2, this.g * k2, this.b * k2, this.opacity);\n },\n darker(k2) {\n k2 = k2 == null ? darker : Math.pow(darker, k2);\n return new Rgb(this.r * k2, this.g * k2, this.b * k2, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n }));\n function rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n }\n function rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n }\n function rgb_formatRgb() {\n const a2 = clampa(this.opacity);\n return `${a2 === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a2 === 1 ? \")\" : `, ${a2})`}`;\n }\n function clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n }\n function clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n }\n function hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n }\n function hsla(h, s2, l, a2) {\n if (a2 <= 0) h = s2 = l = NaN;\n else if (l <= 0 || l >= 1) h = s2 = NaN;\n else if (s2 <= 0) h = NaN;\n return new Hsl(h, s2, l, a2);\n }\n function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl();\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r2 = o.r / 255, g = o.g / 255, b = o.b / 255, min3 = Math.min(r2, g, b), max3 = Math.max(r2, g, b), h = NaN, s2 = max3 - min3, l = (max3 + min3) / 2;\n if (s2) {\n if (r2 === max3) h = (g - b) / s2 + (g < b) * 6;\n else if (g === max3) h = (b - r2) / s2 + 2;\n else h = (r2 - g) / s2 + 4;\n s2 /= l < 0.5 ? max3 + min3 : 2 - max3 - min3;\n h *= 60;\n } else {\n s2 = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s2, l, o.opacity);\n }\n function hsl(h, s2, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s2, l, opacity == null ? 1 : opacity);\n }\n function Hsl(h, s2, l, opacity) {\n this.h = +h;\n this.s = +s2;\n this.l = +l;\n this.opacity = +opacity;\n }\n define_default(Hsl, hsl, extend(Color, {\n brighter(k2) {\n k2 = k2 == null ? brighter : Math.pow(brighter, k2);\n return new Hsl(this.h, this.s, this.l * k2, this.opacity);\n },\n darker(k2) {\n k2 = k2 == null ? darker : Math.pow(darker, k2);\n return new Hsl(this.h, this.s, this.l * k2, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360, s2 = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s2, m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a2 = clampa(this.opacity);\n return `${a2 === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a2 === 1 ? \")\" : `, ${a2})`}`;\n }\n }));\n function clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n }\n function clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n }\n function hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/basis.js\n function basis(t12, v0, v1, v2, v3) {\n var t2 = t12 * t12, t3 = t2 * t12;\n return ((1 - 3 * t12 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t12 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\n }\n function basis_default2(values) {\n var n = values.length - 1;\n return function(t2) {\n var i = t2 <= 0 ? t2 = 0 : t2 >= 1 ? (t2 = 1, n - 1) : Math.floor(t2 * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t2 - i / n) * n, v0, v1, v2, v3);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/basisClosed.js\n function basisClosed_default2(values) {\n var n = values.length;\n return function(t2) {\n var i = Math.floor(((t2 %= 1) < 0 ? ++t2 : t2) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n];\n return basis((t2 - i / n) * n, v0, v1, v2, v3);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js\n var constant_default2 = (x2) => () => x2;\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js\n function linear(a2, d) {\n return function(t2) {\n return a2 + t2 * d;\n };\n }\n function exponential(a2, b, y2) {\n return a2 = Math.pow(a2, y2), b = Math.pow(b, y2) - a2, y2 = 1 / y2, function(t2) {\n return Math.pow(a2 + t2 * b, y2);\n };\n }\n function gamma(y2) {\n return (y2 = +y2) === 1 ? nogamma : function(a2, b) {\n return b - a2 ? exponential(a2, b, y2) : constant_default2(isNaN(a2) ? b : a2);\n };\n }\n function nogamma(a2, b) {\n var d = b - a2;\n return d ? linear(a2, d) : constant_default2(isNaN(a2) ? b : a2);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js\n var rgb_default = (function rgbGamma(y2) {\n var color2 = gamma(y2);\n function rgb2(start, end) {\n var r2 = color2((start = rgb(start)).r, (end = rgb(end)).r), g = color2(start.g, end.g), b = color2(start.b, end.b), opacity = nogamma(start.opacity, end.opacity);\n return function(t2) {\n start.r = r2(t2);\n start.g = g(t2);\n start.b = b(t2);\n start.opacity = opacity(t2);\n return start + \"\";\n };\n }\n rgb2.gamma = rgbGamma;\n return rgb2;\n })(1);\n function rgbSpline(spline) {\n return function(colors) {\n var n = colors.length, r2 = new Array(n), g = new Array(n), b = new Array(n), i, color2;\n for (i = 0; i < n; ++i) {\n color2 = rgb(colors[i]);\n r2[i] = color2.r || 0;\n g[i] = color2.g || 0;\n b[i] = color2.b || 0;\n }\n r2 = spline(r2);\n g = spline(g);\n b = spline(b);\n color2.opacity = 1;\n return function(t2) {\n color2.r = r2(t2);\n color2.g = g(t2);\n color2.b = b(t2);\n return color2 + \"\";\n };\n };\n }\n var rgbBasis = rgbSpline(basis_default2);\n var rgbBasisClosed = rgbSpline(basisClosed_default2);\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js\n function numberArray_default(a2, b) {\n if (!b) b = [];\n var n = a2 ? Math.min(b.length, a2.length) : 0, c2 = b.slice(), i;\n return function(t2) {\n for (i = 0; i < n; ++i) c2[i] = a2[i] * (1 - t2) + b[i] * t2;\n return c2;\n };\n }\n function isNumberArray(x2) {\n return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js\n function genericArray(a2, b) {\n var nb = b ? b.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x2 = new Array(na), c2 = new Array(nb), i;\n for (i = 0; i < na; ++i) x2[i] = value_default(a2[i], b[i]);\n for (; i < nb; ++i) c2[i] = b[i];\n return function(t2) {\n for (i = 0; i < na; ++i) c2[i] = x2[i](t2);\n return c2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js\n function date_default(a2, b) {\n var d = /* @__PURE__ */ new Date();\n return a2 = +a2, b = +b, function(t2) {\n return d.setTime(a2 * (1 - t2) + b * t2), d;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js\n function number_default(a2, b) {\n return a2 = +a2, b = +b, function(t2) {\n return a2 * (1 - t2) + b * t2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js\n function object_default(a2, b) {\n var i = {}, c2 = {}, k2;\n if (a2 === null || typeof a2 !== \"object\") a2 = {};\n if (b === null || typeof b !== \"object\") b = {};\n for (k2 in b) {\n if (k2 in a2) {\n i[k2] = value_default(a2[k2], b[k2]);\n } else {\n c2[k2] = b[k2];\n }\n }\n return function(t2) {\n for (k2 in i) c2[k2] = i[k2](t2);\n return c2;\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js\n var reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g;\n var reB = new RegExp(reA.source, \"g\");\n function zero2(b) {\n return function() {\n return b;\n };\n }\n function one(b) {\n return function(t2) {\n return b(t2) + \"\";\n };\n }\n function string_default(a2, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s2 = [], q = [];\n a2 = a2 + \"\", b = b + \"\";\n while ((am = reA.exec(a2)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s2[i]) s2[i] += bs;\n else s2[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s2[i]) s2[i] += bm;\n else s2[++i] = bm;\n } else {\n s2[++i] = null;\n q.push({ i, x: number_default(am, bm) });\n }\n bi = reB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s2[i]) s2[i] += bs;\n else s2[++i] = bs;\n }\n return s2.length < 2 ? q[0] ? one(q[0].x) : zero2(b) : (b = q.length, function(t2) {\n for (var i2 = 0, o; i2 < b; ++i2) s2[(o = q[i2]).i] = o.x(t2);\n return s2.join(\"\");\n });\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js\n function value_default(a2, b) {\n var t2 = typeof b, c2;\n return b == null || t2 === \"boolean\" ? constant_default2(b) : (t2 === \"number\" ? number_default : t2 === \"string\" ? (c2 = color(b)) ? (b = c2, rgb_default) : string_default : b instanceof color ? rgb_default : b instanceof Date ? date_default : isNumberArray(b) ? numberArray_default : Array.isArray(b) ? genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object_default : number_default)(a2, b);\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js\n function round_default(a2, b) {\n return a2 = +a2, b = +b, function(t2) {\n return Math.round(a2 * (1 - t2) + b * t2);\n };\n }\n\n // ../../../node_modules/.bun/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/piecewise.js\n function piecewise(interpolate2, values) {\n if (values === void 0) values = interpolate2, interpolate2 = value_default;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate2(v, v = values[++i]);\n return function(t2) {\n var i2 = Math.max(0, Math.min(n - 1, Math.floor(t2 *= n)));\n return I[i2](t2 - i2);\n };\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js\n function constants(x2) {\n return function() {\n return x2;\n };\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/number.js\n function number2(x2) {\n return +x2;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js\n var unit = [0, 1];\n function identity(x2) {\n return x2;\n }\n function normalize(a2, b) {\n return (b -= a2 = +a2) ? function(x2) {\n return (x2 - a2) / b;\n } : constants(isNaN(b) ? NaN : 0.5);\n }\n function clamper(a2, b) {\n var t2;\n if (a2 > b) t2 = a2, a2 = b, b = t2;\n return function(x2) {\n return Math.max(a2, Math.min(b, x2));\n };\n }\n function bimap(domain, range4, interpolate2) {\n var d0 = domain[0], d1 = domain[1], r0 = range4[0], r1 = range4[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate2(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate2(r0, r1);\n return function(x2) {\n return r0(d0(x2));\n };\n }\n function polymap(domain, range4, interpolate2) {\n var j = Math.min(domain.length, range4.length) - 1, d = new Array(j), r2 = new Array(j), i = -1;\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range4 = range4.slice().reverse();\n }\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r2[i] = interpolate2(range4[i], range4[i + 1]);\n }\n return function(x2) {\n var i2 = bisect_default(domain, x2, 1, j) - 1;\n return r2[i2](d[i2](x2));\n };\n }\n function copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n }\n function transformer() {\n var domain = unit, range4 = unit, interpolate2 = value_default, transform2, untransform, unknown, clamp3 = identity, piecewise2, output, input2;\n function rescale() {\n var n = Math.min(domain.length, range4.length);\n if (clamp3 !== identity) clamp3 = clamper(domain[0], domain[n - 1]);\n piecewise2 = n > 2 ? polymap : bimap;\n output = input2 = null;\n return scale;\n }\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : (output || (output = piecewise2(domain.map(transform2), range4, interpolate2)))(transform2(clamp3(x2)));\n }\n scale.invert = function(y2) {\n return clamp3(untransform((input2 || (input2 = piecewise2(range4, domain.map(transform2), number_default)))(y2)));\n };\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number2), rescale()) : domain.slice();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), rescale()) : range4.slice();\n };\n scale.rangeRound = function(_) {\n return range4 = Array.from(_), interpolate2 = round_default, rescale();\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = _ ? true : identity, rescale()) : clamp3 !== identity;\n };\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate2 = _, rescale()) : interpolate2;\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t2, u) {\n transform2 = t2, untransform = u;\n return rescale();\n };\n }\n function continuous() {\n return transformer()(identity, identity);\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatDecimal.js\n function formatDecimal_default(x2) {\n return Math.abs(x2 = Math.round(x2)) >= 1e21 ? x2.toLocaleString(\"en\").replace(/,/g, \"\") : x2.toString(10);\n }\n function formatDecimalParts(x2, p) {\n if (!isFinite(x2) || x2 === 0) return null;\n var i = (x2 = p ? x2.toExponential(p - 1) : x2.toExponential()).indexOf(\"e\"), coefficient = x2.slice(0, i);\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x2.slice(i + 1)\n ];\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/exponent.js\n function exponent_default(x2) {\n return x2 = formatDecimalParts(Math.abs(x2)), x2 ? x2[1] : NaN;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatGroup.js\n function formatGroup_default(grouping, thousands) {\n return function(value, width) {\n var i = value.length, t2 = [], j = 0, g = grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t2.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n return t2.reverse().join(thousands);\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatNumerals.js\n function formatNumerals_default(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatSpecifier.js\n var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n function formatSpecifier(specifier) {\n if (!(match2 = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match2;\n return new FormatSpecifier({\n fill: match2[1],\n align: match2[2],\n sign: match2[3],\n symbol: match2[4],\n zero: match2[5],\n width: match2[6],\n comma: match2[7],\n precision: match2[8] && match2[8].slice(1),\n trim: match2[9],\n type: match2[10]\n });\n }\n formatSpecifier.prototype = FormatSpecifier.prototype;\n function FormatSpecifier(specifier) {\n this.fill = specifier.fill === void 0 ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === void 0 ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === void 0 ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === void 0 ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === void 0 ? void 0 : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === void 0 ? void 0 : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === void 0 ? \"\" : specifier.type + \"\";\n }\n FormatSpecifier.prototype.toString = function() {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === void 0 ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === void 0 ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n };\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatTrim.js\n function formatTrim_default(s2) {\n out: for (var n = s2.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s2[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n default:\n if (!+s2[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n return i0 > 0 ? s2.slice(0, i0) + s2.slice(i1 + 1) : s2;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatPrefixAuto.js\n var prefixExponent;\n function formatPrefixAuto_default(x2, p) {\n var d = formatDecimalParts(x2, p);\n if (!d) return prefixExponent = void 0, x2.toPrecision(p);\n var coefficient = d[0], exponent = d[1], i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x2, Math.max(0, p + i - 1))[0];\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatRounded.js\n function formatRounded_default(x2, p) {\n var d = formatDecimalParts(x2, p);\n if (!d) return x2 + \"\";\n var coefficient = d[0], exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/formatTypes.js\n var formatTypes_default = {\n \"%\": (x2, p) => (x2 * 100).toFixed(p),\n \"b\": (x2) => Math.round(x2).toString(2),\n \"c\": (x2) => x2 + \"\",\n \"d\": formatDecimal_default,\n \"e\": (x2, p) => x2.toExponential(p),\n \"f\": (x2, p) => x2.toFixed(p),\n \"g\": (x2, p) => x2.toPrecision(p),\n \"o\": (x2) => Math.round(x2).toString(8),\n \"p\": (x2, p) => formatRounded_default(x2 * 100, p),\n \"r\": formatRounded_default,\n \"s\": formatPrefixAuto_default,\n \"X\": (x2) => Math.round(x2).toString(16).toUpperCase(),\n \"x\": (x2) => Math.round(x2).toString(16)\n };\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/identity.js\n function identity_default(x2) {\n return x2;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/locale.js\n var map = Array.prototype.map;\n var prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"\\xB5\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\n function locale_default(locale3) {\n var group = locale3.grouping === void 0 || locale3.thousands === void 0 ? identity_default : formatGroup_default(map.call(locale3.grouping, Number), locale3.thousands + \"\"), currencyPrefix = locale3.currency === void 0 ? \"\" : locale3.currency[0] + \"\", currencySuffix = locale3.currency === void 0 ? \"\" : locale3.currency[1] + \"\", decimal = locale3.decimal === void 0 ? \".\" : locale3.decimal + \"\", numerals = locale3.numerals === void 0 ? identity_default : formatNumerals_default(map.call(locale3.numerals, String)), percent = locale3.percent === void 0 ? \"%\" : locale3.percent + \"\", minus = locale3.minus === void 0 ? \"\\u2212\" : locale3.minus + \"\", nan = locale3.nan === void 0 ? \"NaN\" : locale3.nan + \"\";\n function newFormat(specifier, options2) {\n specifier = formatSpecifier(specifier);\n var fill = specifier.fill, align = specifier.align, sign2 = specifier.sign, symbol = specifier.symbol, zero3 = specifier.zero, width = specifier.width, comma2 = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type;\n if (type === \"n\") comma2 = true, type = \"g\";\n else if (!formatTypes_default[type]) precision === void 0 && (precision = 12), trim = true, type = \"g\";\n if (zero3 || fill === \"0\" && align === \"=\") zero3 = true, fill = \"0\", align = \"=\";\n var prefix2 = (options2 && options2.prefix !== void 0 ? options2.prefix : \"\") + (symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\"), suffix2 = (symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\") + (options2 && options2.suffix !== void 0 ? options2.suffix : \"\");\n var formatType = formatTypes_default[type], maybeSuffix = /[defgprs%]/.test(type);\n precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n function format2(value) {\n var valuePrefix = prefix2, valueSuffix = suffix2, i, n, c2;\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n var valueNegative = value < 0 || 1 / value < 0;\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n if (trim) value = formatTrim_default(value);\n if (valueNegative && +value === 0 && sign2 !== \"+\") valueNegative = false;\n valuePrefix = (valueNegative ? sign2 === \"(\" ? sign2 : minus : sign2 === \"-\" || sign2 === \"(\" ? \"\" : sign2) + valuePrefix;\n valueSuffix = (type === \"s\" && !isNaN(value) && prefixExponent !== void 0 ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign2 === \"(\" ? \")\" : \"\");\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c2 = value.charCodeAt(i), 48 > c2 || c2 > 57) {\n valueSuffix = (c2 === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n if (comma2 && !zero3) value = group(value, Infinity);\n var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n if (comma2 && zero3) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n default:\n value = padding + valuePrefix + value + valueSuffix;\n break;\n }\n return numerals(value);\n }\n format2.toString = function() {\n return specifier + \"\";\n };\n return format2;\n }\n function formatPrefix2(specifier, value) {\n var e = Math.max(-8, Math.min(8, Math.floor(exponent_default(value) / 3))) * 3, k2 = Math.pow(10, -e), f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier), { suffix: prefixes[8 + e / 3] });\n return function(value2) {\n return f(k2 * value2);\n };\n }\n return {\n format: newFormat,\n formatPrefix: formatPrefix2\n };\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/defaultLocale.js\n var locale;\n var format;\n var formatPrefix;\n defaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n });\n function defaultLocale(definition) {\n locale = locale_default(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionFixed.js\n function precisionFixed_default(step) {\n return Math.max(0, -exponent_default(Math.abs(step)));\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionPrefix.js\n function precisionPrefix_default(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent_default(value) / 3))) * 3 - exponent_default(Math.abs(step)));\n }\n\n // ../../../node_modules/.bun/d3-format@3.1.2/node_modules/d3-format/src/precisionRound.js\n function precisionRound_default(step, max3) {\n step = Math.abs(step), max3 = Math.abs(max3) - step;\n return Math.max(0, exponent_default(max3) - exponent_default(step)) + 1;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js\n function tickFormat(start, stop, count3, specifier) {\n var step = tickStep(start, stop, count3), precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix_default(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound_default(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed_default(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js\n function linearish(scale) {\n var domain = scale.domain;\n scale.ticks = function(count3) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count3 == null ? 10 : count3);\n };\n scale.tickFormat = function(count3, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count3 == null ? 10 : count3, specifier);\n };\n scale.nice = function(count3) {\n if (count3 == null) count3 = 10;\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count3);\n if (step === prestep) {\n d[i0] = start;\n d[i1] = stop;\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n return scale;\n };\n return scale;\n }\n function linear2() {\n var scale = continuous();\n scale.copy = function() {\n return copy(scale, linear2());\n };\n initRange.apply(scale, arguments);\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/identity.js\n function identity2(domain) {\n var unknown;\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : x2;\n }\n scale.invert = scale;\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number2), scale) : domain.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return identity2(domain).unknown(unknown);\n };\n domain = arguments.length ? Array.from(domain, number2) : [0, 1];\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/nice.js\n function nice(domain, interval) {\n domain = domain.slice();\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], t2;\n if (x1 < x0) {\n t2 = i0, i0 = i1, i1 = t2;\n t2 = x0, x0 = x1, x1 = t2;\n }\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/log.js\n function transformLog(x2) {\n return Math.log(x2);\n }\n function transformExp(x2) {\n return Math.exp(x2);\n }\n function transformLogn(x2) {\n return -Math.log(-x2);\n }\n function transformExpn(x2) {\n return -Math.exp(-x2);\n }\n function pow10(x2) {\n return isFinite(x2) ? +(\"1e\" + x2) : x2 < 0 ? 0 : x2;\n }\n function powp(base) {\n return base === 10 ? pow10 : base === Math.E ? Math.exp : (x2) => Math.pow(base, x2);\n }\n function logp(base) {\n return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), (x2) => Math.log(x2) / base);\n }\n function reflect(f) {\n return (x2, k2) => -f(-x2, k2);\n }\n function loggish(transform2) {\n const scale = transform2(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform2(transformLogn, transformExpn);\n } else {\n transform2(transformLog, transformExp);\n }\n return scale;\n }\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n scale.ticks = (count3) => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r2 = v < u;\n if (r2) [u, v] = [v, u];\n let i = logs(u);\n let j = logs(v);\n let k2;\n let t2;\n const n = count3 == null ? 10 : +count3;\n let z = [];\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k2 = 1; k2 < base; ++k2) {\n t2 = i < 0 ? k2 / pows(-i) : k2 * pows(i);\n if (t2 < u) continue;\n if (t2 > v) break;\n z.push(t2);\n }\n }\n else for (; i <= j; ++i) {\n for (k2 = base - 1; k2 >= 1; --k2) {\n t2 = i > 0 ? k2 / pows(-i) : k2 * pows(i);\n if (t2 < u) continue;\n if (t2 > v) break;\n z.push(t2);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r2 ? z.reverse() : z;\n };\n scale.tickFormat = (count3, specifier) => {\n if (count3 == null) count3 = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count3 === Infinity) return specifier;\n const k2 = Math.max(1, base * count3 / scale.ticks().length);\n return (d) => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k2 ? specifier(d) : \"\";\n };\n };\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: (x2) => pows(Math.floor(logs(x2))),\n ceil: (x2) => pows(Math.ceil(logs(x2)))\n }));\n };\n return scale;\n }\n function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/symlog.js\n function transformSymlog(c2) {\n return function(x2) {\n return Math.sign(x2) * Math.log1p(Math.abs(x2 / c2));\n };\n }\n function transformSymexp(c2) {\n return function(x2) {\n return Math.sign(x2) * Math.expm1(Math.abs(x2)) * c2;\n };\n }\n function symlogish(transform2) {\n var c2 = 1, scale = transform2(transformSymlog(c2), transformSymexp(c2));\n scale.constant = function(_) {\n return arguments.length ? transform2(transformSymlog(c2 = +_), transformSymexp(c2)) : c2;\n };\n return linearish(scale);\n }\n function symlog() {\n var scale = symlogish(transformer());\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/pow.js\n function transformPow(exponent) {\n return function(x2) {\n return x2 < 0 ? -Math.pow(-x2, exponent) : Math.pow(x2, exponent);\n };\n }\n function transformSqrt(x2) {\n return x2 < 0 ? -Math.sqrt(-x2) : Math.sqrt(x2);\n }\n function transformSquare(x2) {\n return x2 < 0 ? -x2 * x2 : x2 * x2;\n }\n function powish(transform2) {\n var scale = transform2(identity, identity), exponent = 1;\n function rescale() {\n return exponent === 1 ? transform2(identity, identity) : exponent === 0.5 ? transform2(transformSqrt, transformSquare) : transform2(transformPow(exponent), transformPow(1 / exponent));\n }\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n return linearish(scale);\n }\n function pow() {\n var scale = powish(transformer());\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n initRange.apply(scale, arguments);\n return scale;\n }\n function sqrt2() {\n return pow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/radial.js\n function square(x2) {\n return Math.sign(x2) * x2 * x2;\n }\n function unsquare(x2) {\n return Math.sign(x2) * Math.sqrt(Math.abs(x2));\n }\n function radial() {\n var squared = continuous(), range4 = [0, 1], round3 = false, unknown;\n function scale(x2) {\n var y2 = unsquare(squared(x2));\n return isNaN(y2) ? unknown : round3 ? Math.round(y2) : y2;\n }\n scale.invert = function(y2) {\n return squared.invert(square(y2));\n };\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n scale.range = function(_) {\n return arguments.length ? (squared.range((range4 = Array.from(_, number2)).map(square)), scale) : range4.slice();\n };\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n scale.round = function(_) {\n return arguments.length ? (round3 = !!_, scale) : round3;\n };\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return radial(squared.domain(), range4).round(round3).clamp(squared.clamp()).unknown(unknown);\n };\n initRange.apply(scale, arguments);\n return linearish(scale);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/quantile.js\n function quantile2() {\n var domain = [], range4 = [], thresholds = [], unknown;\n function rescale() {\n var i = 0, n = Math.max(1, range4.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = quantileSorted(domain, i / n);\n return scale;\n }\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : range4[bisect_default(thresholds, x2)];\n }\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), rescale()) : range4.slice();\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.quantiles = function() {\n return thresholds.slice();\n };\n scale.copy = function() {\n return quantile2().domain(domain).range(range4).unknown(unknown);\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/quantize.js\n function quantize() {\n var x0 = 0, x1 = 1, n = 1, domain = [0.5], range4 = [0, 1], unknown;\n function scale(x2) {\n return x2 != null && x2 <= x2 ? range4[bisect_default(domain, x2, 0, n)] : unknown;\n }\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n scale.range = function(_) {\n return arguments.length ? (n = (range4 = Array.from(_)).length - 1, rescale()) : range4.slice();\n };\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return i < 0 ? [NaN, NaN] : i < 1 ? [x0, domain[0]] : i >= n ? [domain[n - 1], x1] : [domain[i - 1], domain[i]];\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n scale.thresholds = function() {\n return domain.slice();\n };\n scale.copy = function() {\n return quantize().domain([x0, x1]).range(range4).unknown(unknown);\n };\n return initRange.apply(linearish(scale), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/threshold.js\n function threshold() {\n var domain = [0.5], range4 = [0, 1], unknown, n = 1;\n function scale(x2) {\n return x2 != null && x2 <= x2 ? range4[bisect_default(domain, x2, 0, n)] : unknown;\n }\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range4.length - 1), scale) : domain.slice();\n };\n scale.range = function(_) {\n return arguments.length ? (range4 = Array.from(_), n = Math.min(domain.length, range4.length - 1), scale) : range4.slice();\n };\n scale.invertExtent = function(y2) {\n var i = range4.indexOf(y2);\n return [domain[i - 1], domain[i]];\n };\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function() {\n return threshold().domain(domain).range(range4).unknown(unknown);\n };\n return initRange.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/interval.js\n var t0 = /* @__PURE__ */ new Date();\n var t1 = /* @__PURE__ */ new Date();\n function timeInterval(floori, offseti, count3, field) {\n function interval(date2) {\n return floori(date2 = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+date2)), date2;\n }\n interval.floor = (date2) => {\n return floori(date2 = /* @__PURE__ */ new Date(+date2)), date2;\n };\n interval.ceil = (date2) => {\n return floori(date2 = new Date(date2 - 1)), offseti(date2, 1), floori(date2), date2;\n };\n interval.round = (date2) => {\n const d0 = interval(date2), d1 = interval.ceil(date2);\n return date2 - d0 < d1 - date2 ? d0 : d1;\n };\n interval.offset = (date2, step) => {\n return offseti(date2 = /* @__PURE__ */ new Date(+date2), step == null ? 1 : Math.floor(step)), date2;\n };\n interval.range = (start, stop, step) => {\n const range4 = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range4;\n let previous;\n do\n range4.push(previous = /* @__PURE__ */ new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range4;\n };\n interval.filter = (test) => {\n return timeInterval((date2) => {\n if (date2 >= date2) while (floori(date2), !test(date2)) date2.setTime(date2 - 1);\n }, (date2, step) => {\n if (date2 >= date2) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date2, -1), !test(date2)) {\n }\n }\n else while (--step >= 0) {\n while (offseti(date2, 1), !test(date2)) {\n }\n }\n }\n });\n };\n if (count3) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count3(t0, t1));\n };\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? (d) => field(d) % step === 0 : (d) => interval.count(0, d) % step === 0);\n };\n }\n return interval;\n }\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/millisecond.js\n var millisecond = timeInterval(() => {\n }, (date2, step) => {\n date2.setTime(+date2 + step);\n }, (start, end) => {\n return end - start;\n });\n millisecond.every = (k2) => {\n k2 = Math.floor(k2);\n if (!isFinite(k2) || !(k2 > 0)) return null;\n if (!(k2 > 1)) return millisecond;\n return timeInterval((date2) => {\n date2.setTime(Math.floor(date2 / k2) * k2);\n }, (date2, step) => {\n date2.setTime(+date2 + step * k2);\n }, (start, end) => {\n return (end - start) / k2;\n });\n };\n var milliseconds = millisecond.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/duration.js\n var durationSecond = 1e3;\n var durationMinute = durationSecond * 60;\n var durationHour = durationMinute * 60;\n var durationDay = durationHour * 24;\n var durationWeek = durationDay * 7;\n var durationMonth = durationDay * 30;\n var durationYear = durationDay * 365;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/second.js\n var second = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds());\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationSecond);\n }, (start, end) => {\n return (end - start) / durationSecond;\n }, (date2) => {\n return date2.getUTCSeconds();\n });\n var seconds = second.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/minute.js\n var timeMinute = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds() - date2.getSeconds() * durationSecond);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationMinute);\n }, (start, end) => {\n return (end - start) / durationMinute;\n }, (date2) => {\n return date2.getMinutes();\n });\n var timeMinutes = timeMinute.range;\n var utcMinute = timeInterval((date2) => {\n date2.setUTCSeconds(0, 0);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationMinute);\n }, (start, end) => {\n return (end - start) / durationMinute;\n }, (date2) => {\n return date2.getUTCMinutes();\n });\n var utcMinutes = utcMinute.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/hour.js\n var timeHour = timeInterval((date2) => {\n date2.setTime(date2 - date2.getMilliseconds() - date2.getSeconds() * durationSecond - date2.getMinutes() * durationMinute);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationHour);\n }, (start, end) => {\n return (end - start) / durationHour;\n }, (date2) => {\n return date2.getHours();\n });\n var timeHours = timeHour.range;\n var utcHour = timeInterval((date2) => {\n date2.setUTCMinutes(0, 0, 0);\n }, (date2, step) => {\n date2.setTime(+date2 + step * durationHour);\n }, (start, end) => {\n return (end - start) / durationHour;\n }, (date2) => {\n return date2.getUTCHours();\n });\n var utcHours = utcHour.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/day.js\n var timeDay = timeInterval(\n (date2) => date2.setHours(0, 0, 0, 0),\n (date2, step) => date2.setDate(date2.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n (date2) => date2.getDate() - 1\n );\n var timeDays = timeDay.range;\n var utcDay = timeInterval((date2) => {\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step);\n }, (start, end) => {\n return (end - start) / durationDay;\n }, (date2) => {\n return date2.getUTCDate() - 1;\n });\n var utcDays = utcDay.range;\n var unixDay = timeInterval((date2) => {\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step);\n }, (start, end) => {\n return (end - start) / durationDay;\n }, (date2) => {\n return Math.floor(date2 / durationDay);\n });\n var unixDays = unixDay.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/week.js\n function timeWeekday(i) {\n return timeInterval((date2) => {\n date2.setDate(date2.getDate() - (date2.getDay() + 7 - i) % 7);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setDate(date2.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n }\n var timeSunday = timeWeekday(0);\n var timeMonday = timeWeekday(1);\n var timeTuesday = timeWeekday(2);\n var timeWednesday = timeWeekday(3);\n var timeThursday = timeWeekday(4);\n var timeFriday = timeWeekday(5);\n var timeSaturday = timeWeekday(6);\n var timeSundays = timeSunday.range;\n var timeMondays = timeMonday.range;\n var timeTuesdays = timeTuesday.range;\n var timeWednesdays = timeWednesday.range;\n var timeThursdays = timeThursday.range;\n var timeFridays = timeFriday.range;\n var timeSaturdays = timeSaturday.range;\n function utcWeekday(i) {\n return timeInterval((date2) => {\n date2.setUTCDate(date2.getUTCDate() - (date2.getUTCDay() + 7 - i) % 7);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCDate(date2.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n }\n var utcSunday = utcWeekday(0);\n var utcMonday = utcWeekday(1);\n var utcTuesday = utcWeekday(2);\n var utcWednesday = utcWeekday(3);\n var utcThursday = utcWeekday(4);\n var utcFriday = utcWeekday(5);\n var utcSaturday = utcWeekday(6);\n var utcSundays = utcSunday.range;\n var utcMondays = utcMonday.range;\n var utcTuesdays = utcTuesday.range;\n var utcWednesdays = utcWednesday.range;\n var utcThursdays = utcThursday.range;\n var utcFridays = utcFriday.range;\n var utcSaturdays = utcSaturday.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/month.js\n var timeMonth = timeInterval((date2) => {\n date2.setDate(1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setMonth(date2.getMonth() + step);\n }, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n }, (date2) => {\n return date2.getMonth();\n });\n var timeMonths = timeMonth.range;\n var utcMonth = timeInterval((date2) => {\n date2.setUTCDate(1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCMonth(date2.getUTCMonth() + step);\n }, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n }, (date2) => {\n return date2.getUTCMonth();\n });\n var utcMonths = utcMonth.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/year.js\n var timeYear = timeInterval((date2) => {\n date2.setMonth(0, 1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setFullYear(date2.getFullYear() + step);\n }, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n }, (date2) => {\n return date2.getFullYear();\n });\n timeYear.every = (k2) => {\n return !isFinite(k2 = Math.floor(k2)) || !(k2 > 0) ? null : timeInterval((date2) => {\n date2.setFullYear(Math.floor(date2.getFullYear() / k2) * k2);\n date2.setMonth(0, 1);\n date2.setHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setFullYear(date2.getFullYear() + step * k2);\n });\n };\n var timeYears = timeYear.range;\n var utcYear = timeInterval((date2) => {\n date2.setUTCMonth(0, 1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCFullYear(date2.getUTCFullYear() + step);\n }, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n }, (date2) => {\n return date2.getUTCFullYear();\n });\n utcYear.every = (k2) => {\n return !isFinite(k2 = Math.floor(k2)) || !(k2 > 0) ? null : timeInterval((date2) => {\n date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / k2) * k2);\n date2.setUTCMonth(0, 1);\n date2.setUTCHours(0, 0, 0, 0);\n }, (date2, step) => {\n date2.setUTCFullYear(date2.getUTCFullYear() + step * k2);\n });\n };\n var utcYears = utcYear.range;\n\n // ../../../node_modules/.bun/d3-time@3.1.0/node_modules/d3-time/src/ticks.js\n function ticker(year, month, week, day, hour, minute) {\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [hour, 1, durationHour],\n [hour, 3, 3 * durationHour],\n [hour, 6, 6 * durationHour],\n [hour, 12, 12 * durationHour],\n [day, 1, durationDay],\n [day, 2, 2 * durationDay],\n [week, 1, durationWeek],\n [month, 1, durationMonth],\n [month, 3, 3 * durationMonth],\n [year, 1, durationYear]\n ];\n function ticks2(start, stop, count3) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count3 && typeof count3.range === \"function\" ? count3 : tickInterval(start, stop, count3);\n const ticks3 = interval ? interval.range(start, +stop + 1) : [];\n return reverse ? ticks3.reverse() : ticks3;\n }\n function tickInterval(start, stop, count3) {\n const target = Math.abs(stop - start) / count3;\n const i = bisector(([, , step2]) => step2).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count3));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count3), 1));\n const [t2, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t2.every(step);\n }\n return [ticks2, tickInterval];\n }\n var [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\n var [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\n // ../../../node_modules/.bun/d3-time-format@4.1.0/node_modules/d3-time-format/src/locale.js\n function localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date2 = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date2.setFullYear(d.y);\n return date2;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n }\n function utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date2 = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date2.setUTCFullYear(d.y);\n return date2;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n }\n function newDate(y2, m, d) {\n return { y: y2, m, d, H: 0, M: 0, S: 0, L: 0 };\n }\n function formatLocale(locale3) {\n var locale_dateTime = locale3.dateTime, locale_date = locale3.date, locale_time = locale3.time, locale_periods = locale3.periods, locale_weekdays = locale3.days, locale_shortWeekdays = locale3.shortDays, locale_months = locale3.months, locale_shortMonths = locale3.shortMonths;\n var periodRe = formatRe(locale_periods), periodLookup = formatLookup(locale_periods), weekdayRe = formatRe(locale_weekdays), weekdayLookup = formatLookup(locale_weekdays), shortWeekdayRe = formatRe(locale_shortWeekdays), shortWeekdayLookup = formatLookup(locale_shortWeekdays), monthRe = formatRe(locale_months), monthLookup = formatLookup(locale_months), shortMonthRe = formatRe(locale_shortMonths), shortMonthLookup = formatLookup(locale_shortMonths);\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n function newFormat(specifier, formats2) {\n return function(date2) {\n var string = [], i = -1, j = 0, n = specifier.length, c2, pad2, format2;\n if (!(date2 instanceof Date)) date2 = /* @__PURE__ */ new Date(+date2);\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad2 = pads[c2 = specifier.charAt(++i)]) != null) c2 = specifier.charAt(++i);\n else pad2 = c2 === \"e\" ? \" \" : \"0\";\n if (format2 = formats2[c2]) c2 = format2(date2, pad2);\n string.push(c2);\n j = i + 1;\n }\n }\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, void 0, 1), i = parseSpecifier(d, specifier, string += \"\", 0), week, day;\n if (i != string.length) return null;\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1e3 + (\"L\" in d ? d.L : 0));\n if (Z && !(\"Z\" in d)) d.Z = 0;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n if (d.m === void 0) d.m = \"q\" in d ? d.q : 0;\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n return localDate(d);\n };\n }\n function parseSpecifier(d, specifier, string, j) {\n var i = 0, n = specifier.length, m = string.length, c2, parse3;\n while (i < n) {\n if (j >= m) return -1;\n c2 = specifier.charCodeAt(i++);\n if (c2 === 37) {\n c2 = specifier.charAt(i++);\n parse3 = parses[c2 in pads ? specifier.charAt(i++) : c2];\n if (!parse3 || (j = parse3(d, string, j)) < 0) return -1;\n } else if (c2 != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() {\n return specifier;\n };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() {\n return specifier;\n };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() {\n return specifier;\n };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() {\n return specifier;\n };\n return p;\n }\n };\n }\n var pads = { \"-\": \"\", \"_\": \" \", \"0\": \"0\" };\n var numberRe = /^\\s*\\d+/;\n var percentRe = /^%/;\n var requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n function pad(value, fill, width) {\n var sign2 = value < 0 ? \"-\" : \"\", string = (sign2 ? -value : value) + \"\", length = string.length;\n return sign2 + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function requote(s2) {\n return s2.replace(requoteRe, \"\\\\$&\");\n }\n function formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n }\n function formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n }\n function parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n }\n function parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n }\n function parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n }\n function parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n }\n function parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), i + n[0].length) : -1;\n }\n function parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n }\n function parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n }\n function parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n }\n function parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n }\n function parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n }\n function parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n }\n function parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n }\n function parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n }\n function parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n }\n function parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1e3), i + n[0].length) : -1;\n }\n function parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n }\n function parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n }\n function formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n }\n function formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n }\n function formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n }\n function formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n }\n function formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n }\n function formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n }\n function formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n }\n function formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n }\n function formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n }\n function formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n }\n function formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n }\n function dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n }\n function formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n }\n function formatWeekdayNumberSunday(d) {\n return d.getDay();\n }\n function formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n }\n function formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n }\n function formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n }\n function formatFullYear(d, p) {\n return pad(d.getFullYear() % 1e4, p, 4);\n }\n function formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 1e4, p, 4);\n }\n function formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n }\n function formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n }\n function formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n }\n function formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n }\n function formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n }\n function formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n }\n function formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n }\n function formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n }\n function formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n }\n function formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n }\n function formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n }\n function formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n }\n function UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n }\n function formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n }\n function formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n }\n function formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n }\n function formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n }\n function formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n }\n function formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 1e4, p, 4);\n }\n function formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 1e4, p, 4);\n }\n function formatUTCZone() {\n return \"+0000\";\n }\n function formatLiteralPercent() {\n return \"%\";\n }\n function formatUnixTimestamp(d) {\n return +d;\n }\n function formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1e3);\n }\n\n // ../../../node_modules/.bun/d3-time-format@4.1.0/node_modules/d3-time-format/src/defaultLocale.js\n var locale2;\n var timeFormat;\n var timeParse;\n var utcFormat;\n var utcParse;\n defaultLocale2({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n });\n function defaultLocale2(definition) {\n locale2 = formatLocale(definition);\n timeFormat = locale2.format;\n timeParse = locale2.parse;\n utcFormat = locale2.utcFormat;\n utcParse = locale2.utcParse;\n return locale2;\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/time.js\n function date(t2) {\n return new Date(t2);\n }\n function number3(t2) {\n return t2 instanceof Date ? +t2 : +/* @__PURE__ */ new Date(+t2);\n }\n function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format2) {\n var scale = continuous(), invert = scale.invert, domain = scale.domain;\n var formatMillisecond = format2(\".%L\"), formatSecond = format2(\":%S\"), formatMinute = format2(\"%I:%M\"), formatHour = format2(\"%I %p\"), formatDay = format2(\"%a %d\"), formatWeek = format2(\"%b %d\"), formatMonth = format2(\"%B\"), formatYear2 = format2(\"%Y\");\n function tickFormat2(date2) {\n return (second2(date2) < date2 ? formatMillisecond : minute(date2) < date2 ? formatSecond : hour(date2) < date2 ? formatMinute : day(date2) < date2 ? formatHour : month(date2) < date2 ? week(date2) < date2 ? formatDay : formatWeek : year(date2) < date2 ? formatMonth : formatYear2)(date2);\n }\n scale.invert = function(y2) {\n return new Date(invert(y2));\n };\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number3)) : domain().map(date);\n };\n scale.ticks = function(interval) {\n var d = domain();\n return ticks2(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n scale.tickFormat = function(count3, specifier) {\n return specifier == null ? tickFormat2 : format2(specifier);\n };\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n scale.copy = function() {\n return copy(scale, calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format2));\n };\n return scale;\n }\n function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute, second, timeFormat).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/utcTime.js\n function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, utcFormat).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/sequential.js\n function transformer2() {\n var x0 = 0, x1 = 1, t02, t12, k10, transform2, interpolator = identity, clamp3 = false, unknown;\n function scale(x2) {\n return x2 == null || isNaN(x2 = +x2) ? unknown : interpolator(k10 === 0 ? 0.5 : (x2 = (transform2(x2) - t02) * k10, clamp3 ? Math.max(0, Math.min(1, x2)) : x2));\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t02 = transform2(x0 = +x0), t12 = transform2(x1 = +x1), k10 = t02 === t12 ? 0 : 1 / (t12 - t02), scale) : [x0, x1];\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = !!_, scale) : clamp3;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n function range4(interpolate2) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate2(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n scale.range = range4(value_default);\n scale.rangeRound = range4(round_default);\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t2) {\n transform2 = t2, t02 = t2(x0), t12 = t2(x1), k10 = t02 === t12 ? 0 : 1 / (t12 - t02);\n return scale;\n };\n }\n function copy2(source, target) {\n return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());\n }\n function sequential() {\n var scale = linearish(transformer2()(identity));\n scale.copy = function() {\n return copy2(scale, sequential());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialLog() {\n var scale = loggish(transformer2()).domain([1, 10]);\n scale.copy = function() {\n return copy2(scale, sequentialLog()).base(scale.base());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialSymlog() {\n var scale = symlogish(transformer2());\n scale.copy = function() {\n return copy2(scale, sequentialSymlog()).constant(scale.constant());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialPow() {\n var scale = powish(transformer2());\n scale.copy = function() {\n return copy2(scale, sequentialPow()).exponent(scale.exponent());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/sequentialQuantile.js\n function sequentialQuantile() {\n var domain = [], interpolator = identity;\n function scale(x2) {\n if (x2 != null && !isNaN(x2 = +x2)) return interpolator((bisect_default(domain, x2, 1) - 1) / (domain.length - 1));\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n scale.quantiles = function(n) {\n return Array.from({ length: n + 1 }, (_, i) => quantile(domain, i / n));\n };\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n return initInterpolator.apply(scale, arguments);\n }\n\n // ../../../node_modules/.bun/d3-scale@4.0.2/node_modules/d3-scale/src/diverging.js\n function transformer3() {\n var x0 = 0, x1 = 0.5, x2 = 1, s2 = 1, t02, t12, t2, k10, k21, interpolator = identity, transform2, clamp3 = false, unknown;\n function scale(x3) {\n return isNaN(x3 = +x3) ? unknown : (x3 = 0.5 + ((x3 = +transform2(x3)) - t12) * (s2 * x3 < s2 * t12 ? k10 : k21), interpolator(clamp3 ? Math.max(0, Math.min(1, x3)) : x3));\n }\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t02 = transform2(x0 = +x0), t12 = transform2(x1 = +x1), t2 = transform2(x2 = +x2), k10 = t02 === t12 ? 0 : 0.5 / (t12 - t02), k21 = t12 === t2 ? 0 : 0.5 / (t2 - t12), s2 = t12 < t02 ? -1 : 1, scale) : [x0, x1, x2];\n };\n scale.clamp = function(_) {\n return arguments.length ? (clamp3 = !!_, scale) : clamp3;\n };\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n function range4(interpolate2) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate2, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n scale.range = range4(value_default);\n scale.rangeRound = range4(round_default);\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function(t3) {\n transform2 = t3, t02 = t3(x0), t12 = t3(x1), t2 = t3(x2), k10 = t02 === t12 ? 0 : 0.5 / (t12 - t02), k21 = t12 === t2 ? 0 : 0.5 / (t2 - t12), s2 = t12 < t02 ? -1 : 1;\n return scale;\n };\n }\n function diverging() {\n var scale = linearish(transformer3()(identity));\n scale.copy = function() {\n return copy2(scale, diverging());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingLog() {\n var scale = loggish(transformer3()).domain([0.1, 1, 10]);\n scale.copy = function() {\n return copy2(scale, divergingLog()).base(scale.base());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingSymlog() {\n var scale = symlogish(transformer3());\n scale.copy = function() {\n return copy2(scale, divergingSymlog()).constant(scale.constant());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingPow() {\n var scale = powish(transformer3());\n scale.copy = function() {\n return copy2(scale, divergingPow()).exponent(scale.exponent());\n };\n return initInterpolator.apply(scale, arguments);\n }\n function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineConfiguredScale.js\n function getD3ScaleFromType(realScaleType) {\n if (realScaleType in d3_scale_exports) {\n return d3_scale_exports[realScaleType]();\n }\n var name = \"scale\".concat(upperFirst(realScaleType));\n if (name in d3_scale_exports) {\n return d3_scale_exports[name]();\n }\n return void 0;\n }\n function combineConfiguredScaleInternal(scale, axisDomain, axisRange) {\n if (typeof scale === \"function\") {\n return scale.copy().domain(axisDomain).range(axisRange);\n }\n if (scale == null) {\n return void 0;\n }\n var d3ScaleFunction = getD3ScaleFromType(scale);\n if (d3ScaleFunction == null) {\n return void 0;\n }\n d3ScaleFunction.domain(axisDomain).range(axisRange);\n return d3ScaleFunction;\n }\n function combineConfiguredScale(axis, realScaleType, axisDomain, axisRange) {\n if (axisDomain == null || axisRange == null) {\n return void 0;\n }\n if (typeof axis.scale === \"function\") {\n return combineConfiguredScaleInternal(axis.scale, axisDomain, axisRange);\n }\n return combineConfiguredScaleInternal(realScaleType, axisDomain, axisRange);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineRealScaleType.js\n function getD3ScaleName(name) {\n return \"scale\".concat(upperFirst(name));\n }\n function isSupportedScaleName(name) {\n return getD3ScaleName(name) in d3_scale_exports;\n }\n var combineRealScaleType = (axisConfig, hasBar, chartType) => {\n if (axisConfig == null) {\n return void 0;\n }\n var {\n scale,\n type\n } = axisConfig;\n if (scale === \"auto\") {\n if (type === \"category\" && chartType && (chartType.indexOf(\"LineChart\") >= 0 || chartType.indexOf(\"AreaChart\") >= 0 || chartType.indexOf(\"ComposedChart\") >= 0 && !hasBar)) {\n return \"point\";\n }\n if (type === \"category\") {\n return \"band\";\n }\n return \"linear\";\n }\n if (typeof scale === \"string\") {\n return isSupportedScaleName(scale) ? scale : \"point\";\n }\n return void 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/createCategoricalInverse.js\n function bisect(haystack, needle) {\n var lo = 0;\n var hi = haystack.length;\n var ascending2 = haystack[0] < haystack[haystack.length - 1];\n while (lo < hi) {\n var mid = Math.floor((lo + hi) / 2);\n if (ascending2 ? haystack[mid] < needle : haystack[mid] > needle) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n return lo;\n }\n function createCategoricalInverse(scale, allDataPointsOnAxis) {\n if (!scale) {\n return void 0;\n }\n var domain = allDataPointsOnAxis !== null && allDataPointsOnAxis !== void 0 ? allDataPointsOnAxis : scale.domain();\n var pixelPositions = domain.map((d) => {\n var _scale;\n return (_scale = scale(d)) !== null && _scale !== void 0 ? _scale : 0;\n });\n var range4 = scale.range();\n if (domain.length === 0 || range4.length < 2) {\n return void 0;\n }\n return (pixelValue) => {\n var _pixelPositions, _pixelPositions$index;\n var index2 = bisect(pixelPositions, pixelValue);\n if (index2 <= 0) {\n return domain[0];\n }\n if (index2 >= domain.length) {\n return domain[domain.length - 1];\n }\n var leftPixel = (_pixelPositions = pixelPositions[index2 - 1]) !== null && _pixelPositions !== void 0 ? _pixelPositions : 0;\n var rightPixel = (_pixelPositions$index = pixelPositions[index2]) !== null && _pixelPositions$index !== void 0 ? _pixelPositions$index : 0;\n if (Math.abs(pixelValue - leftPixel) <= Math.abs(pixelValue - rightPixel)) {\n return domain[index2 - 1];\n }\n return domain[index2];\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineInverseScaleFunction.js\n function combineInverseScaleFunction(configuredScale) {\n if (configuredScale == null) {\n return void 0;\n }\n if (\"invert\" in configuredScale && typeof configuredScale.invert === \"function\") {\n return configuredScale.invert.bind(configuredScale);\n }\n return createCategoricalInverse(configuredScale, void 0);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/axisSelectors.js\n function ownKeys17(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread17(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys17(Object(t2), true).forEach(function(r3) {\n _defineProperty17(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys17(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty17(e, r2, t2) {\n return (r2 = _toPropertyKey17(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey17(t2) {\n var i = _toPrimitive17(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive17(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultNumericDomain = [0, \"auto\"];\n var implicitXAxis = {\n allowDataOverflow: false,\n allowDecimals: true,\n allowDuplicatedCategory: true,\n angle: 0,\n dataKey: void 0,\n domain: void 0,\n height: 30,\n hide: true,\n id: 0,\n includeHidden: false,\n interval: \"preserveEnd\",\n minTickGap: 5,\n mirror: false,\n name: void 0,\n orientation: \"bottom\",\n padding: {\n left: 0,\n right: 0\n },\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickCount: 5,\n tickFormatter: void 0,\n ticks: void 0,\n type: \"category\",\n unit: void 0,\n niceTicks: \"auto\"\n };\n var selectXAxisSettingsNoDefaults = (state2, axisId) => {\n return state2.cartesianAxis.xAxis[axisId];\n };\n var selectXAxisSettings = (state2, axisId) => {\n var axis = selectXAxisSettingsNoDefaults(state2, axisId);\n if (axis == null) {\n return implicitXAxis;\n }\n return axis;\n };\n var implicitYAxis = {\n allowDataOverflow: false,\n allowDecimals: true,\n allowDuplicatedCategory: true,\n angle: 0,\n dataKey: void 0,\n domain: defaultNumericDomain,\n hide: true,\n id: 0,\n includeHidden: false,\n interval: \"preserveEnd\",\n minTickGap: 5,\n mirror: false,\n name: void 0,\n orientation: \"left\",\n padding: {\n top: 0,\n bottom: 0\n },\n reversed: false,\n scale: \"auto\",\n tick: true,\n tickCount: 5,\n tickFormatter: void 0,\n ticks: void 0,\n type: \"number\",\n unit: void 0,\n niceTicks: \"auto\",\n width: DEFAULT_Y_AXIS_WIDTH\n };\n var selectYAxisSettingsNoDefaults = (state2, axisId) => {\n return state2.cartesianAxis.yAxis[axisId];\n };\n var selectYAxisSettings = (state2, axisId) => {\n var axis = selectYAxisSettingsNoDefaults(state2, axisId);\n if (axis == null) {\n return implicitYAxis;\n }\n return axis;\n };\n var implicitZAxis = {\n domain: [0, \"auto\"],\n includeHidden: false,\n reversed: false,\n allowDataOverflow: false,\n allowDuplicatedCategory: false,\n dataKey: void 0,\n id: 0,\n name: \"\",\n range: [64, 64],\n scale: \"auto\",\n type: \"number\",\n unit: \"\"\n };\n var selectZAxisSettings = (state2, axisId) => {\n var axis = state2.cartesianAxis.zAxis[axisId];\n if (axis == null) {\n return implicitZAxis;\n }\n return axis;\n };\n var selectBaseAxis = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n case \"zAxis\": {\n return selectZAxisSettings(state2, axisId);\n }\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectCartesianAxisSettings = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectRenderableAxisSettings = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSettings(state2, axisId);\n }\n case \"yAxis\": {\n return selectYAxisSettings(state2, axisId);\n }\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default:\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n };\n var selectHasBar = (state2) => state2.graphicalItems.cartesianItems.some((item) => item.type === \"bar\") || state2.graphicalItems.polarItems.some((item) => item.type === \"radialBar\");\n function itemAxisPredicate(axisType, axisId) {\n return (item) => {\n switch (axisType) {\n case \"xAxis\":\n return \"xAxisId\" in item && item.xAxisId === axisId;\n case \"yAxis\":\n return \"yAxisId\" in item && item.yAxisId === axisId;\n case \"zAxis\":\n return \"zAxisId\" in item && item.zAxisId === axisId;\n case \"angleAxis\":\n return \"angleAxisId\" in item && item.angleAxisId === axisId;\n case \"radiusAxis\":\n return \"radiusAxisId\" in item && item.radiusAxisId === axisId;\n default:\n return false;\n }\n };\n }\n var selectUnfilteredCartesianItems = (state2) => state2.graphicalItems.cartesianItems;\n var selectAxisPredicate = createSelector([pickAxisType, pickAxisId], itemAxisPredicate);\n var combineGraphicalItemsSettings = (graphicalItems, axisSettings, axisPredicate) => graphicalItems.filter(axisPredicate).filter((item) => {\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.includeHidden) === true) {\n return true;\n }\n return !item.hide;\n });\n var selectCartesianItemsSettings = createSelector([selectUnfilteredCartesianItems, selectBaseAxis, selectAxisPredicate], combineGraphicalItemsSettings, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectStackedCartesianItemsSettings = createSelector([selectCartesianItemsSettings], (cartesianItems) => {\n return cartesianItems.filter((item) => item.type === \"area\" || item.type === \"bar\").filter(isStacked);\n });\n var filterGraphicalNotStackedItems = (cartesianItems) => cartesianItems.filter((item) => !(\"stackId\" in item) || item.stackId === void 0);\n var selectCartesianItemsSettingsExceptStacked = createSelector([selectCartesianItemsSettings], filterGraphicalNotStackedItems);\n var combineGraphicalItemsData = (cartesianItems) => cartesianItems.map((item) => item.data).filter(Boolean).flat(1);\n var selectCartesianGraphicalItemsData = createSelector([selectCartesianItemsSettings], combineGraphicalItemsData, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var combineDisplayedData = (graphicalItemsData, _ref2) => {\n var {\n chartData = [],\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (graphicalItemsData.length > 0) {\n return graphicalItemsData;\n }\n return chartData.slice(dataStartIndex, dataEndIndex + 1);\n };\n var selectDisplayedData = createSelector([selectCartesianGraphicalItemsData, selectChartDataWithIndexesIfNotInPanoramaPosition4], combineDisplayedData);\n var combineAppliedValues = (data, axisSettings, items) => {\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n return data.map((item) => ({\n value: getValueByDataKey(item, axisSettings.dataKey)\n }));\n }\n if (items.length > 0) {\n return items.map((item) => item.dataKey).flatMap((dataKey) => data.map((entry) => ({\n value: getValueByDataKey(entry, dataKey)\n })));\n }\n return data.map((entry) => ({\n value: entry\n }));\n };\n var selectAllAppliedValues = createSelector([selectDisplayedData, selectBaseAxis, selectCartesianItemsSettings], combineAppliedValues);\n function makeNumber(val) {\n if (isNumOrStr(val) || val instanceof Date) {\n var n = Number(val);\n if (isWellBehavedNumber(n)) {\n return n;\n }\n }\n return void 0;\n }\n function makeDomain(val) {\n if (Array.isArray(val)) {\n var attempt = [makeNumber(val[0]), makeNumber(val[1])];\n if (isWellFormedNumberDomain(attempt)) {\n return attempt;\n }\n return void 0;\n }\n var n = makeNumber(val);\n if (n == null) {\n return void 0;\n }\n return [n, n];\n }\n function onlyAllowNumbers(data) {\n return data.map(makeNumber).filter(isNotNil);\n }\n function sortBy4(a2, b) {\n var aNum = makeNumber(a2);\n var bNum = makeNumber(b);\n if (aNum == null && bNum == null) {\n return 0;\n }\n if (aNum == null) {\n return -1;\n }\n if (bNum == null) {\n return 1;\n }\n return aNum - bNum;\n }\n var selectSortedDataPoints = createSelector([selectAllAppliedValues], (appliedData) => {\n return appliedData === null || appliedData === void 0 ? void 0 : appliedData.map((item) => item.value).sort(sortBy4);\n });\n function isErrorBarRelevantForAxisType(axisType, errorBar) {\n switch (axisType) {\n case \"xAxis\":\n return errorBar.direction === \"x\";\n case \"yAxis\":\n return errorBar.direction === \"y\";\n default:\n return false;\n }\n }\n function getErrorDomainByDataKey(entry, appliedValue, relevantErrorBars) {\n if (!relevantErrorBars || typeof appliedValue !== \"number\" || isNan(appliedValue)) {\n return [];\n }\n if (!relevantErrorBars.length) {\n return [];\n }\n return onlyAllowNumbers(relevantErrorBars.flatMap((eb) => {\n var errorValue = getValueByDataKey(entry, eb.dataKey);\n var lowBound, highBound;\n if (Array.isArray(errorValue)) {\n [lowBound, highBound] = errorValue;\n } else {\n lowBound = highBound = errorValue;\n }\n if (!isWellBehavedNumber(lowBound) || !isWellBehavedNumber(highBound)) {\n return void 0;\n }\n return [appliedValue - lowBound, appliedValue + highBound];\n }));\n }\n var selectTooltipAxis = (state2) => {\n var axisType = selectTooltipAxisType(state2);\n var axisId = selectTooltipAxisId(state2);\n return selectRenderableAxisSettings(state2, axisType, axisId);\n };\n var selectTooltipAxisDataKey = createSelector([selectTooltipAxis], (axis) => axis === null || axis === void 0 ? void 0 : axis.dataKey);\n var selectDisplayedStackedData = createSelector([selectStackedCartesianItemsSettings, selectChartDataWithIndexesIfNotInPanoramaPosition4, selectTooltipAxis], combineDisplayedStackedData);\n var combineStackGroups = (displayedData, items, stackOffsetType, reverseStackOrder) => {\n var initialItemsGroups = {};\n var itemsGroup = items.reduce((acc, item) => {\n if (item.stackId == null) {\n return acc;\n }\n var stack = acc[item.stackId];\n if (stack == null) {\n stack = [];\n }\n stack.push(item);\n acc[item.stackId] = stack;\n return acc;\n }, initialItemsGroups);\n return Object.fromEntries(Object.entries(itemsGroup).map((_ref2) => {\n var [stackId, graphicalItems] = _ref2;\n var orderedGraphicalItems = reverseStackOrder ? [...graphicalItems].reverse() : graphicalItems;\n var dataKeys = orderedGraphicalItems.map(getStackSeriesIdentifier);\n return [stackId, {\n // @ts-expect-error getStackedData requires that the input is array of objects, Recharts does not test for that\n stackedData: getStackedData(displayedData, dataKeys, stackOffsetType),\n graphicalItems: orderedGraphicalItems\n }];\n }));\n };\n var selectStackGroups = createSelector([selectDisplayedStackedData, selectStackedCartesianItemsSettings, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var combineDomainOfStackGroups = (stackGroups, _ref3, axisType, domainFromUserPreference) => {\n var {\n dataStartIndex,\n dataEndIndex\n } = _ref3;\n if (domainFromUserPreference != null) {\n return void 0;\n }\n if (axisType === \"zAxis\") {\n return void 0;\n }\n var domainOfStackGroups = getDomainOfStackGroups(stackGroups, dataStartIndex, dataEndIndex);\n if (domainOfStackGroups != null && domainOfStackGroups[0] === 0 && domainOfStackGroups[1] === 0) {\n return void 0;\n }\n return domainOfStackGroups;\n };\n var selectAllowsDataOverflow = createSelector([selectBaseAxis], (axisSettings) => axisSettings.allowDataOverflow);\n var getDomainDefinition = (axisSettings) => {\n var _axisSettings$domain;\n if (axisSettings == null || !(\"domain\" in axisSettings)) {\n return defaultNumericDomain;\n }\n if (axisSettings.domain != null) {\n return axisSettings.domain;\n }\n if (\"ticks\" in axisSettings && axisSettings.ticks != null) {\n if (axisSettings.type === \"number\") {\n var allValues = onlyAllowNumbers(axisSettings.ticks);\n return [Math.min(...allValues), Math.max(...allValues)];\n }\n if (axisSettings.type === \"category\") {\n return axisSettings.ticks.map(String);\n }\n }\n return (_axisSettings$domain = axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.domain) !== null && _axisSettings$domain !== void 0 ? _axisSettings$domain : defaultNumericDomain;\n };\n var selectDomainDefinition = createSelector([selectBaseAxis], getDomainDefinition);\n var selectDomainFromUserPreference = createSelector([selectDomainDefinition, selectAllowsDataOverflow], numericalDomainSpecifiedWithoutRequiringData);\n var selectDomainOfStackGroups = createSelector([selectStackGroups, selectChartDataWithIndexes, pickAxisType, selectDomainFromUserPreference], combineDomainOfStackGroups, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var selectAllErrorBarSettings = (state2) => state2.errorBars;\n var combineRelevantErrorBarSettings = (cartesianItemsSettings, allErrorBarSettings, axisType) => {\n return cartesianItemsSettings.flatMap((item) => {\n return allErrorBarSettings[item.id];\n }).filter(Boolean).filter((e) => {\n return isErrorBarRelevantForAxisType(axisType, e);\n });\n };\n var mergeDomains = function mergeDomains2() {\n for (var _len = arguments.length, domains = new Array(_len), _key = 0; _key < _len; _key++) {\n domains[_key] = arguments[_key];\n }\n var allDomains = domains.filter(Boolean);\n if (allDomains.length === 0) {\n return void 0;\n }\n var allValues = allDomains.flat();\n var min3 = Math.min(...allValues);\n var max3 = Math.max(...allValues);\n return [min3, max3];\n };\n var combineDomainOfAllAppliedNumericalValuesIncludingErrorValues = (data, axisSettings, items, errorBars, axisType) => {\n var lowerEnd, upperEnd;\n if (items.length > 0) {\n data.forEach((entry) => {\n items.forEach((item) => {\n var _errorBars$item$id, _axisSettings$dataKey;\n var relevantErrorBars = (_errorBars$item$id = errorBars[item.id]) === null || _errorBars$item$id === void 0 ? void 0 : _errorBars$item$id.filter((errorBar) => isErrorBarRelevantForAxisType(axisType, errorBar));\n var valueByDataKey = getValueByDataKey(entry, (_axisSettings$dataKey = axisSettings.dataKey) !== null && _axisSettings$dataKey !== void 0 ? _axisSettings$dataKey : item.dataKey);\n var errorDomain = getErrorDomainByDataKey(entry, valueByDataKey, relevantErrorBars);\n if (errorDomain.length >= 2) {\n var localLower = Math.min(...errorDomain);\n var localUpper = Math.max(...errorDomain);\n if (lowerEnd == null || localLower < lowerEnd) {\n lowerEnd = localLower;\n }\n if (upperEnd == null || localUpper > upperEnd) {\n upperEnd = localUpper;\n }\n }\n var dataValueDomain = makeDomain(valueByDataKey);\n if (dataValueDomain != null) {\n lowerEnd = lowerEnd == null ? dataValueDomain[0] : Math.min(lowerEnd, dataValueDomain[0]);\n upperEnd = upperEnd == null ? dataValueDomain[1] : Math.max(upperEnd, dataValueDomain[1]);\n }\n });\n });\n }\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n data.forEach((item) => {\n var dataValueDomain = makeDomain(getValueByDataKey(item, axisSettings.dataKey));\n if (dataValueDomain != null) {\n lowerEnd = lowerEnd == null ? dataValueDomain[0] : Math.min(lowerEnd, dataValueDomain[0]);\n upperEnd = upperEnd == null ? dataValueDomain[1] : Math.max(upperEnd, dataValueDomain[1]);\n }\n });\n }\n if (isWellBehavedNumber(lowerEnd) && isWellBehavedNumber(upperEnd)) {\n return [lowerEnd, upperEnd];\n }\n return void 0;\n };\n var selectDomainOfAllAppliedNumericalValuesIncludingErrorValues = createSelector([selectDisplayedData, selectBaseAxis, selectCartesianItemsSettingsExceptStacked, selectAllErrorBarSettings, pickAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n function onlyAllowNumbersAndStringsAndDates(item) {\n var {\n value\n } = item;\n if (isNumOrStr(value) || value instanceof Date) {\n return value;\n }\n return void 0;\n }\n var computeDomainOfTypeCategory = (allDataSquished, axisSettings, isCategorical) => {\n var categoricalDomain = allDataSquished.map(onlyAllowNumbersAndStringsAndDates).filter((v) => v != null);\n if (isCategorical && (axisSettings.dataKey == null || axisSettings.allowDuplicatedCategory && hasDuplicate(categoricalDomain))) {\n return (0, import_range2.default)(0, allDataSquished.length);\n }\n if (axisSettings.allowDuplicatedCategory) {\n return categoricalDomain;\n }\n return Array.from(new Set(categoricalDomain));\n };\n var selectReferenceDots = (state2) => state2.referenceElements.dots;\n var filterReferenceElements = (elements, axisType, axisId) => {\n return elements.filter((el) => el.ifOverflow === \"extendDomain\").filter((el) => {\n if (axisType === \"xAxis\") {\n return el.xAxisId === axisId;\n }\n return el.yAxisId === axisId;\n });\n };\n var selectReferenceDotsByAxis = createSelector([selectReferenceDots, pickAxisType, pickAxisId], filterReferenceElements);\n var selectReferenceAreas = (state2) => state2.referenceElements.areas;\n var selectReferenceAreasByAxis = createSelector([selectReferenceAreas, pickAxisType, pickAxisId], filterReferenceElements);\n var selectReferenceLines = (state2) => state2.referenceElements.lines;\n var selectReferenceLinesByAxis = createSelector([selectReferenceLines, pickAxisType, pickAxisId], filterReferenceElements);\n var combineDotsDomain = (dots, axisType) => {\n if (dots == null) {\n return void 0;\n }\n var allCoords = onlyAllowNumbers(dots.map((dot) => axisType === \"xAxis\" ? dot.x : dot.y));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceDotsDomain = createSelector(selectReferenceDotsByAxis, pickAxisType, combineDotsDomain);\n var combineAreasDomain = (areas, axisType) => {\n if (areas == null) {\n return void 0;\n }\n var allCoords = onlyAllowNumbers(areas.flatMap((area) => [axisType === \"xAxis\" ? area.x1 : area.y1, axisType === \"xAxis\" ? area.x2 : area.y2]));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceAreasDomain = createSelector([selectReferenceAreasByAxis, pickAxisType], combineAreasDomain);\n function extractXCoordinates(line) {\n var _line$segment;\n if (line.x != null) {\n return onlyAllowNumbers([line.x]);\n }\n var segmentCoordinates = (_line$segment = line.segment) === null || _line$segment === void 0 ? void 0 : _line$segment.map((s2) => s2.x);\n if (segmentCoordinates == null || segmentCoordinates.length === 0) {\n return [];\n }\n return onlyAllowNumbers(segmentCoordinates);\n }\n function extractYCoordinates(line) {\n var _line$segment2;\n if (line.y != null) {\n return onlyAllowNumbers([line.y]);\n }\n var segmentCoordinates = (_line$segment2 = line.segment) === null || _line$segment2 === void 0 ? void 0 : _line$segment2.map((s2) => s2.y);\n if (segmentCoordinates == null || segmentCoordinates.length === 0) {\n return [];\n }\n return onlyAllowNumbers(segmentCoordinates);\n }\n var combineLinesDomain = (lines, axisType) => {\n if (lines == null) {\n return void 0;\n }\n var allCoords = lines.flatMap((line) => axisType === \"xAxis\" ? extractXCoordinates(line) : extractYCoordinates(line));\n if (allCoords.length === 0) {\n return void 0;\n }\n return [Math.min(...allCoords), Math.max(...allCoords)];\n };\n var selectReferenceLinesDomain = createSelector([selectReferenceLinesByAxis, pickAxisType], combineLinesDomain);\n var selectReferenceElementsDomain = createSelector(selectReferenceDotsDomain, selectReferenceLinesDomain, selectReferenceAreasDomain, (dotsDomain, linesDomain, areasDomain) => {\n return mergeDomains(dotsDomain, areasDomain, linesDomain);\n });\n var combineNumericalDomain = (axisSettings, domainDefinition, domainFromUserPreference, domainOfStackGroups, dataAndErrorBarsDomain, referenceElementsDomain, layout, axisType) => {\n if (domainFromUserPreference != null) {\n return domainFromUserPreference;\n }\n var shouldIncludeDomainOfStackGroups = layout === \"vertical\" && axisType === \"xAxis\" || layout === \"horizontal\" && axisType === \"yAxis\";\n var mergedDomains = shouldIncludeDomainOfStackGroups ? mergeDomains(domainOfStackGroups, referenceElementsDomain, dataAndErrorBarsDomain) : mergeDomains(referenceElementsDomain, dataAndErrorBarsDomain);\n return parseNumericalUserDomain(domainDefinition, mergedDomains, axisSettings.allowDataOverflow);\n };\n var selectNumericalDomain = createSelector([selectBaseAxis, selectDomainDefinition, selectDomainFromUserPreference, selectDomainOfStackGroups, selectDomainOfAllAppliedNumericalValuesIncludingErrorValues, selectReferenceElementsDomain, selectChartLayout, pickAxisType], combineNumericalDomain, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var expandDomain = [0, 1];\n var combineAxisDomain = (axisSettings, layout, displayedData, allAppliedValues, stackOffsetType, axisType, numericalDomain) => {\n if ((axisSettings == null || displayedData == null || displayedData.length === 0) && numericalDomain === void 0) {\n return void 0;\n }\n var {\n dataKey,\n type\n } = axisSettings;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (isCategorical && dataKey == null) {\n var _displayedData$length;\n return (0, import_range2.default)(0, (_displayedData$length = displayedData === null || displayedData === void 0 ? void 0 : displayedData.length) !== null && _displayedData$length !== void 0 ? _displayedData$length : 0);\n }\n if (type === \"category\") {\n return computeDomainOfTypeCategory(allAppliedValues, axisSettings, isCategorical);\n }\n if (stackOffsetType === \"expand\") {\n return expandDomain;\n }\n return numericalDomain;\n };\n var selectAxisDomain = createSelector([selectBaseAxis, selectChartLayout, selectDisplayedData, selectAllAppliedValues, selectStackOffsetType, pickAxisType, selectNumericalDomain], combineAxisDomain);\n var selectRealScaleType = createSelector([selectBaseAxis, selectHasBar, selectChartName], combineRealScaleType);\n var combineNiceTicks = (axisDomain, axisSettings, realScaleType) => {\n var {\n niceTicks\n } = axisSettings;\n if (niceTicks === \"none\") {\n return void 0;\n }\n var domainDefinition = getDomainDefinition(axisSettings);\n var hasDomainAutoKeyword = Array.isArray(domainDefinition) && (domainDefinition[0] === \"auto\" || domainDefinition[1] === \"auto\");\n if ((niceTicks === \"snap125\" || niceTicks === \"adaptive\") && axisSettings != null && axisSettings.tickCount && isWellFormedNumberDomain(axisDomain)) {\n if (hasDomainAutoKeyword) {\n return getNiceTickValues(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, niceTicks);\n }\n if (axisSettings.type === \"number\") {\n return getTickValuesFixedDomain(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, niceTicks);\n }\n }\n if (niceTicks === \"auto\" && realScaleType === \"linear\" && axisSettings != null && axisSettings.tickCount) {\n if (hasDomainAutoKeyword && isWellFormedNumberDomain(axisDomain)) {\n return getNiceTickValues(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, \"adaptive\");\n }\n if (axisSettings.type === \"number\" && isWellFormedNumberDomain(axisDomain)) {\n return getTickValuesFixedDomain(axisDomain, axisSettings.tickCount, axisSettings.allowDecimals, \"adaptive\");\n }\n }\n return void 0;\n };\n var selectNiceTicks = createSelector([selectAxisDomain, selectRenderableAxisSettings, selectRealScaleType], combineNiceTicks);\n var combineAxisDomainWithNiceTicks = (axisSettings, domain, niceTicks, axisType) => {\n if (\n /*\n * Angle axis for some reason uses nice ticks when rendering axis tick labels,\n * but doesn't use nice ticks for extending domain like all the other axes do.\n * Not really sure why? Is there a good reason,\n * or is it just because someone added support for nice ticks to the other axes and forgot this one?\n */\n axisType !== \"angleAxis\" && (axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.type) === \"number\" && isWellFormedNumberDomain(domain) && Array.isArray(niceTicks) && niceTicks.length > 0\n ) {\n var _niceTicks$, _niceTicks;\n var minFromDomain = domain[0];\n var minFromTicks = (_niceTicks$ = niceTicks[0]) !== null && _niceTicks$ !== void 0 ? _niceTicks$ : 0;\n var maxFromDomain = domain[1];\n var maxFromTicks = (_niceTicks = niceTicks[niceTicks.length - 1]) !== null && _niceTicks !== void 0 ? _niceTicks : 0;\n return [Math.min(minFromDomain, minFromTicks), Math.max(maxFromDomain, maxFromTicks)];\n }\n return domain;\n };\n var selectAxisDomainIncludingNiceTicks = createSelector([selectBaseAxis, selectAxisDomain, selectNiceTicks, pickAxisType], combineAxisDomainWithNiceTicks);\n var selectSmallestDistanceBetweenValues = createSelector(selectAllAppliedValues, selectBaseAxis, (allDataSquished, axisSettings) => {\n if (!axisSettings || axisSettings.type !== \"number\") {\n return void 0;\n }\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = Array.from(onlyAllowNumbers(allDataSquished.map((d) => d.value))).sort((a2, b) => a2 - b);\n var first = sortedValues[0];\n var last2 = sortedValues[sortedValues.length - 1];\n if (first == null || last2 == null) {\n return Infinity;\n }\n var diff = last2 - first;\n if (diff === 0) {\n return Infinity;\n }\n for (var i = 0; i < sortedValues.length - 1; i++) {\n var curr = sortedValues[i];\n var next2 = sortedValues[i + 1];\n if (curr == null || next2 == null) {\n continue;\n }\n var distance = next2 - curr;\n smallestDistanceBetweenValues = Math.min(smallestDistanceBetweenValues, distance);\n }\n return smallestDistanceBetweenValues / diff;\n });\n var selectCalculatedPadding = createSelector(selectSmallestDistanceBetweenValues, selectChartLayout, selectBarCategoryGap, selectChartOffsetInternal, (_1, _2, _3, _4, padding) => padding, (smallestDistanceInPercent, layout, barCategoryGap, offset4, padding) => {\n if (!isWellBehavedNumber(smallestDistanceInPercent)) {\n return 0;\n }\n var rangeWidth = layout === \"vertical\" ? offset4.height : offset4.width;\n if (padding === \"gap\") {\n return smallestDistanceInPercent * rangeWidth / 2;\n }\n if (padding === \"no-gap\") {\n var gap = getPercentValue(barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n return halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n return 0;\n });\n var selectCalculatedXAxisPadding = (state2, axisId, isPanorama) => {\n var xAxisSettings = selectXAxisSettings(state2, axisId);\n if (xAxisSettings == null || typeof xAxisSettings.padding !== \"string\") {\n return 0;\n }\n return selectCalculatedPadding(state2, \"xAxis\", axisId, isPanorama, xAxisSettings.padding);\n };\n var selectCalculatedYAxisPadding = (state2, axisId, isPanorama) => {\n var yAxisSettings = selectYAxisSettings(state2, axisId);\n if (yAxisSettings == null || typeof yAxisSettings.padding !== \"string\") {\n return 0;\n }\n return selectCalculatedPadding(state2, \"yAxis\", axisId, isPanorama, yAxisSettings.padding);\n };\n var selectXAxisPadding = createSelector(selectXAxisSettings, selectCalculatedXAxisPadding, (xAxisSettings, calculated) => {\n var _padding$left, _padding$right;\n if (xAxisSettings == null) {\n return {\n left: 0,\n right: 0\n };\n }\n var {\n padding\n } = xAxisSettings;\n if (typeof padding === \"string\") {\n return {\n left: calculated,\n right: calculated\n };\n }\n return {\n left: ((_padding$left = padding.left) !== null && _padding$left !== void 0 ? _padding$left : 0) + calculated,\n right: ((_padding$right = padding.right) !== null && _padding$right !== void 0 ? _padding$right : 0) + calculated\n };\n });\n var selectYAxisPadding = createSelector(selectYAxisSettings, selectCalculatedYAxisPadding, (yAxisSettings, calculated) => {\n var _padding$top, _padding$bottom;\n if (yAxisSettings == null) {\n return {\n top: 0,\n bottom: 0\n };\n }\n var {\n padding\n } = yAxisSettings;\n if (typeof padding === \"string\") {\n return {\n top: calculated,\n bottom: calculated\n };\n }\n return {\n top: ((_padding$top = padding.top) !== null && _padding$top !== void 0 ? _padding$top : 0) + calculated,\n bottom: ((_padding$bottom = padding.bottom) !== null && _padding$bottom !== void 0 ? _padding$bottom : 0) + calculated\n };\n });\n var selectXAxisRange = createSelector([selectChartOffsetInternal, selectXAxisPadding, selectBrushDimensions, selectBrushSettings, (_state, _axisId, isPanorama) => isPanorama], (offset4, padding, brushDimensions, _ref4, isPanorama) => {\n var {\n padding: brushPadding\n } = _ref4;\n if (isPanorama) {\n return [brushPadding.left, brushDimensions.width - brushPadding.right];\n }\n return [offset4.left + padding.left, offset4.left + offset4.width - padding.right];\n });\n var selectYAxisRange = createSelector([selectChartOffsetInternal, selectChartLayout, selectYAxisPadding, selectBrushDimensions, selectBrushSettings, (_state, _axisId, isPanorama) => isPanorama], (offset4, layout, padding, brushDimensions, _ref5, isPanorama) => {\n var {\n padding: brushPadding\n } = _ref5;\n if (isPanorama) {\n return [brushDimensions.height - brushPadding.bottom, brushPadding.top];\n }\n if (layout === \"horizontal\") {\n return [offset4.top + offset4.height - padding.bottom, offset4.top + padding.top];\n }\n return [offset4.top + padding.top, offset4.top + offset4.height - padding.bottom];\n });\n var selectAxisRange = (state2, axisType, axisId, isPanorama) => {\n var _selectZAxisSettings;\n switch (axisType) {\n case \"xAxis\":\n return selectXAxisRange(state2, axisId, isPanorama);\n case \"yAxis\":\n return selectYAxisRange(state2, axisId, isPanorama);\n case \"zAxis\":\n return (_selectZAxisSettings = selectZAxisSettings(state2, axisId)) === null || _selectZAxisSettings === void 0 ? void 0 : _selectZAxisSettings.range;\n case \"angleAxis\":\n return selectAngleAxisRange(state2);\n case \"radiusAxis\":\n return selectRadiusAxisRange(state2, axisId);\n default:\n return void 0;\n }\n };\n var selectAxisRangeWithReverse = createSelector([selectBaseAxis, selectAxisRange], combineAxisRangeWithReverse);\n var selectCheckedAxisDomain = createSelector([selectRealScaleType, selectAxisDomainIncludingNiceTicks], combineCheckedDomain);\n var selectConfiguredScale = createSelector([selectBaseAxis, selectRealScaleType, selectCheckedAxisDomain, selectAxisRangeWithReverse], combineConfiguredScale);\n var combineCategoricalDomain = (layout, appliedValues, axis, axisType) => {\n if (axis == null || axis.dataKey == null) {\n return void 0;\n }\n var {\n type,\n scale\n } = axis;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (isCategorical && (type === \"number\" || scale !== \"auto\")) {\n return appliedValues.map((d) => d.value);\n }\n return void 0;\n };\n var selectCategoricalDomain = createSelector([selectChartLayout, selectAllAppliedValues, selectRenderableAxisSettings, pickAxisType], combineCategoricalDomain);\n var selectAxisScale = createSelector([selectConfiguredScale], rechartsScaleFactory);\n var selectAxisInverseScale = createSelector([selectConfiguredScale], combineInverseScaleFunction);\n var selectAxisInverseDataSnapScale = createSelector([selectConfiguredScale, selectSortedDataPoints], createCategoricalInverse);\n var selectErrorBarsSettings = createSelector([selectCartesianItemsSettings, selectAllErrorBarSettings, pickAxisType], combineRelevantErrorBarSettings);\n function compareIds(a2, b) {\n if (a2.id < b.id) {\n return -1;\n }\n if (a2.id > b.id) {\n return 1;\n }\n return 0;\n }\n var pickAxisOrientation = (_state, orientation) => orientation;\n var pickMirror = (_state, _orientation, mirror) => mirror;\n var selectAllXAxesWithOffsetType = createSelector(selectAllXAxes, pickAxisOrientation, pickMirror, (allAxes, orientation, mirror) => allAxes.filter((axis) => axis.orientation === orientation).filter((axis) => axis.mirror === mirror).sort(compareIds));\n var selectAllYAxesWithOffsetType = createSelector(selectAllYAxes, pickAxisOrientation, pickMirror, (allAxes, orientation, mirror) => allAxes.filter((axis) => axis.orientation === orientation).filter((axis) => axis.mirror === mirror).sort(compareIds));\n var getXAxisSize = (offset4, axisSettings) => {\n return {\n width: offset4.width,\n height: axisSettings.height\n };\n };\n var getYAxisSize = (offset4, axisSettings) => {\n var width = typeof axisSettings.width === \"number\" ? axisSettings.width : DEFAULT_Y_AXIS_WIDTH;\n return {\n width,\n height: offset4.height\n };\n };\n var selectXAxisSize = createSelector(selectChartOffsetInternal, selectXAxisSettings, getXAxisSize);\n var combineXAxisPositionStartingPoint = (offset4, orientation, chartHeight) => {\n switch (orientation) {\n case \"top\":\n return offset4.top;\n case \"bottom\":\n return chartHeight - offset4.bottom;\n default:\n return 0;\n }\n };\n var combineYAxisPositionStartingPoint = (offset4, orientation, chartWidth) => {\n switch (orientation) {\n case \"left\":\n return offset4.left;\n case \"right\":\n return chartWidth - offset4.right;\n default:\n return 0;\n }\n };\n var selectAllXAxesOffsetSteps = createSelector(selectChartHeight, selectChartOffsetInternal, selectAllXAxesWithOffsetType, pickAxisOrientation, pickMirror, (chartHeight, offset4, allAxesWithSameOffsetType, orientation, mirror) => {\n var steps = {};\n var position2;\n allAxesWithSameOffsetType.forEach((axis) => {\n var axisSize = getXAxisSize(offset4, axis);\n if (position2 == null) {\n position2 = combineXAxisPositionStartingPoint(offset4, orientation, chartHeight);\n }\n var needSpace = orientation === \"top\" && !mirror || orientation === \"bottom\" && mirror;\n steps[axis.id] = position2 - Number(needSpace) * axisSize.height;\n position2 += (needSpace ? -1 : 1) * axisSize.height;\n });\n return steps;\n });\n var selectAllYAxesOffsetSteps = createSelector(selectChartWidth, selectChartOffsetInternal, selectAllYAxesWithOffsetType, pickAxisOrientation, pickMirror, (chartWidth, offset4, allAxesWithSameOffsetType, orientation, mirror) => {\n var steps = {};\n var position2;\n allAxesWithSameOffsetType.forEach((axis) => {\n var axisSize = getYAxisSize(offset4, axis);\n if (position2 == null) {\n position2 = combineYAxisPositionStartingPoint(offset4, orientation, chartWidth);\n }\n var needSpace = orientation === \"left\" && !mirror || orientation === \"right\" && mirror;\n steps[axis.id] = position2 - Number(needSpace) * axisSize.width;\n position2 += (needSpace ? -1 : 1) * axisSize.width;\n });\n return steps;\n });\n var selectXAxisOffsetSteps = (state2, axisId) => {\n var axisSettings = selectXAxisSettings(state2, axisId);\n if (axisSettings == null) {\n return void 0;\n }\n return selectAllXAxesOffsetSteps(state2, axisSettings.orientation, axisSettings.mirror);\n };\n var selectXAxisPosition = createSelector([selectChartOffsetInternal, selectXAxisSettings, selectXAxisOffsetSteps, (_, axisId) => axisId], (offset4, axisSettings, allSteps, axisId) => {\n if (axisSettings == null) {\n return void 0;\n }\n var stepOfThisAxis = allSteps === null || allSteps === void 0 ? void 0 : allSteps[axisId];\n if (stepOfThisAxis == null) {\n return {\n x: offset4.left,\n y: 0\n };\n }\n return {\n x: offset4.left,\n y: stepOfThisAxis\n };\n });\n var selectYAxisOffsetSteps = (state2, axisId) => {\n var axisSettings = selectYAxisSettings(state2, axisId);\n if (axisSettings == null) {\n return void 0;\n }\n return selectAllYAxesOffsetSteps(state2, axisSettings.orientation, axisSettings.mirror);\n };\n var selectYAxisPosition = createSelector([selectChartOffsetInternal, selectYAxisSettings, selectYAxisOffsetSteps, (_, axisId) => axisId], (offset4, axisSettings, allSteps, axisId) => {\n if (axisSettings == null) {\n return void 0;\n }\n var stepOfThisAxis = allSteps === null || allSteps === void 0 ? void 0 : allSteps[axisId];\n if (stepOfThisAxis == null) {\n return {\n x: 0,\n y: offset4.top\n };\n }\n return {\n x: stepOfThisAxis,\n y: offset4.top\n };\n });\n var selectYAxisSize = createSelector(selectChartOffsetInternal, selectYAxisSettings, (offset4, axisSettings) => {\n var width = typeof axisSettings.width === \"number\" ? axisSettings.width : DEFAULT_Y_AXIS_WIDTH;\n return {\n width,\n height: offset4.height\n };\n });\n var selectCartesianAxisSize = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"xAxis\": {\n return selectXAxisSize(state2, axisId).width;\n }\n case \"yAxis\": {\n return selectYAxisSize(state2, axisId).height;\n }\n default: {\n return void 0;\n }\n }\n };\n var combineDuplicateDomain = (chartLayout, appliedValues, axis, axisType) => {\n if (axis == null) {\n return void 0;\n }\n var {\n allowDuplicatedCategory,\n type,\n dataKey\n } = axis;\n var isCategorical = isCategoricalAxis(chartLayout, axisType);\n var allData = appliedValues.map((av) => av.value);\n if (dataKey && isCategorical && type === \"category\" && allowDuplicatedCategory && hasDuplicate(allData)) {\n return allData;\n }\n return void 0;\n };\n var selectDuplicateDomain = createSelector([selectChartLayout, selectAllAppliedValues, selectBaseAxis, pickAxisType], combineDuplicateDomain);\n var selectAxisPropsNeededForCartesianGridTicksGenerator = createSelector([selectChartLayout, selectCartesianAxisSettings, selectRealScaleType, selectAxisScale, selectDuplicateDomain, selectCategoricalDomain, selectAxisRange, selectNiceTicks, pickAxisType], (layout, axis, realScaleType, scale, duplicateDomain, categoricalDomain, axisRange, niceTicks, axisType) => {\n if (axis == null) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n return {\n angle: axis.angle,\n interval: axis.interval,\n minTickGap: axis.minTickGap,\n orientation: axis.orientation,\n tick: axis.tick,\n tickCount: axis.tickCount,\n tickFormatter: axis.tickFormatter,\n ticks: axis.ticks,\n type: axis.type,\n unit: axis.unit,\n axisType,\n categoricalDomain,\n duplicateDomain,\n isCategorical,\n niceTicks,\n range: axisRange,\n realScaleType,\n scale\n };\n });\n var combineAxisTicks = (layout, axis, realScaleType, scale, niceTicks, axisRange, duplicateDomain, categoricalDomain, axisType) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n var {\n type,\n ticks: ticks2,\n tickCount\n } = axis;\n var offsetForBand = (\n // @ts-expect-error This is testing for `scaleBand` but for band axis the type is reported as `band` so this looks like a dead code with a workaround elsewhere?\n realScaleType === \"scaleBand\" && typeof scale.bandwidth === \"function\" ? scale.bandwidth() / 2 : 2\n );\n var offset4 = type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && axisRange != null && axisRange.length >= 2 ? mathSign(axisRange[0] - axisRange[1]) * 2 * offset4 : offset4;\n var ticksOrNiceTicks = ticks2 || niceTicks;\n if (ticksOrNiceTicks) {\n return ticksOrNiceTicks.map((entry, index2) => {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n var scaled = scale.map(scaleContent);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n index: index2,\n coordinate: scaled + offset4,\n value: entry,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTicksOfAxis = createSelector([selectChartLayout, selectRenderableAxisSettings, selectRealScaleType, selectAxisScale, selectNiceTicks, selectAxisRange, selectDuplicateDomain, selectCategoricalDomain, pickAxisType], combineAxisTicks);\n var combineGraphicalItemTicks = (layout, axis, scale, axisRange, duplicateDomain, categoricalDomain, axisType) => {\n if (axis == null || scale == null || axisRange == null || axisRange[0] === axisRange[1]) {\n return void 0;\n }\n var isCategorical = isCategoricalAxis(layout, axisType);\n var {\n tickCount\n } = axis;\n var offset4 = 0;\n offset4 = axisType === \"angleAxis\" && (axisRange === null || axisRange === void 0 ? void 0 : axisRange.length) >= 2 ? mathSign(axisRange[0] - axisRange[1]) * 2 * offset4 : offset4;\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n if (scale.ticks) {\n return scale.ticks(tickCount).map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use unknown as index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTicksOfGraphicalItem = createSelector([selectChartLayout, selectRenderableAxisSettings, selectAxisScale, selectAxisRange, selectDuplicateDomain, selectCategoricalDomain, pickAxisType], combineGraphicalItemTicks);\n var selectAxisWithScale = createSelector(selectBaseAxis, selectAxisScale, (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread17(_objectSpread17({}, axis), {}, {\n scale\n });\n });\n var selectZAxisConfiguredScale = createSelector([selectBaseAxis, selectRealScaleType, selectAxisDomain, selectAxisRangeWithReverse], combineConfiguredScale);\n var selectZAxisScale = createSelector([selectZAxisConfiguredScale], rechartsScaleFactory);\n var selectZAxisWithScale = createSelector((state2, _axisType, axisId) => selectZAxisSettings(state2, axisId), selectZAxisScale, (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread17(_objectSpread17({}, axis), {}, {\n scale\n });\n });\n var selectChartDirection = createSelector([selectChartLayout, selectAllXAxes, selectAllYAxes], (layout, allXAxes, allYAxes) => {\n switch (layout) {\n case \"horizontal\": {\n return allXAxes.some((axis) => axis.reversed) ? \"right-to-left\" : \"left-to-right\";\n }\n case \"vertical\": {\n return allYAxes.some((axis) => axis.reversed) ? \"bottom-to-top\" : \"top-to-bottom\";\n }\n // TODO: make this better. For now, right arrow triggers \"forward\", left arrow \"back\"\n // however, the tooltip moves an unintuitive direction because of how the indices are rendered\n case \"centric\":\n case \"radial\": {\n return \"left-to-right\";\n }\n default: {\n return void 0;\n }\n }\n });\n var selectRenderedTicksOfAxis = (state2, axisType, axisId) => {\n var _state$renderedTicks$;\n return (_state$renderedTicks$ = state2.renderedTicks[axisType]) === null || _state$renderedTicks$ === void 0 ? void 0 : _state$renderedTicks$[axisId];\n };\n var selectAxisInverseTickSnapScale = createSelector([selectRenderedTicksOfAxis], (ticks2) => {\n if (!ticks2 || ticks2.length === 0) {\n return void 0;\n }\n return (pixelValue) => {\n var _closestTick;\n var minDistance = Infinity;\n var closestTick = ticks2[0];\n for (var tick of ticks2) {\n var distance = Math.abs(tick.coordinate - pixelValue);\n if (distance < minDistance) {\n minDistance = distance;\n closestTick = tick;\n }\n }\n return (_closestTick = closestTick) === null || _closestTick === void 0 ? void 0 : _closestTick.value;\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipEventType.js\n var selectDefaultTooltipEventType = (state2) => state2.options.defaultTooltipEventType;\n var selectValidateTooltipEventTypes = (state2) => state2.options.validateTooltipEventTypes;\n function combineTooltipEventType(shared, defaultTooltipEventType, validateTooltipEventTypes) {\n if (shared == null) {\n return defaultTooltipEventType;\n }\n var eventType = shared ? \"axis\" : \"item\";\n if (validateTooltipEventTypes == null) {\n return defaultTooltipEventType;\n }\n return validateTooltipEventTypes.includes(eventType) ? eventType : defaultTooltipEventType;\n }\n function selectTooltipEventType(state2, shared) {\n var defaultTooltipEventType = selectDefaultTooltipEventType(state2);\n var validateTooltipEventTypes = selectValidateTooltipEventTypes(state2);\n return combineTooltipEventType(shared, defaultTooltipEventType, validateTooltipEventTypes);\n }\n function useTooltipEventType(shared) {\n return useAppSelector((state2) => selectTooltipEventType(state2, shared));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineActiveLabel.js\n var combineActiveLabel = (tooltipTicks, activeIndex) => {\n var _tooltipTicks$n;\n var n = Number(activeIndex);\n if (isNan(n) || activeIndex == null) {\n return void 0;\n }\n return n >= 0 ? tooltipTicks === null || tooltipTicks === void 0 || (_tooltipTicks$n = tooltipTicks[n]) === null || _tooltipTicks$n === void 0 ? void 0 : _tooltipTicks$n.value : void 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipSettings.js\n var selectTooltipSettings = (state2) => state2.tooltip.settings;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/tooltipSlice.js\n var noInteraction = {\n active: false,\n index: null,\n dataKey: void 0,\n graphicalItemId: void 0,\n coordinate: void 0\n };\n var initialState3 = {\n itemInteraction: {\n click: noInteraction,\n hover: noInteraction\n },\n axisInteraction: {\n click: noInteraction,\n hover: noInteraction\n },\n keyboardInteraction: noInteraction,\n syncInteraction: {\n active: false,\n index: null,\n dataKey: void 0,\n label: void 0,\n coordinate: void 0,\n sourceViewBox: void 0,\n graphicalItemId: void 0\n },\n tooltipItemPayloads: [],\n settings: {\n shared: void 0,\n trigger: \"hover\",\n axisId: 0,\n active: false,\n defaultIndex: void 0\n }\n };\n var tooltipSlice = createSlice({\n name: \"tooltip\",\n initialState: initialState3,\n reducers: {\n addTooltipEntrySettings: {\n reducer(state2, action) {\n state2.tooltipItemPayloads.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceTooltipEntrySettings: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).tooltipItemPayloads.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.tooltipItemPayloads[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeTooltipEntrySettings: {\n reducer(state2, action) {\n var index2 = current(state2).tooltipItemPayloads.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.tooltipItemPayloads.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n setTooltipSettingsState(state2, action) {\n state2.settings = action.payload;\n },\n setActiveMouseOverItemIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.keyboardInteraction.active = false;\n state2.itemInteraction.hover.active = true;\n state2.itemInteraction.hover.index = action.payload.activeIndex;\n state2.itemInteraction.hover.dataKey = action.payload.activeDataKey;\n state2.itemInteraction.hover.graphicalItemId = action.payload.activeGraphicalItemId;\n state2.itemInteraction.hover.coordinate = action.payload.activeCoordinate;\n },\n mouseLeaveChart(state2) {\n state2.itemInteraction.hover.active = false;\n state2.axisInteraction.hover.active = false;\n },\n mouseLeaveItem(state2) {\n state2.itemInteraction.hover.active = false;\n },\n setActiveClickItemIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.itemInteraction.click.active = true;\n state2.keyboardInteraction.active = false;\n state2.itemInteraction.click.index = action.payload.activeIndex;\n state2.itemInteraction.click.dataKey = action.payload.activeDataKey;\n state2.itemInteraction.click.graphicalItemId = action.payload.activeGraphicalItemId;\n state2.itemInteraction.click.coordinate = action.payload.activeCoordinate;\n },\n setMouseOverAxisIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.axisInteraction.hover.active = true;\n state2.keyboardInteraction.active = false;\n state2.axisInteraction.hover.index = action.payload.activeIndex;\n state2.axisInteraction.hover.dataKey = action.payload.activeDataKey;\n state2.axisInteraction.hover.coordinate = action.payload.activeCoordinate;\n },\n setMouseClickAxisIndex(state2, action) {\n state2.syncInteraction.active = false;\n state2.keyboardInteraction.active = false;\n state2.axisInteraction.click.active = true;\n state2.axisInteraction.click.index = action.payload.activeIndex;\n state2.axisInteraction.click.dataKey = action.payload.activeDataKey;\n state2.axisInteraction.click.coordinate = action.payload.activeCoordinate;\n },\n setSyncInteraction(state2, action) {\n state2.syncInteraction = action.payload;\n },\n setKeyboardInteraction(state2, action) {\n state2.keyboardInteraction.active = action.payload.active;\n state2.keyboardInteraction.index = action.payload.activeIndex;\n state2.keyboardInteraction.coordinate = action.payload.activeCoordinate;\n }\n }\n });\n var {\n addTooltipEntrySettings,\n replaceTooltipEntrySettings,\n removeTooltipEntrySettings,\n setTooltipSettingsState,\n setActiveMouseOverItemIndex,\n mouseLeaveItem,\n mouseLeaveChart,\n setActiveClickItemIndex,\n setMouseOverAxisIndex,\n setMouseClickAxisIndex,\n setSyncInteraction,\n setKeyboardInteraction\n } = tooltipSlice.actions;\n var tooltipReducer = tooltipSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipInteractionState.js\n function ownKeys18(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread18(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys18(Object(t2), true).forEach(function(r3) {\n _defineProperty18(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys18(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty18(e, r2, t2) {\n return (r2 = _toPropertyKey18(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey18(t2) {\n var i = _toPrimitive18(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive18(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function chooseAppropriateMouseInteraction(tooltipState, tooltipEventType, trigger) {\n if (tooltipEventType === \"axis\") {\n if (trigger === \"click\") {\n return tooltipState.axisInteraction.click;\n }\n return tooltipState.axisInteraction.hover;\n }\n if (trigger === \"click\") {\n return tooltipState.itemInteraction.click;\n }\n return tooltipState.itemInteraction.hover;\n }\n function hasBeenActivePreviously(tooltipInteractionState) {\n return tooltipInteractionState.index != null;\n }\n var combineTooltipInteractionState = (tooltipState, tooltipEventType, trigger, defaultIndex) => {\n if (tooltipEventType == null) {\n return noInteraction;\n }\n var appropriateMouseInteraction = chooseAppropriateMouseInteraction(tooltipState, tooltipEventType, trigger);\n if (appropriateMouseInteraction == null) {\n return noInteraction;\n }\n if (appropriateMouseInteraction.active) {\n return appropriateMouseInteraction;\n }\n if (tooltipState.keyboardInteraction.active) {\n return tooltipState.keyboardInteraction;\n }\n if (tooltipState.syncInteraction.active && tooltipState.syncInteraction.index != null) {\n return tooltipState.syncInteraction;\n }\n var activeFromProps = tooltipState.settings.active === true;\n if (hasBeenActivePreviously(appropriateMouseInteraction)) {\n if (activeFromProps) {\n return _objectSpread18(_objectSpread18({}, appropriateMouseInteraction), {}, {\n active: true\n });\n }\n } else if (defaultIndex != null) {\n return {\n active: true,\n coordinate: void 0,\n dataKey: void 0,\n index: defaultIndex,\n graphicalItemId: void 0\n };\n }\n return _objectSpread18(_objectSpread18({}, noInteraction), {}, {\n coordinate: appropriateMouseInteraction.coordinate\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineActiveTooltipIndex.js\n function toFiniteNumber(value) {\n if (typeof value === \"number\") {\n return Number.isFinite(value) ? value : void 0;\n }\n if (value instanceof Date) {\n var numericValue = value.valueOf();\n return Number.isFinite(numericValue) ? numericValue : void 0;\n }\n var parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : void 0;\n }\n function isValueWithinNumberDomain(value, domain) {\n var numericValue = toFiniteNumber(value);\n var lowerBound = domain[0];\n var upperBound = domain[1];\n if (numericValue === void 0) {\n return false;\n }\n var min3 = Math.min(lowerBound, upperBound);\n var max3 = Math.max(lowerBound, upperBound);\n return numericValue >= min3 && numericValue <= max3;\n }\n function isValueWithinDomain(entry, axisDataKey, domain) {\n if (domain == null || axisDataKey == null) {\n return true;\n }\n var value = getValueByDataKey(entry, axisDataKey);\n if (value == null) {\n return true;\n }\n if (!isWellFormedNumberDomain(domain)) {\n return true;\n }\n return isValueWithinNumberDomain(value, domain);\n }\n var combineActiveTooltipIndex = (tooltipInteraction, chartData, axisDataKey, domain) => {\n var desiredIndex = tooltipInteraction === null || tooltipInteraction === void 0 ? void 0 : tooltipInteraction.index;\n if (desiredIndex == null) {\n return null;\n }\n var indexAsNumber = Number(desiredIndex);\n if (!isWellBehavedNumber(indexAsNumber)) {\n return desiredIndex;\n }\n var lowerLimit = 0;\n var upperLimit = Infinity;\n if (chartData.length > 0) {\n upperLimit = chartData.length - 1;\n }\n var clampedIndex = Math.max(lowerLimit, Math.min(indexAsNumber, upperLimit));\n var entry = chartData[clampedIndex];\n if (entry == null) {\n return String(clampedIndex);\n }\n if (!isValueWithinDomain(entry, axisDataKey, domain)) {\n return null;\n }\n return String(clampedIndex);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineCoordinateForDefaultIndex.js\n var combineCoordinateForDefaultIndex = (width, height, layout, offset4, tooltipTicks, defaultIndex, tooltipConfigurations) => {\n if (defaultIndex == null) {\n return void 0;\n }\n var firstConfiguration = tooltipConfigurations[0];\n var maybePosition = firstConfiguration === null || firstConfiguration === void 0 ? void 0 : firstConfiguration.getPosition(defaultIndex);\n if (maybePosition != null) {\n return maybePosition;\n }\n var tick = tooltipTicks === null || tooltipTicks === void 0 ? void 0 : tooltipTicks[Number(defaultIndex)];\n if (!tick) {\n return void 0;\n }\n switch (layout) {\n case \"horizontal\": {\n return {\n x: tick.coordinate,\n y: (offset4.top + height) / 2\n };\n }\n default: {\n return {\n x: (offset4.left + width) / 2,\n y: tick.coordinate\n };\n }\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipPayloadConfigurations.js\n var combineTooltipPayloadConfigurations = (tooltipState, tooltipEventType, trigger, defaultIndex) => {\n if (tooltipEventType === \"axis\") {\n return tooltipState.tooltipItemPayloads;\n }\n if (tooltipState.tooltipItemPayloads.length === 0) {\n return [];\n }\n var filterByGraphicalItemId;\n if (trigger === \"hover\") {\n filterByGraphicalItemId = tooltipState.itemInteraction.hover.graphicalItemId;\n } else {\n filterByGraphicalItemId = tooltipState.itemInteraction.click.graphicalItemId;\n }\n if (tooltipState.syncInteraction.active && filterByGraphicalItemId == null) {\n return tooltipState.tooltipItemPayloads;\n }\n if (filterByGraphicalItemId == null && defaultIndex != null) {\n var firstItemPayload = tooltipState.tooltipItemPayloads[0];\n if (firstItemPayload != null) {\n return [firstItemPayload];\n }\n return [];\n }\n return tooltipState.tooltipItemPayloads.filter((tpc) => {\n var _tpc$settings;\n return ((_tpc$settings = tpc.settings) === null || _tpc$settings === void 0 ? void 0 : _tpc$settings.graphicalItemId) === filterByGraphicalItemId;\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipPayloadSearcher.js\n var selectTooltipPayloadSearcher = (state2) => state2.options.tooltipPayloadSearcher;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectTooltipState.js\n var selectTooltipState = (state2) => state2.tooltip;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineTooltipPayload.js\n function ownKeys19(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread19(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys19(Object(t2), true).forEach(function(r3) {\n _defineProperty19(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys19(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty19(e, r2, t2) {\n return (r2 = _toPropertyKey19(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey19(t2) {\n var i = _toPrimitive19(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive19(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function parseName(value) {\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value;\n }\n return void 0;\n }\n function parseUnit(value) {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return value;\n }\n return void 0;\n }\n function parseDataKey(value) {\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"function\") {\n return (obj) => value(obj);\n }\n return void 0;\n }\n function parseColor(value) {\n if (typeof value === \"string\") {\n return value;\n }\n return void 0;\n }\n function parseTooltipPayloadItem(item) {\n if (item == null || typeof item !== \"object\") {\n return void 0;\n }\n var name = \"name\" in item ? parseName(item.name) : void 0;\n var unit2 = \"unit\" in item ? parseUnit(item.unit) : void 0;\n var dataKey = \"dataKey\" in item ? parseDataKey(item.dataKey) : void 0;\n var payload = \"payload\" in item ? item.payload : void 0;\n var color2 = \"color\" in item ? parseColor(item.color) : void 0;\n var fill = \"fill\" in item ? parseColor(item.fill) : void 0;\n return {\n name,\n unit: unit2,\n dataKey,\n payload,\n color: color2,\n fill\n };\n }\n function selectFinalData(dataDefinedOnItem, dataDefinedOnChart) {\n if (dataDefinedOnItem != null) {\n return dataDefinedOnItem;\n }\n return dataDefinedOnChart;\n }\n var combineTooltipPayload = (tooltipPayloadConfigurations, activeIndex, chartDataState, tooltipAxisDataKey, activeLabel, tooltipPayloadSearcher, tooltipEventType) => {\n if (activeIndex == null || tooltipPayloadSearcher == null) {\n return void 0;\n }\n var {\n chartData,\n computedData,\n dataStartIndex,\n dataEndIndex\n } = chartDataState;\n var init = [];\n return tooltipPayloadConfigurations.reduce((agg, _ref2) => {\n var _settings$dataKey;\n var {\n dataDefinedOnItem,\n settings\n } = _ref2;\n var finalData = selectFinalData(dataDefinedOnItem, chartData);\n var sliced = Array.isArray(finalData) ? getSliced(finalData, dataStartIndex, dataEndIndex) : finalData;\n var finalDataKey = (_settings$dataKey = settings === null || settings === void 0 ? void 0 : settings.dataKey) !== null && _settings$dataKey !== void 0 ? _settings$dataKey : tooltipAxisDataKey;\n var finalNameKey = settings === null || settings === void 0 ? void 0 : settings.nameKey;\n var tooltipPayload;\n if (tooltipAxisDataKey && Array.isArray(sliced) && /*\n * findEntryInArray won't work for Scatter because Scatter provides an array of arrays\n * as tooltip payloads and findEntryInArray is not prepared to handle that.\n * Sad but also ScatterChart only allows 'item' tooltipEventType\n * and also this is only a problem if there are multiple Scatters and each has its own data array\n * so let's fix that some other time.\n */\n !Array.isArray(sliced[0]) && /*\n * If the tooltipEventType is 'axis', we should search for the dataKey in the sliced data\n * because thanks to allowDuplicatedCategory=false, the order of elements in the array\n * no longer matches the order of elements in the original data\n * and so we need to search by the active dataKey + label rather than by index.\n *\n * The same happens if multiple graphical items are present in the chart\n * and each of them has its own data array. Those arrays get concatenated\n * and again the tooltip index no longer matches the original data.\n *\n * On the other hand the tooltipEventType 'item' should always search by index\n * because we get the index from interacting over the individual elements\n * which is always accurate, irrespective of the allowDuplicatedCategory setting.\n */\n tooltipEventType === \"axis\") {\n tooltipPayload = findEntryInArray(sliced, tooltipAxisDataKey, activeLabel);\n } else {\n tooltipPayload = tooltipPayloadSearcher(sliced, activeIndex, computedData, finalNameKey);\n }\n if (Array.isArray(tooltipPayload)) {\n tooltipPayload.forEach((item) => {\n var _parsedItem$color, _parsedItem$fill;\n var parsedItem = parseTooltipPayloadItem(item);\n var itemName = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.name;\n var itemDataKey = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.dataKey;\n var itemPayload = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.payload;\n var newSettings = _objectSpread19(_objectSpread19({}, settings), {}, {\n name: itemName,\n unit: parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.unit,\n // Preserve item-level color/fill from graphical items.\n color: (_parsedItem$color = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.color) !== null && _parsedItem$color !== void 0 ? _parsedItem$color : settings === null || settings === void 0 ? void 0 : settings.color,\n fill: (_parsedItem$fill = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.fill) !== null && _parsedItem$fill !== void 0 ? _parsedItem$fill : settings === null || settings === void 0 ? void 0 : settings.fill\n });\n agg.push(getTooltipEntry({\n tooltipEntrySettings: newSettings,\n dataKey: itemDataKey,\n payload: itemPayload,\n value: getValueByDataKey(itemPayload, itemDataKey),\n name: itemName == null ? void 0 : String(itemName)\n }));\n });\n } else {\n var _getValueByDataKey;\n agg.push(getTooltipEntry({\n tooltipEntrySettings: settings,\n dataKey: finalDataKey,\n payload: tooltipPayload,\n // getValueByDataKey does not validate the output type\n value: getValueByDataKey(tooltipPayload, finalDataKey),\n // getValueByDataKey does not validate the output type\n name: (_getValueByDataKey = getValueByDataKey(tooltipPayload, finalNameKey)) !== null && _getValueByDataKey !== void 0 ? _getValueByDataKey : settings === null || settings === void 0 ? void 0 : settings.name\n }));\n }\n return agg;\n }, init);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/tooltipSelectors.js\n var selectTooltipAxisRealScaleType = createSelector([selectTooltipAxis, selectHasBar, selectChartName], combineRealScaleType);\n var selectAllUnfilteredGraphicalItems = createSelector([(state2) => state2.graphicalItems.cartesianItems, (state2) => state2.graphicalItems.polarItems], (cartesianItems, polarItems) => [...cartesianItems, ...polarItems]);\n var selectTooltipAxisPredicate = createSelector([selectTooltipAxisType, selectTooltipAxisId], itemAxisPredicate);\n var selectAllGraphicalItemsSettings = createSelector([selectAllUnfilteredGraphicalItems, selectTooltipAxis, selectTooltipAxisPredicate], combineGraphicalItemsSettings, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectAllStackedGraphicalItemsSettings = createSelector([selectAllGraphicalItemsSettings], (graphicalItems) => graphicalItems.filter(isStacked));\n var selectTooltipGraphicalItemsData = createSelector([selectAllGraphicalItemsSettings], combineGraphicalItemsData, {\n memoizeOptions: {\n resultEqualityCheck: emptyArraysAreEqualCheck\n }\n });\n var selectTooltipDisplayedData = createSelector([selectTooltipGraphicalItemsData, selectChartDataWithIndexes], combineDisplayedData);\n var selectTooltipStackedData = createSelector([selectAllStackedGraphicalItemsSettings, selectChartDataWithIndexes, selectTooltipAxis], combineDisplayedStackedData);\n var selectAllTooltipAppliedValues = createSelector([selectTooltipDisplayedData, selectTooltipAxis, selectAllGraphicalItemsSettings], combineAppliedValues);\n var selectTooltipAxisDomainDefinition = createSelector([selectTooltipAxis], getDomainDefinition);\n var selectTooltipDataOverflow = createSelector([selectTooltipAxis], (axisSettings) => axisSettings.allowDataOverflow);\n var selectTooltipDomainFromUserPreferences = createSelector([selectTooltipAxisDomainDefinition, selectTooltipDataOverflow], numericalDomainSpecifiedWithoutRequiringData);\n var selectAllStackedGraphicalItems = createSelector([selectAllGraphicalItemsSettings], (graphicalItems) => graphicalItems.filter(isStacked));\n var selectTooltipStackGroups = createSelector([selectTooltipStackedData, selectAllStackedGraphicalItems, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var selectTooltipDomainOfStackGroups = createSelector([selectTooltipStackGroups, selectChartDataWithIndexes, selectTooltipAxisType, selectTooltipDomainFromUserPreferences], combineDomainOfStackGroups);\n var selectTooltipItemsSettingsExceptStacked = createSelector([selectAllGraphicalItemsSettings], filterGraphicalNotStackedItems);\n var selectDomainOfAllAppliedNumericalValuesIncludingErrorValues2 = createSelector([selectTooltipDisplayedData, selectTooltipAxis, selectTooltipItemsSettingsExceptStacked, selectAllErrorBarSettings, selectTooltipAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues, {\n memoizeOptions: {\n resultEqualityCheck: numberDomainEqualityCheck\n }\n });\n var selectReferenceDotsByTooltipAxis = createSelector([selectReferenceDots, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceDotsDomain = createSelector([selectReferenceDotsByTooltipAxis, selectTooltipAxisType], combineDotsDomain);\n var selectReferenceAreasByTooltipAxis = createSelector([selectReferenceAreas, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceAreasDomain = createSelector([selectReferenceAreasByTooltipAxis, selectTooltipAxisType], combineAreasDomain);\n var selectReferenceLinesByTooltipAxis = createSelector([selectReferenceLines, selectTooltipAxisType, selectTooltipAxisId], filterReferenceElements);\n var selectTooltipReferenceLinesDomain = createSelector([selectReferenceLinesByTooltipAxis, selectTooltipAxisType], combineLinesDomain);\n var selectTooltipReferenceElementsDomain = createSelector([selectTooltipReferenceDotsDomain, selectTooltipReferenceLinesDomain, selectTooltipReferenceAreasDomain], mergeDomains);\n var selectTooltipNumericalDomain = createSelector([selectTooltipAxis, selectTooltipAxisDomainDefinition, selectTooltipDomainFromUserPreferences, selectTooltipDomainOfStackGroups, selectDomainOfAllAppliedNumericalValuesIncludingErrorValues2, selectTooltipReferenceElementsDomain, selectChartLayout, selectTooltipAxisType], combineNumericalDomain);\n var selectTooltipAxisDomain = createSelector([selectTooltipAxis, selectChartLayout, selectTooltipDisplayedData, selectAllTooltipAppliedValues, selectStackOffsetType, selectTooltipAxisType, selectTooltipNumericalDomain], combineAxisDomain);\n var selectTooltipNiceTicks = createSelector([selectTooltipAxisDomain, selectTooltipAxis, selectTooltipAxisRealScaleType], combineNiceTicks);\n var selectTooltipAxisDomainIncludingNiceTicks = createSelector([selectTooltipAxis, selectTooltipAxisDomain, selectTooltipNiceTicks, selectTooltipAxisType], combineAxisDomainWithNiceTicks);\n var selectTooltipAxisRange = (state2) => {\n var axisType = selectTooltipAxisType(state2);\n var axisId = selectTooltipAxisId(state2);\n var isPanorama = false;\n return selectAxisRange(state2, axisType, axisId, isPanorama);\n };\n var selectTooltipAxisRangeWithReverse = createSelector([selectTooltipAxis, selectTooltipAxisRange], combineAxisRangeWithReverse);\n var selectTooltipConfiguredScale = createSelector([selectTooltipAxis, selectTooltipAxisRealScaleType, selectTooltipAxisDomainIncludingNiceTicks, selectTooltipAxisRangeWithReverse], combineConfiguredScale);\n var selectTooltipAxisScale = createSelector([selectTooltipConfiguredScale], rechartsScaleFactory);\n var selectTooltipDuplicateDomain = createSelector([selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType], combineDuplicateDomain);\n var selectTooltipCategoricalDomain = createSelector([selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType], combineCategoricalDomain);\n var combineTicksOfTooltipAxis = (layout, axis, realScaleType, scale, range4, duplicateDomain, categoricalDomain, axisType) => {\n if (!axis) {\n return void 0;\n }\n var {\n type\n } = axis;\n var isCategorical = isCategoricalAxis(layout, axisType);\n if (!scale) {\n return void 0;\n }\n var offsetForBand = realScaleType === \"scaleBand\" && scale.bandwidth ? scale.bandwidth() / 2 : 2;\n var offset4 = type === \"category\" && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset4 = axisType === \"angleAxis\" && range4 != null && (range4 === null || range4 === void 0 ? void 0 : range4.length) >= 2 ? mathSign(range4[0] - range4[1]) * 2 * offset4 : offset4;\n if (isCategorical && categoricalDomain) {\n return categoricalDomain.map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n value: entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n }\n return scale.domain().map((entry, index2) => {\n var scaled = scale.map(entry);\n if (!isWellBehavedNumber(scaled)) {\n return null;\n }\n return {\n coordinate: scaled + offset4,\n // @ts-expect-error can't use Date as an index\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index2,\n offset: offset4\n };\n }).filter(isNotNil);\n };\n var selectTooltipAxisTicks = createSelector([selectChartLayout, selectTooltipAxis, selectTooltipAxisRealScaleType, selectTooltipAxisScale, selectTooltipAxisRange, selectTooltipDuplicateDomain, selectTooltipCategoricalDomain, selectTooltipAxisType], combineTicksOfTooltipAxis);\n var selectTooltipEventType2 = createSelector([selectDefaultTooltipEventType, selectValidateTooltipEventTypes, selectTooltipSettings], (defaultTooltipEventType, validateTooltipEventType, settings) => combineTooltipEventType(settings.shared, defaultTooltipEventType, validateTooltipEventType));\n var selectTooltipTrigger = (state2) => state2.tooltip.settings.trigger;\n var selectDefaultIndex = (state2) => state2.tooltip.settings.defaultIndex;\n var selectTooltipInteractionState = createSelector([selectTooltipState, selectTooltipEventType2, selectTooltipTrigger, selectDefaultIndex], combineTooltipInteractionState);\n var selectActiveTooltipIndex = createSelector([selectTooltipInteractionState, selectTooltipDisplayedData, selectTooltipAxisDataKey, selectTooltipAxisDomain], combineActiveTooltipIndex);\n var selectActiveLabel = createSelector([selectTooltipAxisTicks, selectActiveTooltipIndex], combineActiveLabel);\n var selectActiveTooltipDataKey = createSelector([selectTooltipInteractionState], (tooltipInteraction) => {\n if (!tooltipInteraction) {\n return void 0;\n }\n return tooltipInteraction.dataKey;\n });\n var selectActiveTooltipGraphicalItemId = createSelector([selectTooltipInteractionState], (tooltipInteraction) => {\n if (!tooltipInteraction) {\n return void 0;\n }\n return tooltipInteraction.graphicalItemId;\n });\n var selectTooltipPayloadConfigurations = createSelector([selectTooltipState, selectTooltipEventType2, selectTooltipTrigger, selectDefaultIndex], combineTooltipPayloadConfigurations);\n var selectTooltipCoordinateForDefaultIndex = createSelector([selectChartWidth, selectChartHeight, selectChartLayout, selectChartOffsetInternal, selectTooltipAxisTicks, selectDefaultIndex, selectTooltipPayloadConfigurations], combineCoordinateForDefaultIndex);\n var selectActiveTooltipCoordinate = createSelector([selectTooltipInteractionState, selectTooltipCoordinateForDefaultIndex], (tooltipInteractionState, defaultIndexCoordinate) => {\n if (tooltipInteractionState !== null && tooltipInteractionState !== void 0 && tooltipInteractionState.coordinate) {\n return tooltipInteractionState.coordinate;\n }\n return defaultIndexCoordinate;\n });\n var selectIsTooltipActive = createSelector([selectTooltipInteractionState], (tooltipInteractionState) => {\n var _tooltipInteractionSt;\n return (_tooltipInteractionSt = tooltipInteractionState === null || tooltipInteractionState === void 0 ? void 0 : tooltipInteractionState.active) !== null && _tooltipInteractionSt !== void 0 ? _tooltipInteractionSt : false;\n });\n var selectActiveTooltipPayload = createSelector([selectTooltipPayloadConfigurations, selectActiveTooltipIndex, selectChartDataWithIndexes, selectTooltipAxisDataKey, selectActiveLabel, selectTooltipPayloadSearcher, selectTooltipEventType2], combineTooltipPayload);\n var selectActiveTooltipDataPoints = createSelector([selectActiveTooltipPayload], (payload) => {\n if (payload == null) {\n return void 0;\n }\n var dataPoints = payload.map((p) => p.payload).filter((p) => p != null);\n return Array.from(new Set(dataPoints));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/useTooltipAxis.js\n function ownKeys20(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread20(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys20(Object(t2), true).forEach(function(r3) {\n _defineProperty20(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys20(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty20(e, r2, t2) {\n return (r2 = _toPropertyKey20(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey20(t2) {\n var i = _toPrimitive20(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive20(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var useTooltipAxis = () => useAppSelector(selectTooltipAxis);\n var useTooltipAxisBandSize = () => {\n var tooltipAxis = useTooltipAxis();\n var tooltipTicks = useAppSelector(selectTooltipAxisTicks);\n var tooltipAxisScale = useAppSelector(selectTooltipAxisScale);\n if (!tooltipAxis || !tooltipAxisScale) {\n return getBandSizeOfAxis(void 0, tooltipTicks);\n }\n return getBandSizeOfAxis(_objectSpread20(_objectSpread20({}, tooltipAxis), {}, {\n scale: tooltipAxisScale\n }), tooltipTicks);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectors.js\n var import_sortBy4 = __toESM(require_sortBy2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getActiveCoordinate.js\n function ownKeys21(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread21(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys21(Object(t2), true).forEach(function(r3) {\n _defineProperty21(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys21(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty21(e, r2, t2) {\n return (r2 = _toPropertyKey21(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey21(t2) {\n var i = _toPrimitive21(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive21(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getActiveCartesianCoordinate = (layout, tooltipTicks, activeIndex, pointer) => {\n var entry = tooltipTicks.find((tick) => tick && tick.index === activeIndex);\n if (entry) {\n if (layout === \"horizontal\") {\n return {\n x: entry.coordinate,\n y: pointer.relativeY\n };\n }\n if (layout === \"vertical\") {\n return {\n x: pointer.relativeX,\n y: entry.coordinate\n };\n }\n }\n return {\n x: 0,\n y: 0\n };\n };\n var getActivePolarCoordinate = (layout, tooltipTicks, activeIndex, rangeObj) => {\n var entry = tooltipTicks.find((tick) => tick && tick.index === activeIndex);\n if (entry) {\n if (layout === \"centric\") {\n var _angle = entry.coordinate;\n var {\n radius: _radius\n } = rangeObj;\n return _objectSpread21(_objectSpread21(_objectSpread21({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n var radius = entry.coordinate;\n var {\n angle\n } = rangeObj;\n return _objectSpread21(_objectSpread21(_objectSpread21({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle,\n radius\n });\n }\n return {\n angle: 0,\n clockWise: false,\n cx: 0,\n cy: 0,\n endAngle: 0,\n innerRadius: 0,\n outerRadius: 0,\n radius: 0,\n startAngle: 0,\n x: 0,\n y: 0\n };\n };\n function isInCartesianRange(pointer, offset4) {\n var {\n relativeX: x2,\n relativeY: y2\n } = pointer;\n return x2 >= offset4.left && x2 <= offset4.left + offset4.width && y2 >= offset4.top && y2 <= offset4.top + offset4.height;\n }\n var calculateActiveTickIndex = (coordinate, ticks2, unsortedTicks, axisType, range4) => {\n var _ticks$length;\n var len = (_ticks$length = ticks2 === null || ticks2 === void 0 ? void 0 : ticks2.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n if (len <= 1 || coordinate == null) {\n return 0;\n }\n if (axisType === \"angleAxis\" && range4 != null && Math.abs(Math.abs(range4[1] - range4[0]) - 360) <= 1e-6) {\n for (var i = 0; i < len; i++) {\n var _unsortedTicks, _unsortedTicks2, _unsortedTicks$i, _unsortedTicks$, _unsortedTicks3;\n var before = i > 0 ? (_unsortedTicks = unsortedTicks[i - 1]) === null || _unsortedTicks === void 0 ? void 0 : _unsortedTicks.coordinate : (_unsortedTicks2 = unsortedTicks[len - 1]) === null || _unsortedTicks2 === void 0 ? void 0 : _unsortedTicks2.coordinate;\n var cur = (_unsortedTicks$i = unsortedTicks[i]) === null || _unsortedTicks$i === void 0 ? void 0 : _unsortedTicks$i.coordinate;\n var after = i >= len - 1 ? (_unsortedTicks$ = unsortedTicks[0]) === null || _unsortedTicks$ === void 0 ? void 0 : _unsortedTicks$.coordinate : (_unsortedTicks3 = unsortedTicks[i + 1]) === null || _unsortedTicks3 === void 0 ? void 0 : _unsortedTicks3.coordinate;\n var sameDirectionCoord = void 0;\n if (before == null || cur == null || after == null) {\n continue;\n }\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n if (mathSign(after - cur) === mathSign(range4[1] - range4[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range4[1] - range4[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range4[1] - range4[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n var _unsortedTicks$i2;\n return (_unsortedTicks$i2 = unsortedTicks[i]) === null || _unsortedTicks$i2 === void 0 ? void 0 : _unsortedTicks$i2.index;\n }\n } else {\n var minValue = Math.min(before, after);\n var maxValue = Math.max(before, after);\n if (coordinate > (minValue + cur) / 2 && coordinate <= (maxValue + cur) / 2) {\n var _unsortedTicks$i3;\n return (_unsortedTicks$i3 = unsortedTicks[i]) === null || _unsortedTicks$i3 === void 0 ? void 0 : _unsortedTicks$i3.index;\n }\n }\n }\n } else if (ticks2) {\n for (var _i = 0; _i < len; _i++) {\n var curr = ticks2[_i];\n if (curr == null) {\n continue;\n }\n var next2 = ticks2[_i + 1];\n var prev = ticks2[_i - 1];\n if (_i === 0 && next2 != null && coordinate <= (curr.coordinate + next2.coordinate) / 2) {\n return curr.index;\n }\n if (_i === len - 1 && prev != null && coordinate > (curr.coordinate + prev.coordinate) / 2) {\n return curr.index;\n }\n if (_i > 0 && _i < len - 1 && prev != null && next2 != null && coordinate > (curr.coordinate + prev.coordinate) / 2 && coordinate <= (curr.coordinate + next2.coordinate) / 2) {\n return curr.index;\n }\n }\n }\n return -1;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectors.js\n var useChartName = () => {\n return useAppSelector(selectChartName);\n };\n var pickTooltipEventType = (_state, tooltipEventType) => tooltipEventType;\n var pickTrigger = (_state, _tooltipEventType, trigger) => trigger;\n var pickDefaultIndex = (_state, _tooltipEventType, _trigger, defaultIndex) => defaultIndex;\n var selectOrderedTooltipTicks = createSelector(selectTooltipAxisTicks, (ticks2) => (0, import_sortBy4.default)(ticks2, (o) => o.coordinate));\n var selectTooltipInteractionState2 = createSelector([selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex], combineTooltipInteractionState);\n var selectActiveIndex = createSelector([selectTooltipInteractionState2, selectTooltipDisplayedData, selectTooltipAxisDataKey, selectTooltipAxisDomain], combineActiveTooltipIndex);\n var selectTooltipDataKey = (state2, tooltipEventType, trigger) => {\n if (tooltipEventType == null) {\n return void 0;\n }\n var tooltipState = selectTooltipState(state2);\n if (tooltipEventType === \"axis\") {\n if (trigger === \"hover\") {\n return tooltipState.axisInteraction.hover.dataKey;\n }\n return tooltipState.axisInteraction.click.dataKey;\n }\n if (trigger === \"hover\") {\n return tooltipState.itemInteraction.hover.dataKey;\n }\n return tooltipState.itemInteraction.click.dataKey;\n };\n var selectTooltipPayloadConfigurations2 = createSelector([selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex], combineTooltipPayloadConfigurations);\n var selectCoordinateForDefaultIndex = createSelector([selectChartWidth, selectChartHeight, selectChartLayout, selectChartOffsetInternal, selectTooltipAxisTicks, pickDefaultIndex, selectTooltipPayloadConfigurations2], combineCoordinateForDefaultIndex);\n var selectActiveCoordinate = createSelector([selectTooltipInteractionState2, selectCoordinateForDefaultIndex], (tooltipInteractionState, defaultIndexCoordinate) => {\n var _tooltipInteractionSt;\n return (_tooltipInteractionSt = tooltipInteractionState.coordinate) !== null && _tooltipInteractionSt !== void 0 ? _tooltipInteractionSt : defaultIndexCoordinate;\n });\n var selectActiveLabel2 = createSelector([selectTooltipAxisTicks, selectActiveIndex], combineActiveLabel);\n var selectTooltipPayload = createSelector([selectTooltipPayloadConfigurations2, selectActiveIndex, selectChartDataWithIndexes, selectTooltipAxisDataKey, selectActiveLabel2, selectTooltipPayloadSearcher, pickTooltipEventType], combineTooltipPayload);\n var selectIsTooltipActive2 = createSelector([selectTooltipInteractionState2, selectActiveIndex], (tooltipInteractionState, activeIndex) => {\n return {\n isActive: tooltipInteractionState.active && activeIndex != null,\n activeIndex\n };\n });\n var combineActiveCartesianProps = (chartEvent, layout, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4) => {\n if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {\n return void 0;\n }\n if (!isInCartesianRange(chartEvent, offset4)) {\n return void 0;\n }\n var pos = calculateCartesianTooltipPos(chartEvent, layout);\n var activeIndex = calculateActiveTickIndex(pos, orderedTooltipTicks, tooltipTicks, tooltipAxisType, tooltipAxisRange);\n var activeCoordinate = getActiveCartesianCoordinate(layout, tooltipTicks, activeIndex, chartEvent);\n return {\n activeIndex: String(activeIndex),\n activeCoordinate\n };\n };\n var combineActivePolarProps = (chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks) => {\n if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks || !polarViewBox) {\n return void 0;\n }\n var rangeObj = inRangeOfSector(chartEvent, polarViewBox);\n if (!rangeObj) {\n return void 0;\n }\n var pos = calculatePolarTooltipPos(rangeObj, layout);\n var activeIndex = calculateActiveTickIndex(pos, orderedTooltipTicks, tooltipTicks, tooltipAxisType, tooltipAxisRange);\n var activeCoordinate = getActivePolarCoordinate(layout, tooltipTicks, activeIndex, rangeObj);\n return {\n activeIndex: String(activeIndex),\n activeCoordinate\n };\n };\n var combineActiveProps = (chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4) => {\n if (!chartEvent || !layout || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {\n return void 0;\n }\n if (layout === \"horizontal\" || layout === \"vertical\") {\n return combineActiveCartesianProps(chartEvent, layout, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks, offset4);\n }\n return combineActivePolarProps(chartEvent, layout, polarViewBox, tooltipAxisType, tooltipAxisRange, tooltipTicks, orderedTooltipTicks);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexLayer.js\n var import_react28 = __toESM(require_react());\n var import_react_dom4 = __toESM(require_react_dom());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/zIndexSelectors.js\n var selectZIndexPortalElement = createSelector((state2) => state2.zIndex.zIndexMap, (_, zIndex) => zIndex, (_, _zIndex, isPanorama) => isPanorama, (zIndexMap, zIndex, isPanorama) => {\n if (zIndex == null) {\n return void 0;\n }\n var entry = zIndexMap[zIndex];\n if (entry == null) {\n return void 0;\n }\n if (isPanorama) {\n return entry.panoramaElement;\n }\n return entry.element;\n });\n var selectAllRegisteredZIndexes = createSelector((state2) => state2.zIndex.zIndexMap, (zIndexMap) => {\n var allNumbers = Object.keys(zIndexMap).map((zIndexStr) => parseInt(zIndexStr, 10)).concat(Object.values(DefaultZIndexes));\n var uniqueNumbers = Array.from(new Set(allNumbers));\n return uniqueNumbers.sort((a2, b) => a2 - b);\n }, {\n memoizeOptions: {\n resultEqualityCheck: arrayContentsAreEqualCheck\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/zIndexSlice.js\n function ownKeys22(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread22(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys22(Object(t2), true).forEach(function(r3) {\n _defineProperty22(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys22(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty22(e, r2, t2) {\n return (r2 = _toPropertyKey22(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey22(t2) {\n var i = _toPrimitive22(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive22(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var seed = {};\n var initialState4 = {\n zIndexMap: Object.values(DefaultZIndexes).reduce((acc, current3) => _objectSpread22(_objectSpread22({}, acc), {}, {\n [current3]: {\n element: void 0,\n panoramaElement: void 0,\n consumers: 0\n }\n }), seed)\n };\n var defaultZIndexSet = new Set(Object.values(DefaultZIndexes));\n function isDefaultZIndex(zIndex) {\n return defaultZIndexSet.has(zIndex);\n }\n var zIndexSlice = createSlice({\n name: \"zIndex\",\n initialState: initialState4,\n reducers: {\n registerZIndexPortal: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n state2.zIndexMap[zIndex].consumers += 1;\n } else {\n state2.zIndexMap[zIndex] = {\n consumers: 1,\n element: void 0,\n panoramaElement: void 0\n };\n }\n },\n prepare: prepareAutoBatched()\n },\n unregisterZIndexPortal: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n state2.zIndexMap[zIndex].consumers -= 1;\n if (state2.zIndexMap[zIndex].consumers <= 0 && !isDefaultZIndex(zIndex)) {\n delete state2.zIndexMap[zIndex];\n }\n }\n },\n prepare: prepareAutoBatched()\n },\n registerZIndexPortalElement: {\n reducer: (state2, action) => {\n var {\n zIndex,\n element,\n isPanorama\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n if (isPanorama) {\n state2.zIndexMap[zIndex].panoramaElement = castDraft(element);\n } else {\n state2.zIndexMap[zIndex].element = castDraft(element);\n }\n } else {\n state2.zIndexMap[zIndex] = {\n consumers: 0,\n element: isPanorama ? void 0 : castDraft(element),\n panoramaElement: isPanorama ? castDraft(element) : void 0\n };\n }\n },\n prepare: prepareAutoBatched()\n },\n unregisterZIndexPortalElement: {\n reducer: (state2, action) => {\n var {\n zIndex\n } = action.payload;\n if (state2.zIndexMap[zIndex]) {\n if (action.payload.isPanorama) {\n state2.zIndexMap[zIndex].panoramaElement = void 0;\n } else {\n state2.zIndexMap[zIndex].element = void 0;\n }\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n registerZIndexPortal,\n unregisterZIndexPortal,\n registerZIndexPortalElement,\n unregisterZIndexPortalElement\n } = zIndexSlice.actions;\n var zIndexReducer = zIndexSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexLayer.js\n function ZIndexLayer(_ref2) {\n var {\n zIndex,\n children\n } = _ref2;\n var isInChartContext = useIsInChartContext();\n var shouldRenderInPortal = isInChartContext && zIndex !== void 0 && zIndex !== 0;\n var isPanorama = useIsPanorama();\n var dispatch = useAppDispatch();\n (0, import_react28.useLayoutEffect)(() => {\n if (!shouldRenderInPortal) {\n return noop4;\n }\n dispatch(registerZIndexPortal({\n zIndex\n }));\n return () => {\n dispatch(unregisterZIndexPortal({\n zIndex\n }));\n };\n }, [dispatch, zIndex, shouldRenderInPortal]);\n var portalElement = useAppSelector((state2) => selectZIndexPortalElement(state2, zIndex, isPanorama));\n if (!shouldRenderInPortal) {\n return children;\n }\n if (!portalElement) {\n return null;\n }\n return /* @__PURE__ */ (0, import_react_dom4.createPortal)(children, portalElement);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cursor.js\n function _extends12() {\n return _extends12 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends12.apply(null, arguments);\n }\n function ownKeys23(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread23(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys23(Object(t2), true).forEach(function(r3) {\n _defineProperty23(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys23(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty23(e, r2, t2) {\n return (r2 = _toPropertyKey23(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey23(t2) {\n var i = _toPrimitive23(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive23(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function RenderCursor(_ref2) {\n var {\n cursor,\n cursorComp,\n cursorProps\n } = _ref2;\n if (/* @__PURE__ */ (0, import_react29.isValidElement)(cursor)) {\n return /* @__PURE__ */ (0, import_react29.cloneElement)(cursor, cursorProps);\n }\n return /* @__PURE__ */ (0, import_react29.createElement)(cursorComp, cursorProps);\n }\n function CursorInternal(props) {\n var _props$zIndex;\n var {\n coordinate,\n payload,\n index: index2,\n offset: offset4,\n tooltipAxisBandSize,\n layout,\n cursor,\n tooltipEventType,\n chartName\n } = props;\n var activeCoordinate = coordinate;\n var activePayload = payload;\n var activeTooltipIndex = index2;\n if (!cursor || !activeCoordinate || chartName !== \"ScatterChart\" && tooltipEventType !== \"axis\") {\n return null;\n }\n var restProps, cursorComp, preferredZIndex;\n if (chartName === \"ScatterChart\") {\n restProps = activeCoordinate;\n cursorComp = Cross;\n preferredZIndex = DefaultZIndexes.cursorLine;\n } else if (chartName === \"BarChart\") {\n restProps = getCursorRectangle(layout, activeCoordinate, offset4, tooltipAxisBandSize);\n cursorComp = Rectangle;\n preferredZIndex = DefaultZIndexes.cursorRectangle;\n } else if (layout === \"radial\" && isPolarCoordinate(activeCoordinate)) {\n var {\n cx: cx2,\n cy,\n radius,\n startAngle,\n endAngle\n } = getRadialCursorPoints(activeCoordinate);\n restProps = {\n cx: cx2,\n cy,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n preferredZIndex = DefaultZIndexes.cursorLine;\n } else {\n restProps = {\n points: getCursorPoints(layout, activeCoordinate, offset4)\n };\n cursorComp = Curve;\n preferredZIndex = DefaultZIndexes.cursorLine;\n }\n var extraClassName = typeof cursor === \"object\" && \"className\" in cursor ? cursor.className : void 0;\n var cursorProps = _objectSpread23(_objectSpread23(_objectSpread23(_objectSpread23({\n stroke: \"#ccc\",\n pointerEvents: \"none\"\n }, offset4), restProps), svgPropertiesNoEventsFromUnknown(cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n className: clsx(\"recharts-tooltip-cursor\", extraClassName)\n });\n return /* @__PURE__ */ React79.createElement(ZIndexLayer, {\n zIndex: (_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : preferredZIndex\n }, /* @__PURE__ */ React79.createElement(RenderCursor, {\n cursor,\n cursorComp,\n cursorProps\n }));\n }\n function Cursor(props) {\n var tooltipAxisBandSize = useTooltipAxisBandSize();\n var offset4 = useOffsetInternal();\n var layout = useChartLayout();\n var chartName = useChartName();\n if (tooltipAxisBandSize == null || offset4 == null || layout == null || chartName == null) {\n return null;\n }\n return /* @__PURE__ */ React79.createElement(CursorInternal, _extends12({}, props, {\n offset: offset4,\n layout,\n tooltipAxisBandSize,\n chartName\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/tooltipPortalContext.js\n var import_react30 = __toESM(require_react());\n var TooltipPortalContext = /* @__PURE__ */ (0, import_react30.createContext)(null);\n var useTooltipPortal = () => (0, import_react30.useContext)(TooltipPortalContext);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/useChartSynchronisation.js\n var import_react31 = __toESM(require_react());\n\n // ../../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs\n var import_index2 = __toESM(require_eventemitter3(), 1);\n var eventemitter3_default = import_index2.default;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/Events.js\n var eventCenter = new eventemitter3_default();\n var TOOLTIP_SYNC_EVENT = \"recharts.syncEvent.tooltip\";\n var BRUSH_SYNC_EVENT = \"recharts.syncEvent.brush\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/optionsSlice.js\n var arrayTooltipSearcher = (data, strIndex) => {\n if (!strIndex) return void 0;\n if (!Array.isArray(data)) return void 0;\n var numIndex = Number.parseInt(strIndex, 10);\n if (isNan(numIndex)) {\n return void 0;\n }\n return data[numIndex];\n };\n var initialState5 = {\n chartName: \"\",\n tooltipPayloadSearcher: () => void 0,\n eventEmitter: void 0,\n defaultTooltipEventType: \"axis\"\n };\n var optionsSlice = createSlice({\n name: \"options\",\n initialState: initialState5,\n reducers: {\n createEventEmitter: (state2) => {\n if (state2.eventEmitter == null) {\n state2.eventEmitter = /* @__PURE__ */ Symbol(\"rechartsEventEmitter\");\n }\n }\n }\n });\n var optionsReducer = optionsSlice.reducer;\n var {\n createEventEmitter\n } = optionsSlice.actions;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/syncSelectors.js\n function selectSynchronisedTooltipState(state2) {\n return state2.tooltip.syncInteraction;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/chartDataSlice.js\n var initialChartDataState = {\n chartData: void 0,\n computedData: void 0,\n dataStartIndex: 0,\n dataEndIndex: 0\n };\n var chartDataSlice = createSlice({\n name: \"chartData\",\n initialState: initialChartDataState,\n reducers: {\n setChartData(state2, action) {\n state2.chartData = castDraft(action.payload);\n if (action.payload == null) {\n state2.dataStartIndex = 0;\n state2.dataEndIndex = 0;\n return;\n }\n if (action.payload.length > 0 && state2.dataEndIndex !== action.payload.length - 1) {\n state2.dataEndIndex = action.payload.length - 1;\n }\n },\n setComputedData(state2, action) {\n state2.computedData = action.payload;\n },\n setDataStartEndIndexes(state2, action) {\n var {\n startIndex,\n endIndex\n } = action.payload;\n if (startIndex != null) {\n state2.dataStartIndex = startIndex;\n }\n if (endIndex != null) {\n state2.dataEndIndex = endIndex;\n }\n }\n }\n });\n var {\n setChartData,\n setDataStartEndIndexes,\n setComputedData\n } = chartDataSlice.actions;\n var chartDataReducer = chartDataSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/synchronisation/useChartSynchronisation.js\n var _excluded7 = [\"x\", \"y\"];\n function ownKeys24(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread24(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys24(Object(t2), true).forEach(function(r3) {\n _defineProperty24(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys24(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty24(e, r2, t2) {\n return (r2 = _toPropertyKey24(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey24(t2) {\n var i = _toPrimitive24(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive24(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties7(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose7(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose7(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function useTooltipSyncEventsListener() {\n var mySyncId = useAppSelector(selectSyncId);\n var myEventEmitter = useAppSelector(selectEventEmitter);\n var dispatch = useAppDispatch();\n var syncMethod = useAppSelector(selectSyncMethod);\n var tooltipTicks = useAppSelector(selectTooltipAxisTicks);\n var layout = useChartLayout();\n var viewBox = useViewBox();\n var className = useAppSelector((state2) => state2.rootProps.className);\n (0, import_react31.useEffect)(() => {\n if (mySyncId == null) {\n return noop4;\n }\n var listener2 = (incomingSyncId, action, emitter) => {\n if (myEventEmitter === emitter) {\n return;\n }\n if (mySyncId !== incomingSyncId) {\n return;\n }\n if (syncMethod === \"index\") {\n var _action$payload;\n if (viewBox && action !== null && action !== void 0 && (_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.coordinate && action.payload.sourceViewBox) {\n var _action$payload$coord = action.payload.coordinate, {\n x: _x,\n y: _y\n } = _action$payload$coord, otherCoordinateProps = _objectWithoutProperties7(_action$payload$coord, _excluded7);\n var {\n x: sourceX,\n y: sourceY,\n width: sourceWidth,\n height: sourceHeight\n } = action.payload.sourceViewBox;\n var scaledCoordinate = _objectSpread24(_objectSpread24({}, otherCoordinateProps), {}, {\n x: viewBox.x + (sourceWidth ? (_x - sourceX) / sourceWidth : 0) * viewBox.width,\n y: viewBox.y + (sourceHeight ? (_y - sourceY) / sourceHeight : 0) * viewBox.height\n });\n dispatch(_objectSpread24(_objectSpread24({}, action), {}, {\n payload: _objectSpread24(_objectSpread24({}, action.payload), {}, {\n coordinate: scaledCoordinate\n })\n }));\n } else {\n dispatch(action);\n }\n return;\n }\n if (tooltipTicks == null) {\n return;\n }\n var activeTick;\n if (typeof syncMethod === \"function\") {\n var syncMethodParam = {\n activeTooltipIndex: action.payload.index == null ? void 0 : Number(action.payload.index),\n isTooltipActive: action.payload.active,\n activeIndex: action.payload.index == null ? void 0 : Number(action.payload.index),\n activeLabel: action.payload.label,\n activeDataKey: action.payload.dataKey,\n activeCoordinate: action.payload.coordinate\n };\n var activeTooltipIndex = syncMethod(tooltipTicks, syncMethodParam);\n activeTick = tooltipTicks[activeTooltipIndex];\n } else if (syncMethod === \"value\") {\n activeTick = tooltipTicks.find((tick) => String(tick.value) === action.payload.label);\n }\n var {\n coordinate\n } = action.payload;\n if (activeTick == null || action.payload.active === false || coordinate == null || viewBox == null) {\n dispatch(setSyncInteraction({\n active: false,\n coordinate: void 0,\n dataKey: void 0,\n index: null,\n label: void 0,\n sourceViewBox: void 0,\n graphicalItemId: void 0\n }));\n return;\n }\n var {\n x: x2,\n y: y2\n } = coordinate;\n var validateChartX = Math.min(x2, viewBox.x + viewBox.width);\n var validateChartY = Math.min(y2, viewBox.y + viewBox.height);\n var activeCoordinate = {\n x: layout === \"horizontal\" ? activeTick.coordinate : validateChartX,\n y: layout === \"horizontal\" ? validateChartY : activeTick.coordinate\n };\n var syncAction = setSyncInteraction({\n active: action.payload.active,\n coordinate: activeCoordinate,\n dataKey: action.payload.dataKey,\n index: String(activeTick.index),\n label: action.payload.label,\n sourceViewBox: action.payload.sourceViewBox,\n graphicalItemId: action.payload.graphicalItemId\n });\n dispatch(syncAction);\n };\n eventCenter.on(TOOLTIP_SYNC_EVENT, listener2);\n return () => {\n eventCenter.off(TOOLTIP_SYNC_EVENT, listener2);\n };\n }, [className, dispatch, myEventEmitter, mySyncId, syncMethod, tooltipTicks, layout, viewBox]);\n }\n function useBrushSyncEventsListener() {\n var mySyncId = useAppSelector(selectSyncId);\n var myEventEmitter = useAppSelector(selectEventEmitter);\n var dispatch = useAppDispatch();\n (0, import_react31.useEffect)(() => {\n if (mySyncId == null) {\n return noop4;\n }\n var listener2 = (incomingSyncId, action, emitter) => {\n if (myEventEmitter === emitter) {\n return;\n }\n if (mySyncId === incomingSyncId) {\n dispatch(setDataStartEndIndexes(action));\n }\n };\n eventCenter.on(BRUSH_SYNC_EVENT, listener2);\n return () => {\n eventCenter.off(BRUSH_SYNC_EVENT, listener2);\n };\n }, [dispatch, myEventEmitter, mySyncId]);\n }\n function useSynchronisedEventsFromOtherCharts() {\n var dispatch = useAppDispatch();\n (0, import_react31.useEffect)(() => {\n dispatch(createEventEmitter());\n }, [dispatch]);\n useTooltipSyncEventsListener();\n useBrushSyncEventsListener();\n }\n function useTooltipChartSynchronisation(tooltipEventType, trigger, activeCoordinate, activeLabel, activeIndex, isTooltipActive) {\n var activeDataKey = useAppSelector((state2) => selectTooltipDataKey(state2, tooltipEventType, trigger));\n var activeGraphicalItemId = useAppSelector(selectActiveTooltipGraphicalItemId);\n var eventEmitterSymbol = useAppSelector(selectEventEmitter);\n var syncId = useAppSelector(selectSyncId);\n var syncMethod = useAppSelector(selectSyncMethod);\n var tooltipState = useAppSelector(selectSynchronisedTooltipState);\n var isReceivingSynchronisation = tooltipState === null || tooltipState === void 0 ? void 0 : tooltipState.active;\n var viewBox = useViewBox();\n (0, import_react31.useEffect)(() => {\n if (isReceivingSynchronisation) {\n return;\n }\n if (syncId == null) {\n return;\n }\n if (eventEmitterSymbol == null) {\n return;\n }\n var syncAction = setSyncInteraction({\n active: isTooltipActive,\n coordinate: activeCoordinate,\n dataKey: activeDataKey,\n index: activeIndex,\n label: typeof activeLabel === \"number\" ? String(activeLabel) : activeLabel,\n sourceViewBox: viewBox,\n graphicalItemId: activeGraphicalItemId\n });\n eventCenter.emit(TOOLTIP_SYNC_EVENT, syncId, syncAction, eventEmitterSymbol);\n }, [isReceivingSynchronisation, activeCoordinate, activeDataKey, activeGraphicalItemId, activeIndex, activeLabel, eventEmitterSymbol, syncId, syncMethod, isTooltipActive, viewBox]);\n }\n function useBrushChartSynchronisation() {\n var syncId = useAppSelector(selectSyncId);\n var eventEmitterSymbol = useAppSelector(selectEventEmitter);\n var brushStartIndex = useAppSelector((state2) => state2.chartData.dataStartIndex);\n var brushEndIndex = useAppSelector((state2) => state2.chartData.dataEndIndex);\n (0, import_react31.useEffect)(() => {\n if (syncId == null || brushStartIndex == null || brushEndIndex == null || eventEmitterSymbol == null) {\n return;\n }\n var syncAction = {\n startIndex: brushStartIndex,\n endIndex: brushEndIndex\n };\n eventCenter.emit(BRUSH_SYNC_EVENT, syncId, syncAction, eventEmitterSymbol);\n }, [brushEndIndex, brushStartIndex, eventEmitterSymbol, syncId]);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Tooltip.js\n function ownKeys25(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread25(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys25(Object(t2), true).forEach(function(r3) {\n _defineProperty25(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys25(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty25(e, r2, t2) {\n return (r2 = _toPropertyKey25(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey25(t2) {\n var i = _toPrimitive25(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive25(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultUniqBy2(entry) {\n return entry.dataKey;\n }\n function renderContent(content, props) {\n if (/* @__PURE__ */ React80.isValidElement(content)) {\n return /* @__PURE__ */ React80.cloneElement(content, props);\n }\n if (typeof content === \"function\") {\n return /* @__PURE__ */ React80.createElement(content, props);\n }\n return /* @__PURE__ */ React80.createElement(DefaultTooltipContent, props);\n }\n var emptyPayload = [];\n var defaultTooltipProps = {\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n animationDuration: 400,\n animationEasing: \"ease\",\n axisId: 0,\n contentStyle: {},\n cursor: true,\n filterNull: true,\n includeHidden: false,\n isAnimationActive: \"auto\",\n itemSorter: \"name\",\n itemStyle: {},\n labelStyle: {},\n offset: 10,\n reverseDirection: {\n x: false,\n y: false\n },\n separator: \" : \",\n trigger: \"hover\",\n useTranslate3d: false,\n wrapperStyle: {}\n };\n function Tooltip3(outsideProps) {\n var _useAppSelector, _ref2;\n var props = resolveDefaultProps(outsideProps, defaultTooltipProps);\n var {\n active: activeFromProps,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n content,\n filterNull,\n isAnimationActive,\n offset: offset4,\n payloadUniqBy,\n position: position2,\n reverseDirection,\n useTranslate3d,\n wrapperStyle,\n cursor,\n shared,\n trigger,\n defaultIndex,\n portal: portalFromProps,\n axisId\n } = props;\n var dispatch = useAppDispatch();\n var defaultIndexAsString = typeof defaultIndex === \"number\" ? String(defaultIndex) : defaultIndex;\n (0, import_react32.useEffect)(() => {\n dispatch(setTooltipSettingsState({\n shared,\n trigger,\n axisId,\n active: activeFromProps,\n defaultIndex: defaultIndexAsString\n }));\n }, [dispatch, shared, trigger, axisId, activeFromProps, defaultIndexAsString]);\n var viewBox = useViewBox();\n var accessibilityLayer = useAccessibilityLayer();\n var tooltipEventType = useTooltipEventType(shared);\n var {\n activeIndex,\n isActive\n } = (_useAppSelector = useAppSelector((state2) => selectIsTooltipActive2(state2, tooltipEventType, trigger, defaultIndexAsString))) !== null && _useAppSelector !== void 0 ? _useAppSelector : {};\n var payloadFromRedux = useAppSelector((state2) => selectTooltipPayload(state2, tooltipEventType, trigger, defaultIndexAsString));\n var labelFromRedux = useAppSelector((state2) => selectActiveLabel2(state2, tooltipEventType, trigger, defaultIndexAsString));\n var coordinate = useAppSelector((state2) => selectActiveCoordinate(state2, tooltipEventType, trigger, defaultIndexAsString));\n var payload = payloadFromRedux;\n var tooltipPortalFromContext = useTooltipPortal();\n var finalIsActive = (_ref2 = activeFromProps !== null && activeFromProps !== void 0 ? activeFromProps : isActive) !== null && _ref2 !== void 0 ? _ref2 : false;\n var [lastBoundingBox, updateBoundingBox] = useElementOffset([payload, finalIsActive]);\n var finalLabel = tooltipEventType === \"axis\" ? labelFromRedux : void 0;\n useTooltipChartSynchronisation(tooltipEventType, trigger, coordinate, finalLabel, activeIndex, finalIsActive);\n var tooltipPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : tooltipPortalFromContext;\n if (tooltipPortal == null || viewBox == null || tooltipEventType == null) {\n return null;\n }\n var finalPayload = payload !== null && payload !== void 0 ? payload : emptyPayload;\n if (!finalIsActive) {\n finalPayload = emptyPayload;\n }\n if (filterNull && finalPayload.length) {\n finalPayload = getUniqPayload(finalPayload.filter((entry) => entry.value != null && (entry.hide !== true || props.includeHidden)), payloadUniqBy, defaultUniqBy2);\n }\n var hasPayload = finalPayload.length > 0;\n var tooltipContentProps = _objectSpread25(_objectSpread25({}, props), {}, {\n payload: finalPayload,\n label: finalLabel,\n active: finalIsActive,\n activeIndex,\n coordinate,\n accessibilityLayer\n });\n var tooltipElement = /* @__PURE__ */ React80.createElement(TooltipBoundingBox, {\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n isAnimationActive,\n active: finalIsActive,\n coordinate,\n hasPayload,\n offset: offset4,\n position: position2,\n reverseDirection,\n useTranslate3d,\n viewBox,\n wrapperStyle,\n lastBoundingBox,\n innerRef: updateBoundingBox,\n hasPortalFromProps: Boolean(portalFromProps)\n }, renderContent(content, tooltipContentProps));\n return /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ (0, import_react_dom5.createPortal)(tooltipElement, tooltipPortal), finalIsActive && /* @__PURE__ */ React80.createElement(Cursor, {\n cursor,\n tooltipEventType,\n coordinate,\n payload: finalPayload,\n index: activeIndex\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Cell.js\n var Cell = (_props) => null;\n Cell.displayName = \"Cell\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Text.js\n var React81 = __toESM(require_react());\n var import_react33 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/LRUCache.js\n function _defineProperty26(e, r2, t2) {\n return (r2 = _toPropertyKey26(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey26(t2) {\n var i = _toPrimitive26(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive26(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var LRUCache = class {\n constructor(maxSize) {\n _defineProperty26(this, \"cache\", /* @__PURE__ */ new Map());\n this.maxSize = maxSize;\n }\n get(key) {\n var value = this.cache.get(key);\n if (value !== void 0) {\n this.cache.delete(key);\n this.cache.set(key, value);\n }\n return value;\n }\n set(key, value) {\n if (this.cache.has(key)) {\n this.cache.delete(key);\n } else if (this.cache.size >= this.maxSize) {\n var firstKey = this.cache.keys().next().value;\n if (firstKey != null) {\n this.cache.delete(firstKey);\n }\n }\n this.cache.set(key, value);\n }\n clear() {\n this.cache.clear();\n }\n size() {\n return this.cache.size;\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/DOMUtils.js\n function ownKeys26(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread26(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys26(Object(t2), true).forEach(function(r3) {\n _defineProperty27(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys26(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty27(e, r2, t2) {\n return (r2 = _toPropertyKey27(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey27(t2) {\n var i = _toPrimitive27(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive27(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultConfig = {\n cacheSize: 2e3,\n enableCache: true\n };\n var currentConfig = _objectSpread26({}, defaultConfig);\n var stringCache = new LRUCache(currentConfig.cacheSize);\n var SPAN_STYLE = {\n position: \"absolute\",\n top: \"-20000px\",\n left: 0,\n padding: 0,\n margin: 0,\n border: \"none\",\n whiteSpace: \"pre\"\n };\n var MEASUREMENT_SPAN_ID = \"recharts_measurement_span\";\n function createCacheKey(text, style) {\n var fontSize = style.fontSize || \"\";\n var fontFamily = style.fontFamily || \"\";\n var fontWeight = style.fontWeight || \"\";\n var fontStyle = style.fontStyle || \"\";\n var letterSpacing = style.letterSpacing || \"\";\n var textTransform = style.textTransform || \"\";\n return \"\".concat(text, \"|\").concat(fontSize, \"|\").concat(fontFamily, \"|\").concat(fontWeight, \"|\").concat(fontStyle, \"|\").concat(letterSpacing, \"|\").concat(textTransform);\n }\n var measureTextWithDOM = (text, style) => {\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n if (!measurementSpan) {\n measurementSpan = document.createElement(\"span\");\n measurementSpan.setAttribute(\"id\", MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(measurementSpan);\n }\n Object.assign(measurementSpan.style, SPAN_STYLE, style);\n measurementSpan.textContent = \"\".concat(text);\n var rect = measurementSpan.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height\n };\n } catch (_unused) {\n return {\n width: 0,\n height: 0\n };\n }\n };\n var getStringSize = function getStringSize2(text) {\n var style = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (text === void 0 || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n if (!currentConfig.enableCache) {\n return measureTextWithDOM(text, style);\n }\n var cacheKey = createCacheKey(text, style);\n var cachedResult = stringCache.get(cacheKey);\n if (cachedResult) {\n return cachedResult;\n }\n var result = measureTextWithDOM(text, style);\n stringCache.set(cacheKey, result);\n return result;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ReduceCSSCalc.js\n var _DecimalCSS;\n function _defineProperty28(e, r2, t2) {\n return (r2 = _toPropertyKey28(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey28(t2) {\n var i = _toPrimitive28(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive28(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\n var ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\n var CSS_LENGTH_UNIT_REGEX = /^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/;\n var NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\n var CONVERSION_RATES = {\n cm: 96 / 2.54,\n mm: 96 / 25.4,\n pt: 96 / 72,\n pc: 96 / 6,\n in: 96,\n Q: 96 / (2.54 * 40),\n px: 1\n };\n var FIXED_CSS_LENGTH_UNITS = [\"cm\", \"mm\", \"pt\", \"pc\", \"in\", \"Q\", \"px\"];\n function isSupportedUnit(unit2) {\n return FIXED_CSS_LENGTH_UNITS.includes(unit2);\n }\n var STR_NAN = \"NaN\";\n function convertToPx(value, unit2) {\n return value * CONVERSION_RATES[unit2];\n }\n var DecimalCSS = class _DecimalCSS2 {\n static parse(str) {\n var _NUM_SPLIT_REGEX$exec;\n var [, numStr, unit2] = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [];\n if (numStr == null) {\n return _DecimalCSS2.NaN;\n }\n return new _DecimalCSS2(parseFloat(numStr), unit2 !== null && unit2 !== void 0 ? unit2 : \"\");\n }\n constructor(num, unit2) {\n this.num = num;\n this.unit = unit2;\n this.num = num;\n this.unit = unit2;\n if (isNan(num)) {\n this.unit = \"\";\n }\n if (unit2 !== \"\" && !CSS_LENGTH_UNIT_REGEX.test(unit2)) {\n this.num = NaN;\n this.unit = \"\";\n }\n if (isSupportedUnit(unit2)) {\n this.num = convertToPx(num, unit2);\n this.unit = \"px\";\n }\n }\n add(other) {\n if (this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num + other.num, this.unit);\n }\n subtract(other) {\n if (this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num - other.num, this.unit);\n }\n multiply(other) {\n if (this.unit !== \"\" && other.unit !== \"\" && this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num * other.num, this.unit || other.unit);\n }\n divide(other) {\n if (this.unit !== \"\" && other.unit !== \"\" && this.unit !== other.unit) {\n return new _DecimalCSS2(NaN, \"\");\n }\n return new _DecimalCSS2(this.num / other.num, this.unit || other.unit);\n }\n toString() {\n return \"\".concat(this.num).concat(this.unit);\n }\n isNaN() {\n return isNan(this.num);\n }\n };\n _DecimalCSS = DecimalCSS;\n _defineProperty28(DecimalCSS, \"NaN\", new _DecimalCSS(NaN, \"\"));\n function calculateArithmetic(expr) {\n if (expr == null || expr.includes(STR_NAN)) {\n return STR_NAN;\n }\n var newExpr = expr;\n while (newExpr.includes(\"*\") || newExpr.includes(\"/\")) {\n var _MULTIPLY_OR_DIVIDE_R;\n var [, leftOperand, operator, rightOperand] = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [];\n var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : \"\");\n var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : \"\");\n var result = operator === \"*\" ? lTs.multiply(rTs) : lTs.divide(rTs);\n if (result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n }\n while (newExpr.includes(\"+\") || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n var _ADD_OR_SUBTRACT_REGE;\n var [, _leftOperand, _operator, _rightOperand] = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [];\n var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : \"\");\n var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : \"\");\n var _result = _operator === \"+\" ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n if (_result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n }\n return newExpr;\n }\n var PARENTHESES_REGEX = /\\(([^()]*)\\)/;\n function calculateParentheses(expr) {\n var newExpr = expr;\n var match2;\n while ((match2 = PARENTHESES_REGEX.exec(newExpr)) != null) {\n var [, parentheticalExpression] = match2;\n newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n }\n return newExpr;\n }\n function evaluateExpression(expression) {\n var newExpr = expression.replace(/\\s+/g, \"\");\n newExpr = calculateParentheses(newExpr);\n newExpr = calculateArithmetic(newExpr);\n return newExpr;\n }\n function safeEvaluateExpression(expression) {\n try {\n return evaluateExpression(expression);\n } catch (_unused) {\n return STR_NAN;\n }\n }\n function reduceCSSCalc(expression) {\n var result = safeEvaluateExpression(expression.slice(5, -1));\n if (result === STR_NAN) {\n return \"\";\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Text.js\n var _excluded8 = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"fill\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\"];\n var _excluded23 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\n function _extends13() {\n return _extends13 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends13.apply(null, arguments);\n }\n function _objectWithoutProperties8(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose8(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose8(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n var calculateWordWidths = (_ref2) => {\n var {\n children,\n breakAll,\n style\n } = _ref2;\n try {\n var words = [];\n if (!isNullish(children)) {\n if (breakAll) {\n words = children.toString().split(\"\");\n } else {\n words = children.toString().split(BREAKING_SPACES);\n }\n }\n var wordsWithComputedWidth = words.map((word) => ({\n word,\n width: getStringSize(word, style).width\n }));\n var spaceWidth = breakAll ? 0 : getStringSize(\"\\xA0\", style).width;\n return {\n wordsWithComputedWidth,\n spaceWidth\n };\n } catch (_unused) {\n return null;\n }\n };\n function isValidTextAnchor(value) {\n return value === \"start\" || value === \"middle\" || value === \"end\" || value === \"inherit\";\n }\n function isRenderableText(val) {\n return isNullish(val) || typeof val === \"string\" || typeof val === \"number\" || typeof val === \"boolean\";\n }\n var calculate = (words, lineWidth, spaceWidth, scaleToFit) => words.reduce((result, _ref2) => {\n var {\n word,\n width\n } = _ref2;\n var currentLine = result[result.length - 1];\n if (currentLine && width != null && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n var newLine = {\n words: [word],\n width\n };\n result.push(newLine);\n }\n return result;\n }, []);\n var findLongestLine = (words) => words.reduce((a2, b) => a2.width > b.width ? a2 : b);\n var suffix = \"\\u2026\";\n var checkOverflow = (text, index2, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit) => {\n var tempText = text.slice(0, index2);\n var words = calculateWordWidths({\n breakAll,\n style,\n children: tempText + suffix\n });\n if (!words) {\n return [false, []];\n }\n var result = calculate(words.wordsWithComputedWidth, lineWidth, spaceWidth, scaleToFit);\n var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n return [doesOverflow, result];\n };\n var calculateWordsByLines = (_ref3, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) => {\n var {\n maxLines,\n children,\n style,\n breakAll\n } = _ref3;\n var shouldLimitLines = isNumber3(maxLines);\n var text = String(children);\n var originalResult = calculate(initialWordsWithComputedWith, lineWidth, spaceWidth, scaleToFit);\n if (!shouldLimitLines || scaleToFit) {\n return originalResult;\n }\n var overflows = originalResult.length > maxLines || findLongestLine(originalResult).width > Number(lineWidth);\n if (!overflows) {\n return originalResult;\n }\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n var [doesPrevOverflow, result] = checkOverflow(text, prev, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit);\n var [doesMiddleOverflow] = checkOverflow(text, middle, breakAll, style, maxLines, lineWidth, spaceWidth, scaleToFit);\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n iterations++;\n }\n return trimmedResult || originalResult;\n };\n var getWordsWithoutCalculate = (children) => {\n var words = !isNullish(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words,\n width: void 0\n }];\n };\n var getWordsByLines = (_ref4) => {\n var {\n width,\n scaleToFit,\n children,\n style,\n breakAll,\n maxLines\n } = _ref4;\n if ((width || scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n var wordWidths = calculateWordWidths({\n breakAll,\n children,\n style\n });\n if (wordWidths) {\n var {\n wordsWithComputedWidth: wcw,\n spaceWidth: sw\n } = wordWidths;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(children);\n }\n return calculateWordsByLines({\n breakAll,\n children,\n maxLines,\n style\n }, wordsWithComputedWidth, spaceWidth, width, Boolean(scaleToFit));\n }\n return getWordsWithoutCalculate(children);\n };\n var DEFAULT_FILL = \"#808080\";\n var textDefaultProps = {\n angle: 0,\n breakAll: false,\n // Magic number from d3\n capHeight: \"0.71em\",\n fill: DEFAULT_FILL,\n lineHeight: \"1em\",\n scaleToFit: false,\n textAnchor: \"start\",\n // Maintain compat with existing charts / default SVG behavior\n verticalAnchor: \"end\",\n x: 0,\n y: 0\n };\n var Text = /* @__PURE__ */ (0, import_react33.forwardRef)((outsideProps, ref) => {\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, textDefaultProps), {\n x: propsX,\n y: propsY,\n lineHeight,\n capHeight,\n fill,\n scaleToFit,\n textAnchor,\n verticalAnchor\n } = _resolveDefaultProps, props = _objectWithoutProperties8(_resolveDefaultProps, _excluded8);\n var wordsByLines = (0, import_react33.useMemo)(() => {\n return getWordsByLines({\n breakAll: props.breakAll,\n children: props.children,\n maxLines: props.maxLines,\n scaleToFit,\n style: props.style,\n width: props.width\n });\n }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n var {\n dx,\n dy,\n angle,\n className,\n breakAll\n } = props, textProps = _objectWithoutProperties8(props, _excluded23);\n if (!isNumOrStr(propsX) || !isNumOrStr(propsY) || wordsByLines.length === 0) {\n return null;\n }\n var x2 = Number(propsX) + (isNumber3(dx) ? dx : 0);\n var y2 = Number(propsY) + (isNumber3(dy) ? dy : 0);\n if (!isWellBehavedNumber(x2) || !isWellBehavedNumber(y2)) {\n return null;\n }\n var startDy;\n switch (verticalAnchor) {\n case \"start\":\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n case \"middle\":\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n var transforms = [];\n var firstLine = wordsByLines[0];\n if (scaleToFit && firstLine != null) {\n var lineWidth = firstLine.width;\n var {\n width\n } = props;\n transforms.push(\"scale(\".concat(isNumber3(width) && isNumber3(lineWidth) ? width / lineWidth : 1, \")\"));\n }\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x2, \", \").concat(y2, \")\"));\n }\n if (transforms.length) {\n textProps.transform = transforms.join(\" \");\n }\n return /* @__PURE__ */ React81.createElement(\"text\", _extends13({}, svgPropertiesAndEvents(textProps), {\n ref,\n x: x2,\n y: y2,\n className: clsx(\"recharts-text\", className),\n textAnchor,\n fill: fill.includes(\"url\") ? DEFAULT_FILL : fill\n }), wordsByLines.map((line, index2) => {\n var words = line.words.join(breakAll ? \"\" : \" \");\n return (\n // duplicate words will cause duplicate keys which is why we add the array index here\n /* @__PURE__ */ React81.createElement(\"tspan\", {\n x: x2,\n dy: index2 === 0 ? startDy : lineHeight,\n key: \"\".concat(words, \"-\").concat(index2)\n }, words)\n );\n }));\n });\n Text.displayName = \"Text\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Label.js\n var React82 = __toESM(require_react());\n var import_react34 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getCartesianPosition.js\n function ownKeys27(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread27(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys27(Object(t2), true).forEach(function(r3) {\n _defineProperty29(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys27(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty29(e, r2, t2) {\n return (r2 = _toPropertyKey29(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey29(t2) {\n var i = _toPrimitive29(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive29(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getCartesianPosition = (options2) => {\n var {\n viewBox,\n position: position2,\n offset: offset4 = 0,\n parentViewBox: parentViewBoxFromOptions,\n clamp: clamp3\n } = options2;\n var {\n x: x2,\n y: y2,\n height,\n upperWidth,\n lowerWidth\n } = cartesianViewBoxToTrapezoid(viewBox);\n var upperX = x2;\n var lowerX = x2 + (upperWidth - lowerWidth) / 2;\n var middleX = (upperX + lowerX) / 2;\n var midHeightWidth = (upperWidth + lowerWidth) / 2;\n var centerX = upperX + upperWidth / 2;\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset4;\n var verticalEnd = verticalSign > 0 ? \"end\" : \"start\";\n var verticalStart = verticalSign > 0 ? \"start\" : \"end\";\n var horizontalSign = upperWidth >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset4;\n var horizontalEnd = horizontalSign > 0 ? \"end\" : \"start\";\n var horizontalStart = horizontalSign > 0 ? \"start\" : \"end\";\n var parentViewBox = parentViewBoxFromOptions;\n if (position2 === \"top\") {\n var result = {\n x: upperX + upperWidth / 2,\n y: y2 - verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalEnd\n };\n if (clamp3 && parentViewBox) {\n result.height = Math.max(y2 - parentViewBox.y, 0);\n result.width = upperWidth;\n }\n return result;\n }\n if (position2 === \"bottom\") {\n var _result = {\n x: lowerX + lowerWidth / 2,\n y: y2 + height + verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalStart\n };\n if (clamp3 && parentViewBox) {\n _result.height = Math.max(parentViewBox.y + parentViewBox.height - (y2 + height), 0);\n _result.width = lowerWidth;\n }\n return _result;\n }\n if (position2 === \"left\") {\n var _result2 = {\n x: middleX - horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: \"middle\"\n };\n if (clamp3 && parentViewBox) {\n _result2.width = Math.max(_result2.x - parentViewBox.x, 0);\n _result2.height = height;\n }\n return _result2;\n }\n if (position2 === \"right\") {\n var _result3 = {\n x: middleX + midHeightWidth + horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalStart,\n verticalAnchor: \"middle\"\n };\n if (clamp3 && parentViewBox) {\n _result3.width = Math.max(parentViewBox.x + parentViewBox.width - _result3.x, 0);\n _result3.height = height;\n }\n return _result3;\n }\n var sizeAttrs = clamp3 && parentViewBox ? {\n width: midHeightWidth,\n height\n } : {};\n if (position2 === \"insideLeft\") {\n return _objectSpread27({\n x: middleX + horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalStart,\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n }\n if (position2 === \"insideRight\") {\n return _objectSpread27({\n x: middleX + midHeightWidth - horizontalOffset,\n y: y2 + height / 2,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n }\n if (position2 === \"insideTop\") {\n return _objectSpread27({\n x: upperX + upperWidth / 2,\n y: y2 + verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideBottom\") {\n return _objectSpread27({\n x: lowerX + lowerWidth / 2,\n y: y2 + height - verticalOffset,\n horizontalAnchor: \"middle\",\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position2 === \"insideTopLeft\") {\n return _objectSpread27({\n x: upperX + horizontalOffset,\n y: y2 + verticalOffset,\n horizontalAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideTopRight\") {\n return _objectSpread27({\n x: upperX + upperWidth - horizontalOffset,\n y: y2 + verticalOffset,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position2 === \"insideBottomLeft\") {\n return _objectSpread27({\n x: lowerX + horizontalOffset,\n y: y2 + height - verticalOffset,\n horizontalAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position2 === \"insideBottomRight\") {\n return _objectSpread27({\n x: lowerX + lowerWidth - horizontalOffset,\n y: y2 + height - verticalOffset,\n horizontalAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (!!position2 && typeof position2 === \"object\" && (isNumber3(position2.x) || isPercent2(position2.x)) && (isNumber3(position2.y) || isPercent2(position2.y))) {\n return _objectSpread27({\n x: x2 + getPercentValue(position2.x, midHeightWidth),\n y: y2 + getPercentValue(position2.y, height),\n horizontalAnchor: \"end\",\n verticalAnchor: \"end\"\n }, sizeAttrs);\n }\n return _objectSpread27({\n x: centerX,\n y: y2 + height / 2,\n horizontalAnchor: \"middle\",\n verticalAnchor: \"middle\"\n }, sizeAttrs);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Label.js\n var _excluded9 = [\"labelRef\"];\n var _excluded24 = [\"content\"];\n function _objectWithoutProperties9(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose9(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose9(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys28(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread28(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys28(Object(t2), true).forEach(function(r3) {\n _defineProperty30(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys28(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty30(e, r2, t2) {\n return (r2 = _toPropertyKey30(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey30(t2) {\n var i = _toPrimitive30(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive30(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends14() {\n return _extends14 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends14.apply(null, arguments);\n }\n var CartesianLabelContext = /* @__PURE__ */ (0, import_react34.createContext)(null);\n var CartesianLabelContextProvider = (_ref2) => {\n var {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width,\n height,\n children\n } = _ref2;\n var viewBox = (0, import_react34.useMemo)(() => ({\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width,\n height\n }), [x2, y2, upperWidth, lowerWidth, width, height]);\n return /* @__PURE__ */ React82.createElement(CartesianLabelContext.Provider, {\n value: viewBox\n }, children);\n };\n var useCartesianLabelContext = () => {\n var labelChildContext = (0, import_react34.useContext)(CartesianLabelContext);\n var chartContext = useViewBox();\n return labelChildContext || (chartContext ? cartesianViewBoxToTrapezoid(chartContext) : void 0);\n };\n var PolarLabelContext = /* @__PURE__ */ (0, import_react34.createContext)(null);\n var PolarLabelContextProvider = (_ref2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise,\n children\n } = _ref2;\n var viewBox = (0, import_react34.useMemo)(() => ({\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise\n }), [cx2, cy, innerRadius, outerRadius, startAngle, endAngle, clockWise]);\n return /* @__PURE__ */ React82.createElement(PolarLabelContext.Provider, {\n value: viewBox\n }, children);\n };\n var usePolarLabelContext = () => {\n var labelChildContext = (0, import_react34.useContext)(PolarLabelContext);\n var chartContext = useAppSelector(selectPolarViewBox);\n return labelChildContext || chartContext;\n };\n var getLabel2 = (props) => {\n var {\n value,\n formatter\n } = props;\n var label = isNullish(props.children) ? value : props.children;\n if (typeof formatter === \"function\") {\n return formatter(label);\n }\n return label;\n };\n var isLabelContentAFunction = (content) => {\n return content != null && typeof content === \"function\";\n };\n var getDeltaAngle2 = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign2 * deltaAngle;\n };\n var renderRadialLabel = (labelProps, position2, label, attrs, viewBox) => {\n var {\n offset: offset4,\n className\n } = labelProps;\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n clockWise\n } = viewBox;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle2(startAngle, endAngle);\n var sign2 = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n switch (position2) {\n case \"insideStart\":\n labelAngle = startAngle + sign2 * offset4;\n direction = clockWise;\n break;\n case \"insideEnd\":\n labelAngle = endAngle - sign2 * offset4;\n direction = !clockWise;\n break;\n case \"end\":\n labelAngle = endAngle + sign2 * offset4;\n direction = clockWise;\n break;\n default:\n throw new Error(\"Unsupported position \".concat(position2));\n }\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx2, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx2, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path2 = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = isNullish(labelProps.id) ? uniqueId(\"recharts-radial-line-\") : labelProps.id;\n return /* @__PURE__ */ React82.createElement(\"text\", _extends14({}, attrs, {\n dominantBaseline: \"central\",\n className: clsx(\"recharts-radial-bar-label\", className)\n }), /* @__PURE__ */ React82.createElement(\"defs\", null, /* @__PURE__ */ React82.createElement(\"path\", {\n id,\n d: path2\n })), /* @__PURE__ */ React82.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n };\n var getAttrsOfPolarLabel = (viewBox, offset4, position2) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle\n } = viewBox;\n var midAngle = (startAngle + endAngle) / 2;\n if (position2 === \"outside\") {\n var {\n x: _x,\n y: _y\n } = polarToCartesian(cx2, cy, outerRadius + offset4, midAngle);\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx2 ? \"start\" : \"end\",\n verticalAnchor: \"middle\"\n };\n }\n if (position2 === \"center\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"middle\"\n };\n }\n if (position2 === \"centerTop\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"start\"\n };\n }\n if (position2 === \"centerBottom\") {\n return {\n x: cx2,\n y: cy,\n textAnchor: \"middle\",\n verticalAnchor: \"end\"\n };\n }\n var r2 = (innerRadius + outerRadius) / 2;\n var {\n x: x2,\n y: y2\n } = polarToCartesian(cx2, cy, r2, midAngle);\n return {\n x: x2,\n y: y2,\n textAnchor: \"middle\",\n verticalAnchor: \"middle\"\n };\n };\n var isPolar = (viewBox) => viewBox != null && \"cx\" in viewBox && isNumber3(viewBox.cx);\n var defaultLabelProps = {\n angle: 0,\n offset: 5,\n zIndex: DefaultZIndexes.label,\n position: \"middle\",\n textBreakAll: false\n };\n function polarViewBoxToTrapezoid(viewBox) {\n if (!isPolar(viewBox)) {\n return viewBox;\n }\n var {\n cx: cx2,\n cy,\n outerRadius\n } = viewBox;\n var diameter = outerRadius * 2;\n return {\n x: cx2 - outerRadius,\n y: cy - outerRadius,\n width: diameter,\n upperWidth: diameter,\n lowerWidth: diameter,\n height: diameter\n };\n }\n function Label6(outerProps) {\n var props = resolveDefaultProps(outerProps, defaultLabelProps);\n var {\n viewBox: viewBoxFromProps,\n parentViewBox,\n position: position2,\n value,\n children,\n content,\n className = \"\",\n textBreakAll,\n labelRef\n } = props;\n var polarViewBox = usePolarLabelContext();\n var cartesianViewBox = useCartesianLabelContext();\n var resolvedViewBox = position2 === \"center\" ? cartesianViewBox : polarViewBox !== null && polarViewBox !== void 0 ? polarViewBox : cartesianViewBox;\n var viewBox, label, positionAttrs;\n if (viewBoxFromProps == null) {\n viewBox = resolvedViewBox;\n } else if (isPolar(viewBoxFromProps)) {\n viewBox = viewBoxFromProps;\n } else {\n viewBox = cartesianViewBoxToTrapezoid(viewBoxFromProps);\n }\n var cartesianBox = polarViewBoxToTrapezoid(viewBox);\n if (!viewBox || isNullish(value) && isNullish(children) && !/* @__PURE__ */ (0, import_react34.isValidElement)(content) && typeof content !== \"function\") {\n return null;\n }\n var propsWithViewBox = _objectSpread28(_objectSpread28({}, props), {}, {\n viewBox\n });\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(content)) {\n var {\n labelRef: _\n } = propsWithViewBox, propsWithoutLabelRef = _objectWithoutProperties9(propsWithViewBox, _excluded9);\n return /* @__PURE__ */ (0, import_react34.cloneElement)(content, propsWithoutLabelRef);\n }\n if (typeof content === \"function\") {\n var {\n content: _2\n } = propsWithViewBox, propsForContent = _objectWithoutProperties9(propsWithViewBox, _excluded24);\n label = /* @__PURE__ */ (0, import_react34.createElement)(content, propsForContent);\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(label)) {\n return label;\n }\n } else {\n label = getLabel2(props);\n }\n var attrs = svgPropertiesAndEvents(props);\n if (isPolar(viewBox)) {\n if (position2 === \"insideStart\" || position2 === \"insideEnd\" || position2 === \"end\") {\n return renderRadialLabel(props, position2, label, attrs, viewBox);\n }\n positionAttrs = getAttrsOfPolarLabel(viewBox, props.offset, props.position);\n } else {\n if (!cartesianBox) {\n return null;\n }\n var cartesianResult = getCartesianPosition({\n viewBox: cartesianBox,\n position: position2,\n offset: props.offset,\n parentViewBox: isPolar(parentViewBox) ? void 0 : parentViewBox,\n clamp: true\n });\n positionAttrs = _objectSpread28(_objectSpread28({\n x: cartesianResult.x,\n y: cartesianResult.y,\n textAnchor: cartesianResult.horizontalAnchor,\n verticalAnchor: cartesianResult.verticalAnchor\n }, cartesianResult.width !== void 0 ? {\n width: cartesianResult.width\n } : {}), cartesianResult.height !== void 0 ? {\n height: cartesianResult.height\n } : {});\n }\n return /* @__PURE__ */ React82.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React82.createElement(Text, _extends14({\n ref: labelRef,\n className: clsx(\"recharts-label\", className)\n }, attrs, positionAttrs, {\n /*\n * textAnchor is decided by default based on the `position`\n * but we allow overriding via props for precise control.\n */\n textAnchor: isValidTextAnchor(attrs.textAnchor) ? attrs.textAnchor : positionAttrs.textAnchor,\n breakAll: textBreakAll\n }), label));\n }\n Label6.displayName = \"Label\";\n var parseLabel = (label, viewBox, labelRef) => {\n if (!label) {\n return null;\n }\n var commonProps = {\n viewBox,\n labelRef\n };\n if (label === true) {\n return /* @__PURE__ */ React82.createElement(Label6, _extends14({\n key: \"label-implicit\"\n }, commonProps));\n }\n if (isNumOrStr(label)) {\n return /* @__PURE__ */ React82.createElement(Label6, _extends14({\n key: \"label-implicit\",\n value: label\n }, commonProps));\n }\n if (/* @__PURE__ */ (0, import_react34.isValidElement)(label)) {\n if (label.type === Label6) {\n return /* @__PURE__ */ (0, import_react34.cloneElement)(label, _objectSpread28({\n key: \"label-implicit\"\n }, commonProps));\n }\n return /* @__PURE__ */ React82.createElement(Label6, _extends14({\n key: \"label-implicit\",\n content: label\n }, commonProps));\n }\n if (isLabelContentAFunction(label)) {\n return /* @__PURE__ */ React82.createElement(Label6, _extends14({\n key: \"label-implicit\",\n content: label\n }, commonProps));\n }\n if (label && typeof label === \"object\") {\n return /* @__PURE__ */ React82.createElement(Label6, _extends14({}, label, {\n key: \"label-implicit\"\n }, commonProps));\n }\n return null;\n };\n function CartesianLabelFromLabelProp(_ref3) {\n var {\n label,\n labelRef\n } = _ref3;\n var viewBox = useCartesianLabelContext();\n return parseLabel(label, viewBox, labelRef) || null;\n }\n function PolarLabelFromLabelProp(_ref4) {\n var {\n label\n } = _ref4;\n var viewBox = usePolarLabelContext();\n return parseLabel(label, viewBox) || null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/LabelList.js\n var React83 = __toESM(require_react());\n var import_react35 = __toESM(require_react());\n var _excluded10 = [\"valueAccessor\"];\n var _excluded25 = [\"dataKey\", \"clockWise\", \"id\", \"textBreakAll\", \"zIndex\"];\n function _extends15() {\n return _extends15 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends15.apply(null, arguments);\n }\n function _objectWithoutProperties10(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose10(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose10(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var defaultAccessor = (entry) => {\n var val = Array.isArray(entry.value) ? entry.value[entry.value.length - 1] : entry.value;\n if (isRenderableText(val)) {\n return val;\n }\n return void 0;\n };\n var CartesianLabelListContext = /* @__PURE__ */ (0, import_react35.createContext)(void 0);\n var CartesianLabelListContextProvider = CartesianLabelListContext.Provider;\n var PolarLabelListContext = /* @__PURE__ */ (0, import_react35.createContext)(void 0);\n var PolarLabelListContextProvider = PolarLabelListContext.Provider;\n function useCartesianLabelListContext() {\n return (0, import_react35.useContext)(CartesianLabelListContext);\n }\n function usePolarLabelListContext() {\n return (0, import_react35.useContext)(PolarLabelListContext);\n }\n function LabelList(_ref2) {\n var {\n valueAccessor = defaultAccessor\n } = _ref2, restProps = _objectWithoutProperties10(_ref2, _excluded10);\n var {\n dataKey,\n clockWise,\n id,\n textBreakAll,\n zIndex\n } = restProps, others = _objectWithoutProperties10(restProps, _excluded25);\n var cartesianData = useCartesianLabelListContext();\n var polarData = usePolarLabelListContext();\n var data = cartesianData || polarData;\n if (!data || !data.length) {\n return null;\n }\n return /* @__PURE__ */ React83.createElement(ZIndexLayer, {\n zIndex: zIndex !== null && zIndex !== void 0 ? zIndex : DefaultZIndexes.label\n }, /* @__PURE__ */ React83.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map((entry, index2) => {\n var _restProps$fill;\n var value = isNullish(dataKey) ? valueAccessor(entry, index2) : getValueByDataKey(entry.payload, dataKey);\n var idProps = isNullish(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index2)\n };\n return /* @__PURE__ */ React83.createElement(Label6, _extends15({\n key: \"label-\".concat(index2)\n }, svgPropertiesAndEvents(entry), others, idProps, {\n /*\n * Prefer to use the explicit fill from LabelList props.\n * Only in an absence of that, fall back to the fill of the entry.\n * The entry fill can be quite difficult to see especially in Bar, Pie, RadialBar in inside positions.\n * On the other hand it's quite convenient in Scatter, Line, or when the position is outside the Bar, Pie filled shapes.\n */\n fill: (_restProps$fill = restProps.fill) !== null && _restProps$fill !== void 0 ? _restProps$fill : entry.fill,\n parentViewBox: entry.parentViewBox,\n value,\n textBreakAll,\n viewBox: entry.viewBox,\n index: index2,\n zIndex: 0\n }));\n })));\n }\n LabelList.displayName = \"LabelList\";\n function LabelListFromLabelProp(_ref2) {\n var {\n label\n } = _ref2;\n if (!label) {\n return null;\n }\n if (label === true) {\n return /* @__PURE__ */ React83.createElement(LabelList, {\n key: \"labelList-implicit\"\n });\n }\n if (/* @__PURE__ */ React83.isValidElement(label) || isLabelContentAFunction(label)) {\n return /* @__PURE__ */ React83.createElement(LabelList, {\n key: \"labelList-implicit\",\n content: label\n });\n }\n if (typeof label === \"object\") {\n return /* @__PURE__ */ React83.createElement(LabelList, _extends15({\n key: \"labelList-implicit\"\n }, label, {\n type: String(label.type)\n }));\n }\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Polygon.js\n var React84 = __toESM(require_react());\n var _excluded11 = [\"points\", \"className\", \"baseLinePoints\", \"connectNulls\"];\n var _templateObject11;\n function _extends16() {\n return _extends16 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends16.apply(null, arguments);\n }\n function _objectWithoutProperties11(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose11(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose11(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _taggedTemplateLiteral3(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var isValidatePoint = (point4) => {\n return point4 != null && point4.x === +point4.x && point4.y === +point4.y;\n };\n var getParsedPoints = function getParsedPoints2() {\n var points = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n var segmentPoints = [[]];\n points.forEach((entry) => {\n var lastLink2 = segmentPoints[segmentPoints.length - 1];\n if (isValidatePoint(entry)) {\n if (lastLink2) {\n lastLink2.push(entry);\n }\n } else if (lastLink2 && lastLink2.length > 0) {\n segmentPoints.push([]);\n }\n });\n var firstPoint = points[0];\n var lastLink = segmentPoints[segmentPoints.length - 1];\n if (isValidatePoint(firstPoint) && lastLink) {\n lastLink.push(firstPoint);\n }\n var finalLink = segmentPoints[segmentPoints.length - 1];\n if (finalLink && finalLink.length <= 0) {\n segmentPoints = segmentPoints.slice(0, -1);\n }\n return segmentPoints;\n };\n var getSinglePolygonPath = (points, connectNulls) => {\n var segmentPoints = getParsedPoints(points);\n if (connectNulls) {\n segmentPoints = [segmentPoints.reduce((res, segPoints) => {\n return [...res, ...segPoints];\n }, [])];\n }\n var polygonPath = segmentPoints.map((segPoints) => {\n return segPoints.reduce((path2, point4, index2) => {\n return roundTemplateLiteral(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral3([\"\", \"\", \"\", \",\", \"\"])), path2, index2 === 0 ? \"M\" : \"L\", point4.x, point4.y);\n }, \"\");\n }).join(\"\");\n return segmentPoints.length === 1 ? \"\".concat(polygonPath, \"Z\") : polygonPath;\n };\n var getRanglePath = (points, baseLinePoints, connectNulls) => {\n var outerPath = getSinglePolygonPath(points, connectNulls);\n return \"\".concat(outerPath.slice(-1) === \"Z\" ? outerPath.slice(0, -1) : outerPath, \"L\").concat(getSinglePolygonPath(Array.from(baseLinePoints).reverse(), connectNulls).slice(1));\n };\n var Polygon = (props) => {\n var {\n points,\n className,\n baseLinePoints,\n connectNulls\n } = props, others = _objectWithoutProperties11(props, _excluded11);\n if (!points || !points.length) {\n return null;\n }\n var layerClass = clsx(\"recharts-polygon\", className);\n if (baseLinePoints && baseLinePoints.length) {\n var hasStroke = others.stroke && others.stroke !== \"none\";\n var rangePath = getRanglePath(points, baseLinePoints, connectNulls);\n return /* @__PURE__ */ React84.createElement(\"g\", {\n className: layerClass\n }, /* @__PURE__ */ React84.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: rangePath.slice(-1) === \"Z\" ? others.fill : \"none\",\n stroke: \"none\",\n d: rangePath\n })), hasStroke ? /* @__PURE__ */ React84.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: \"none\",\n d: getSinglePolygonPath(points, connectNulls)\n })) : null, hasStroke ? /* @__PURE__ */ React84.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: \"none\",\n d: getSinglePolygonPath(baseLinePoints, connectNulls)\n })) : null);\n }\n var singlePath = getSinglePolygonPath(points, connectNulls);\n return /* @__PURE__ */ React84.createElement(\"path\", _extends16({}, svgPropertiesAndEvents(others), {\n fill: singlePath.slice(-1) === \"Z\" ? others.fill : \"none\",\n className: layerClass,\n d: singlePath\n }));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Dot.js\n var React85 = __toESM(require_react());\n function _extends17() {\n return _extends17 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends17.apply(null, arguments);\n }\n var Dot = (props) => {\n var {\n cx: cx2,\n cy,\n r: r2,\n className\n } = props;\n var layerClass = clsx(\"recharts-dot\", className);\n if (isNumber3(cx2) && isNumber3(cy) && isNumber3(r2)) {\n return /* @__PURE__ */ React85.createElement(\"circle\", _extends17({}, svgPropertiesNoEvents(props), adaptEventHandlers(props), {\n className: layerClass,\n cx: cx2,\n cy,\n r: r2\n }));\n }\n return null;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarGrid.js\n var React86 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarSelectors.js\n var selectUnfilteredPolarItems = (state2) => state2.graphicalItems.polarItems;\n var selectAxisPredicate2 = createSelector([pickAxisType, pickAxisId], itemAxisPredicate);\n var selectPolarItemsSettings = createSelector([selectUnfilteredPolarItems, selectBaseAxis, selectAxisPredicate2], combineGraphicalItemsSettings);\n var selectPolarGraphicalItemsData = createSelector([selectPolarItemsSettings], combineGraphicalItemsData);\n var selectPolarDisplayedData = createSelector([selectPolarGraphicalItemsData, selectChartDataAndAlwaysIgnoreIndexes], combineDisplayedData);\n var selectPolarAppliedValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings], combineAppliedValues);\n var selectAllPolarAppliedNumericalValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings], (data, axisSettings, items) => {\n if (items.length > 0) {\n return data.flatMap((entry) => {\n return items.flatMap((item) => {\n var _axisSettings$dataKey;\n var valueByDataKey = getValueByDataKey(entry, (_axisSettings$dataKey = axisSettings.dataKey) !== null && _axisSettings$dataKey !== void 0 ? _axisSettings$dataKey : item.dataKey);\n return {\n value: valueByDataKey,\n errorDomain: []\n // polar charts do not have error bars\n };\n });\n }).filter(Boolean);\n }\n if ((axisSettings === null || axisSettings === void 0 ? void 0 : axisSettings.dataKey) != null) {\n return data.map((item) => ({\n value: getValueByDataKey(item, axisSettings.dataKey),\n errorDomain: []\n }));\n }\n return data.map((entry) => ({\n value: entry,\n errorDomain: []\n }));\n });\n var unsupportedInPolarChart = () => void 0;\n var selectDomainOfAllPolarAppliedNumericalValues = createSelector([selectPolarDisplayedData, selectBaseAxis, selectPolarItemsSettings, selectAllErrorBarSettings, pickAxisType], combineDomainOfAllAppliedNumericalValuesIncludingErrorValues);\n var selectPolarNumericalDomain = createSelector([selectBaseAxis, selectDomainDefinition, selectDomainFromUserPreference, unsupportedInPolarChart, selectDomainOfAllPolarAppliedNumericalValues, unsupportedInPolarChart, selectChartLayout, pickAxisType], combineNumericalDomain);\n var selectPolarAxisDomain = createSelector([selectBaseAxis, selectChartLayout, selectPolarDisplayedData, selectPolarAppliedValues, selectStackOffsetType, pickAxisType, selectPolarNumericalDomain], combineAxisDomain);\n var selectPolarNiceTicks = createSelector([selectPolarAxisDomain, selectRenderableAxisSettings, selectRealScaleType], combineNiceTicks);\n var selectPolarAxisDomainIncludingNiceTicks = createSelector([selectBaseAxis, selectPolarAxisDomain, selectPolarNiceTicks, pickAxisType], combineAxisDomainWithNiceTicks);\n var selectPolarAxisCheckedDomain = createSelector([selectRealScaleType, selectPolarAxisDomainIncludingNiceTicks], combineCheckedDomain);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarScaleSelectors.js\n var selectPolarAxis = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"angleAxis\": {\n return selectAngleAxis(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxis(state2, axisId);\n }\n default: {\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n }\n };\n var selectPolarAxisRangeWithReversed = (state2, axisType, axisId) => {\n switch (axisType) {\n case \"angleAxis\": {\n return selectAngleAxisRangeWithReversed(state2, axisId);\n }\n case \"radiusAxis\": {\n return selectRadiusAxisRangeWithReversed(state2, axisId);\n }\n default: {\n throw new Error(\"Unexpected axis type: \".concat(axisType));\n }\n }\n };\n var selectPolarConfiguredScale = createSelector([selectPolarAxis, selectRealScaleType, selectPolarAxisCheckedDomain, selectPolarAxisRangeWithReversed], combineConfiguredScale);\n var selectPolarAxisScale = createSelector([selectPolarConfiguredScale], rechartsScaleFactory);\n var selectPolarCategoricalDomain = createSelector([selectChartLayout, selectPolarAppliedValues, selectRenderableAxisSettings, pickAxisType], combineCategoricalDomain);\n var selectPolarAxisTicks = createSelector([selectChartLayout, selectPolarAxis, selectRealScaleType, selectPolarAxisScale, selectPolarNiceTicks, selectPolarAxisRangeWithReversed, selectDuplicateDomain, selectPolarCategoricalDomain, pickAxisType], combineAxisTicks);\n var selectPolarAngleAxisTicks = createSelector([selectPolarAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n var uniqueTicksMap = /* @__PURE__ */ new Map();\n ticks2.forEach((tick) => {\n var normalizedCoordinate = (tick.coordinate + 360) % 360;\n if (!uniqueTicksMap.has(normalizedCoordinate)) {\n uniqueTicksMap.set(normalizedCoordinate, tick);\n }\n });\n return Array.from(uniqueTicksMap.values());\n });\n var selectPolarGraphicalItemAxisTicks = createSelector([selectChartLayout, selectPolarAxis, selectPolarAxisScale, selectPolarAxisRangeWithReversed, selectDuplicateDomain, selectPolarCategoricalDomain, pickAxisType], combineGraphicalItemTicks);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/polarGridSelectors.js\n var selectAngleAxisTicks = (state2, anglexisId) => selectPolarAxisTicks(state2, \"angleAxis\", anglexisId, false);\n var selectPolarGridAngles = createSelector([selectAngleAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n return ticks2.map((tick) => tick.coordinate);\n });\n var selectRadiusAxisTicks = (state2, radiusAxisId) => selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, false);\n var selectPolarGridRadii = createSelector([selectRadiusAxisTicks], (ticks2) => {\n if (!ticks2) {\n return void 0;\n }\n return ticks2.map((tick) => tick.coordinate);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarGrid.js\n var _excluded12 = [\"gridType\", \"radialLines\", \"angleAxisId\", \"radiusAxisId\", \"cx\", \"cy\", \"innerRadius\", \"outerRadius\", \"polarAngles\", \"polarRadius\", \"zIndex\"];\n function _objectWithoutProperties12(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose12(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose12(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends18() {\n return _extends18 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends18.apply(null, arguments);\n }\n function ownKeys29(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread29(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys29(Object(t2), true).forEach(function(r3) {\n _defineProperty31(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys29(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty31(e, r2, t2) {\n return (r2 = _toPropertyKey31(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey31(t2) {\n var i = _toPrimitive31(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive31(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var getPolygonPath = (radius, cx2, cy, polarAngles) => {\n var path2 = \"\";\n polarAngles.forEach((angle, i) => {\n var point4 = polarToCartesian(cx2, cy, radius, angle);\n if (i) {\n path2 += \"L \".concat(point4.x, \",\").concat(point4.y);\n } else {\n path2 += \"M \".concat(point4.x, \",\").concat(point4.y);\n }\n });\n path2 += \"Z\";\n return path2;\n };\n var PolarAngles = (props) => {\n var {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n polarAngles,\n radialLines\n } = props;\n if (!polarAngles || !polarAngles.length || !radialLines) {\n return null;\n }\n var polarAnglesProps = _objectSpread29({\n stroke: \"#ccc\"\n }, svgPropertiesNoEvents(props));\n return /* @__PURE__ */ React86.createElement(\"g\", {\n className: \"recharts-polar-grid-angle\"\n }, polarAngles.map((entry) => {\n var start = polarToCartesian(cx2, cy, innerRadius, entry);\n var end = polarToCartesian(cx2, cy, outerRadius, entry);\n return /* @__PURE__ */ React86.createElement(\"line\", _extends18({\n key: \"line-\".concat(entry)\n }, polarAnglesProps, {\n x1: start.x,\n y1: start.y,\n x2: end.x,\n y2: end.y\n }));\n }));\n };\n var ConcentricCircle = (props) => {\n var {\n cx: cx2,\n cy,\n radius\n } = props;\n var concentricCircleProps = _objectSpread29({\n stroke: \"#ccc\",\n fill: \"none\"\n }, svgPropertiesNoEvents(props));\n return (\n // @ts-expect-error wrong SVG element type\n /* @__PURE__ */ React86.createElement(\"circle\", _extends18({}, concentricCircleProps, {\n className: clsx(\"recharts-polar-grid-concentric-circle\", props.className),\n cx: cx2,\n cy,\n r: radius\n }))\n );\n };\n var ConcentricPolygon = (props) => {\n var {\n radius\n } = props;\n var concentricPolygonProps = _objectSpread29({\n stroke: \"#ccc\",\n fill: \"none\"\n }, svgPropertiesNoEvents(props));\n return /* @__PURE__ */ React86.createElement(\"path\", _extends18({}, concentricPolygonProps, {\n className: clsx(\"recharts-polar-grid-concentric-polygon\", props.className),\n d: getPolygonPath(radius, props.cx, props.cy, props.polarAngles)\n }));\n };\n var ConcentricGridPath = (props) => {\n var {\n polarRadius,\n gridType\n } = props;\n if (!polarRadius || !polarRadius.length) {\n return null;\n }\n var maxPolarRadius = Math.max(...polarRadius);\n var renderBackground = props.fill && props.fill !== \"none\";\n return /* @__PURE__ */ React86.createElement(\"g\", {\n className: \"recharts-polar-grid-concentric\"\n }, renderBackground && gridType === \"circle\" && /* @__PURE__ */ React86.createElement(ConcentricCircle, _extends18({}, props, {\n radius: maxPolarRadius\n })), renderBackground && gridType !== \"circle\" && /* @__PURE__ */ React86.createElement(ConcentricPolygon, _extends18({}, props, {\n radius: maxPolarRadius\n })), polarRadius.map((entry, i) => {\n var key = i;\n if (gridType === \"circle\") {\n return /* @__PURE__ */ React86.createElement(ConcentricCircle, _extends18({\n key\n }, props, {\n fill: \"none\",\n radius: entry\n }));\n }\n return /* @__PURE__ */ React86.createElement(ConcentricPolygon, _extends18({\n key\n }, props, {\n fill: \"none\",\n radius: entry\n }));\n }));\n };\n var defaultPolarGridProps = {\n angleAxisId: 0,\n radiusAxisId: 0,\n gridType: \"polygon\",\n radialLines: true,\n zIndex: DefaultZIndexes.grid\n };\n var PolarGrid = (outsideProps) => {\n var _ref2, _polarViewBox$cx, _ref22, _polarViewBox$cy, _ref3, _polarViewBox$innerRa, _ref4, _polarViewBox$outerRa;\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, defaultPolarGridProps), {\n gridType,\n radialLines,\n angleAxisId,\n radiusAxisId,\n cx: cxFromOutside,\n cy: cyFromOutside,\n innerRadius: innerRadiusFromOutside,\n outerRadius: outerRadiusFromOutside,\n polarAngles: polarAnglesInput,\n polarRadius: polarRadiusInput,\n zIndex\n } = _resolveDefaultProps, inputs = _objectWithoutProperties12(_resolveDefaultProps, _excluded12);\n var polarViewBox = useAppSelector(selectPolarViewBox);\n var polarAnglesFromRedux = useAppSelector((state2) => selectPolarGridAngles(state2, angleAxisId));\n var polarRadiiFromRedux = useAppSelector((state2) => selectPolarGridRadii(state2, radiusAxisId));\n var polarAngles = Array.isArray(polarAnglesInput) ? polarAnglesInput : polarAnglesFromRedux;\n var polarRadius = Array.isArray(polarRadiusInput) ? polarRadiusInput : polarRadiiFromRedux;\n if (polarAngles == null || polarRadius == null) {\n return null;\n }\n var props = _objectSpread29({\n cx: (_ref2 = (_polarViewBox$cx = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.cx) !== null && _polarViewBox$cx !== void 0 ? _polarViewBox$cx : cxFromOutside) !== null && _ref2 !== void 0 ? _ref2 : 0,\n cy: (_ref22 = (_polarViewBox$cy = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.cy) !== null && _polarViewBox$cy !== void 0 ? _polarViewBox$cy : cyFromOutside) !== null && _ref22 !== void 0 ? _ref22 : 0,\n innerRadius: (_ref3 = (_polarViewBox$innerRa = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.innerRadius) !== null && _polarViewBox$innerRa !== void 0 ? _polarViewBox$innerRa : innerRadiusFromOutside) !== null && _ref3 !== void 0 ? _ref3 : 0,\n outerRadius: (_ref4 = (_polarViewBox$outerRa = polarViewBox === null || polarViewBox === void 0 ? void 0 : polarViewBox.outerRadius) !== null && _polarViewBox$outerRa !== void 0 ? _polarViewBox$outerRa : outerRadiusFromOutside) !== null && _ref4 !== void 0 ? _ref4 : 0,\n polarAngles,\n polarRadius,\n zIndex\n }, inputs);\n var {\n outerRadius\n } = props;\n if (outerRadius <= 0) {\n return null;\n }\n return /* @__PURE__ */ React86.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React86.createElement(\"g\", {\n className: \"recharts-polar-grid\"\n }, /* @__PURE__ */ React86.createElement(ConcentricGridPath, _extends18({\n gridType,\n radialLines\n }, props, {\n polarAngles,\n polarRadius\n })), /* @__PURE__ */ React86.createElement(PolarAngles, _extends18({\n gridType,\n radialLines\n }, props, {\n polarAngles,\n polarRadius\n }))));\n };\n PolarGrid.displayName = \"PolarGrid\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarRadiusAxis.js\n var React87 = __toESM(require_react());\n var import_react36 = __toESM(require_react());\n var import_maxBy = __toESM(require_maxBy3());\n var import_minBy = __toESM(require_minBy3());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/polarAxisSlice.js\n var initialState6 = {\n radiusAxis: {},\n angleAxis: {}\n };\n var polarAxisSlice = createSlice({\n name: \"polarAxis\",\n initialState: initialState6,\n reducers: {\n addRadiusAxis(state2, action) {\n state2.radiusAxis[action.payload.id] = castDraft(action.payload);\n },\n removeRadiusAxis(state2, action) {\n delete state2.radiusAxis[action.payload.id];\n },\n addAngleAxis(state2, action) {\n state2.angleAxis[action.payload.id] = castDraft(action.payload);\n },\n removeAngleAxis(state2, action) {\n delete state2.angleAxis[action.payload.id];\n }\n }\n });\n var {\n addRadiusAxis,\n removeRadiusAxis,\n addAngleAxis,\n removeAngleAxis\n } = polarAxisSlice.actions;\n var polarAxisReducer = polarAxisSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getClassNameFromUnknown.js\n function getClassNameFromUnknown(u) {\n if (u && typeof u === \"object\" && \"className\" in u && typeof u.className === \"string\") {\n return u.className;\n }\n return \"\";\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarRadiusAxis.js\n var _excluded13 = [\"type\"];\n var _excluded26 = [\"cx\", \"cy\", \"angle\", \"axisLine\"];\n var _excluded32 = [\"angle\", \"tickFormatter\", \"stroke\", \"tick\"];\n function _extends19() {\n return _extends19 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends19.apply(null, arguments);\n }\n function ownKeys30(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread30(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys30(Object(t2), true).forEach(function(r3) {\n _defineProperty32(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys30(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty32(e, r2, t2) {\n return (r2 = _toPropertyKey32(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey32(t2) {\n var i = _toPrimitive32(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive32(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties13(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose13(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose13(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var AXIS_TYPE = \"radiusAxis\";\n function SetRadiusAxisSettings(props) {\n var dispatch = useAppDispatch();\n var layout = usePolarChartLayout();\n var settings = (0, import_react36.useMemo)(() => {\n var {\n type: typeFromProps\n } = props, rest = _objectWithoutProperties13(props, _excluded13);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"radiusAxis\", typeFromProps);\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread30(_objectSpread30({}, rest), {}, {\n type: evaluatedType\n });\n }, [props, layout]);\n (0, import_react36.useEffect)(() => {\n if (settings == null) {\n return noop4;\n }\n dispatch(addRadiusAxis(settings));\n return () => {\n dispatch(removeRadiusAxis(settings));\n };\n }, [dispatch, settings]);\n return null;\n }\n var getTickValueCoord = (_ref2, angle, cx2, cy) => {\n var {\n coordinate\n } = _ref2;\n return polarToCartesian(cx2, cy, coordinate, angle);\n };\n var getTickTextAnchor = (orientation) => {\n var textAnchor;\n switch (orientation) {\n case \"left\":\n textAnchor = \"end\";\n break;\n case \"right\":\n textAnchor = \"start\";\n break;\n default:\n textAnchor = \"middle\";\n break;\n }\n return textAnchor;\n };\n var getViewBox = (angle, cx2, cy, ticks2) => {\n var maxRadiusTick = (0, import_maxBy.default)(ticks2, (entry) => entry.coordinate || 0);\n var minRadiusTick = (0, import_minBy.default)(ticks2, (entry) => entry.coordinate || 0);\n return {\n cx: cx2,\n cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: (minRadiusTick === null || minRadiusTick === void 0 ? void 0 : minRadiusTick.coordinate) || 0,\n outerRadius: (maxRadiusTick === null || maxRadiusTick === void 0 ? void 0 : maxRadiusTick.coordinate) || 0,\n clockWise: false\n };\n };\n var renderAxisLine = (props, ticks2) => {\n var {\n cx: cx2,\n cy,\n angle,\n axisLine\n } = props, others = _objectWithoutProperties13(props, _excluded26);\n var extent = ticks2.reduce((result, entry) => [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)], [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx2, cy, extent[0], angle);\n var point1 = polarToCartesian(cx2, cy, extent[1], angle);\n var axisLineProps = _objectSpread30(_objectSpread30(_objectSpread30({}, svgPropertiesNoEvents(others)), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(axisLine)), {}, {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n return /* @__PURE__ */ React87.createElement(\"line\", _extends19({\n className: \"recharts-polar-radius-axis-line\"\n }, axisLineProps));\n };\n var renderTickItem = (option, tickProps, value) => {\n var tickItem;\n if (/* @__PURE__ */ React87.isValidElement(option)) {\n tickItem = /* @__PURE__ */ React87.cloneElement(option, tickProps);\n } else if (typeof option === \"function\") {\n tickItem = option(tickProps);\n } else {\n tickItem = /* @__PURE__ */ React87.createElement(Text, _extends19({}, tickProps, {\n className: \"recharts-polar-radius-axis-tick-value\"\n }), value);\n }\n return tickItem;\n };\n var renderTicks = (props, ticks2) => {\n var {\n angle,\n tickFormatter,\n stroke,\n tick\n } = props, others = _objectWithoutProperties13(props, _excluded32);\n var textAnchor = getTickTextAnchor(props.orientation);\n var axisProps = svgPropertiesNoEvents(others);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var items = ticks2.map((entry, i) => {\n var coord = getTickValueCoord(entry, props.angle, props.cx, props.cy);\n var tickProps = _objectSpread30(_objectSpread30(_objectSpread30(_objectSpread30({\n textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps), {}, {\n stroke: \"none\",\n fill: stroke\n }, customTickProps), {}, {\n index: i\n }, coord), {}, {\n payload: entry\n });\n return /* @__PURE__ */ React87.createElement(Layer, _extends19({\n className: clsx(\"recharts-polar-radius-axis-tick\", getClassNameFromUnknown(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(props, entry, i)), renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /* @__PURE__ */ React87.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n };\n var PolarRadiusAxisWrapper = (defaultsAndInputs) => {\n var {\n radiusAxisId\n } = defaultsAndInputs;\n var viewBox = useAppSelector(selectPolarViewBox);\n var scale = useAppSelector((state2) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId));\n var ticks2 = useAppSelector((state2) => selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, false));\n if (viewBox == null || !ticks2 || !ticks2.length || scale == null) {\n return null;\n }\n var props = _objectSpread30(_objectSpread30({}, defaultsAndInputs), {}, {\n scale\n }, viewBox);\n var {\n tick,\n axisLine\n } = props;\n return /* @__PURE__ */ React87.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React87.createElement(Layer, {\n className: clsx(\"recharts-polar-radius-axis\", AXIS_TYPE, props.className)\n }, axisLine && renderAxisLine(props, ticks2), tick && renderTicks(props, ticks2), /* @__PURE__ */ React87.createElement(PolarLabelContextProvider, getViewBox(props.angle, props.cx, props.cy, ticks2), /* @__PURE__ */ React87.createElement(PolarLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n };\n function PolarRadiusAxis(outsideProps) {\n var _props$niceTicks;\n var props = resolveDefaultProps(outsideProps, defaultPolarRadiusAxisProps);\n return /* @__PURE__ */ React87.createElement(React87.Fragment, null, /* @__PURE__ */ React87.createElement(SetRadiusAxisSettings, {\n domain: props.domain,\n id: props.radiusAxisId,\n scale: props.scale,\n type: props.type,\n dataKey: props.dataKey,\n unit: void 0,\n name: props.name,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n allowDataOverflow: props.allowDataOverflow,\n reversed: props.reversed,\n includeHidden: props.includeHidden,\n allowDecimals: props.allowDecimals,\n niceTicks: (_props$niceTicks = props.niceTicks) !== null && _props$niceTicks !== void 0 ? _props$niceTicks : \"auto\",\n ticks: props.ticks,\n tickCount: props.tickCount,\n tick: props.tick\n }), /* @__PURE__ */ React87.createElement(PolarRadiusAxisWrapper, props));\n }\n PolarRadiusAxis.displayName = \"PolarRadiusAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/PolarAngleAxis.js\n var React88 = __toESM(require_react());\n var import_react37 = __toESM(require_react());\n var _excluded14 = [\"children\", \"type\"];\n var _excluded27 = [\"ref\"];\n function _extends20() {\n return _extends20 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends20.apply(null, arguments);\n }\n function ownKeys31(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread31(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys31(Object(t2), true).forEach(function(r3) {\n _defineProperty33(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys31(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty33(e, r2, t2) {\n return (r2 = _toPropertyKey33(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey33(t2) {\n var i = _toPrimitive33(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive33(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties14(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose14(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose14(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var eps = 1e-5;\n var COS_45 = Math.cos(degreeToRadian(45));\n var AXIS_TYPE2 = \"angleAxis\";\n function SetAngleAxisSettings(props) {\n var dispatch = useAppDispatch();\n var layout = usePolarChartLayout();\n var settings = (0, import_react37.useMemo)(() => {\n var {\n children,\n type: typeFromProps\n } = props, rest = _objectWithoutProperties14(props, _excluded14);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"angleAxis\", typeFromProps);\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread31(_objectSpread31({}, rest), {}, {\n type: evaluatedType\n });\n }, [props, layout]);\n var synchronizedSettings = useAppSelector((state2) => selectAngleAxis(state2, settings === null || settings === void 0 ? void 0 : settings.id));\n var settingsAreSynchronized = settings === synchronizedSettings;\n (0, import_react37.useEffect)(() => {\n if (settings == null) {\n return noop4;\n }\n dispatch(addAngleAxis(settings));\n return () => {\n dispatch(removeAngleAxis(settings));\n };\n }, [dispatch, settings]);\n if (settingsAreSynchronized) {\n return props.children;\n }\n return null;\n }\n var getTickLineCoord = (data, props) => {\n var {\n cx: cx2,\n cy,\n radius,\n orientation,\n tickSize\n } = props;\n var tickLineSize = tickSize || 8;\n var p1 = polarToCartesian(cx2, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx2, cy, radius + (orientation === \"inner\" ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n };\n var getTickTextAnchor2 = (data, orientation) => {\n var cos2 = Math.cos(degreeToRadian(-data.coordinate));\n if (cos2 > eps) {\n return orientation === \"outer\" ? \"start\" : \"end\";\n }\n if (cos2 < -eps) {\n return orientation === \"outer\" ? \"end\" : \"start\";\n }\n return \"middle\";\n };\n var getTickTextVerticalAnchor = (data) => {\n var cos2 = Math.cos(degreeToRadian(-data.coordinate));\n var sin2 = Math.sin(degreeToRadian(-data.coordinate));\n if (Math.abs(cos2) <= COS_45) {\n return sin2 > 0 ? \"start\" : \"end\";\n }\n return \"middle\";\n };\n var AxisLine = (props) => {\n var {\n cx: cx2,\n cy,\n radius,\n axisLineType,\n axisLine,\n ticks: ticks2\n } = props;\n if (!axisLine) {\n return null;\n }\n var axisLineProps = _objectSpread31(_objectSpread31({}, svgPropertiesNoEvents(props)), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(axisLine));\n if (axisLineType === \"circle\") {\n return /* @__PURE__ */ React88.createElement(Dot, _extends20({\n className: \"recharts-polar-angle-axis-line\"\n }, axisLineProps, {\n cx: cx2,\n cy,\n r: radius\n }));\n }\n var points = ticks2.map((entry) => polarToCartesian(cx2, cy, radius, entry.coordinate));\n return /* @__PURE__ */ React88.createElement(Polygon, _extends20({\n className: \"recharts-polar-angle-axis-line\"\n }, axisLineProps, {\n points\n }));\n };\n var TickItemText = (_ref2) => {\n var {\n tick,\n tickProps,\n value\n } = _ref2;\n if (!tick) {\n return null;\n }\n if (/* @__PURE__ */ React88.isValidElement(tick)) {\n return /* @__PURE__ */ React88.cloneElement(tick, tickProps);\n }\n if (typeof tick === \"function\") {\n return tick(tickProps);\n }\n return /* @__PURE__ */ React88.createElement(Text, _extends20({}, tickProps, {\n className: \"recharts-polar-angle-axis-tick-value\"\n }), value);\n };\n var Ticks = (props) => {\n var {\n tick,\n tickLine,\n tickFormatter,\n stroke,\n ticks: ticks2\n } = props;\n var _svgPropertiesNoEvent = svgPropertiesNoEvents(props), {\n ref\n } = _svgPropertiesNoEvent, axisProps = _objectWithoutProperties14(_svgPropertiesNoEvent, _excluded27);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var tickLineProps = _objectSpread31(_objectSpread31({}, axisProps), {}, {\n fill: \"none\"\n }, svgPropertiesNoEvents(tickLine));\n var items = ticks2.map((entry, i) => {\n var lineCoord = getTickLineCoord(entry, props);\n var textAnchor = getTickTextAnchor2(entry, props.orientation);\n var verticalAnchor = getTickTextVerticalAnchor(entry);\n var tickProps = _objectSpread31(_objectSpread31(_objectSpread31({}, axisProps), {}, {\n // @ts-expect-error customTickProps is contributing unknown props\n textAnchor,\n verticalAnchor,\n // @ts-expect-error customTickProps is contributing unknown props\n stroke: \"none\",\n // @ts-expect-error customTickProps is contributing unknown props\n fill: stroke\n }, customTickProps), {}, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n return /* @__PURE__ */ React88.createElement(Layer, _extends20({\n className: clsx(\"recharts-polar-angle-axis-tick\", getClassNameFromUnknown(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(props, entry, i)), tickLine && /* @__PURE__ */ React88.createElement(\"line\", _extends20({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), /* @__PURE__ */ React88.createElement(TickItemText, {\n tick,\n tickProps,\n value: tickFormatter ? tickFormatter(entry.value, i) : entry.value\n }));\n });\n return /* @__PURE__ */ React88.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n };\n var PolarAngleAxisWrapper = (defaultsAndInputs) => {\n var {\n angleAxisId\n } = defaultsAndInputs;\n var viewBox = useAppSelector(selectPolarViewBox);\n var scale = useAppSelector((state2) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId));\n var isPanorama = useIsPanorama();\n var ticks2 = useAppSelector((state2) => selectPolarAngleAxisTicks(state2, \"angleAxis\", angleAxisId, isPanorama));\n if (viewBox == null || !ticks2 || !ticks2.length || scale == null) {\n return null;\n }\n var props = _objectSpread31(_objectSpread31(_objectSpread31({}, defaultsAndInputs), {}, {\n scale\n }, viewBox), {}, {\n radius: viewBox.outerRadius,\n ticks: ticks2\n });\n return /* @__PURE__ */ React88.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React88.createElement(Layer, {\n className: clsx(\"recharts-polar-angle-axis\", AXIS_TYPE2, props.className)\n }, /* @__PURE__ */ React88.createElement(AxisLine, props), /* @__PURE__ */ React88.createElement(Ticks, props)));\n };\n function PolarAngleAxis(outsideProps) {\n var _props$niceTicks;\n var props = resolveDefaultProps(outsideProps, defaultPolarAngleAxisProps);\n return /* @__PURE__ */ React88.createElement(SetAngleAxisSettings, {\n id: props.angleAxisId,\n scale: props.scale,\n type: props.type,\n dataKey: props.dataKey,\n unit: void 0,\n name: props.name,\n allowDuplicatedCategory: false,\n allowDataOverflow: false,\n reversed: props.reversed,\n includeHidden: false,\n allowDecimals: props.allowDecimals,\n tickCount: props.tickCount,\n niceTicks: (_props$niceTicks = props.niceTicks) !== null && _props$niceTicks !== void 0 ? _props$niceTicks : \"auto\",\n ticks: props.ticks,\n tick: props.tick,\n domain: props.domain\n }, /* @__PURE__ */ React88.createElement(PolarAngleAxisWrapper, props));\n }\n PolarAngleAxis.displayName = \"PolarAngleAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Pie.js\n var React93 = __toESM(require_react());\n var import_react45 = __toESM(require_react());\n var import_get4 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/pieSelectors.js\n function ownKeys32(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread32(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys32(Object(t2), true).forEach(function(r3) {\n _defineProperty34(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys32(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty34(e, r2, t2) {\n return (r2 = _toPropertyKey34(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey34(t2) {\n var i = _toPrimitive34(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive34(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var pickId = (_state, id) => id;\n var selectSynchronisedPieSettings = createSelector([selectUnfilteredPolarItems, pickId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"pie\").find((item) => item.id === id));\n var emptyArray = [];\n var pickCells = (_state, _id, cells) => {\n if ((cells === null || cells === void 0 ? void 0 : cells.length) === 0) {\n return emptyArray;\n }\n return cells;\n };\n var selectDisplayedData2 = createSelector([selectChartDataAndAlwaysIgnoreIndexes, selectSynchronisedPieSettings, pickCells], (_ref2, pieSettings, cells) => {\n var {\n chartData\n } = _ref2;\n if (pieSettings == null) {\n return void 0;\n }\n var displayedData;\n if ((pieSettings === null || pieSettings === void 0 ? void 0 : pieSettings.data) != null && pieSettings.data.length > 0) {\n displayedData = pieSettings.data;\n } else {\n displayedData = chartData;\n }\n if ((!displayedData || !displayedData.length) && cells != null) {\n displayedData = cells.map((cell) => _objectSpread32(_objectSpread32({}, pieSettings.presentationProps), cell.props));\n }\n if (displayedData == null) {\n return void 0;\n }\n return displayedData;\n });\n var selectPieLegend = createSelector([selectDisplayedData2, selectSynchronisedPieSettings, pickCells], (displayedData, pieSettings, cells) => {\n if (displayedData == null || pieSettings == null) {\n return void 0;\n }\n return displayedData.map((entry, i) => {\n var _cells$i;\n var name = getValueByDataKey(entry, pieSettings.nameKey, pieSettings.name);\n var color2;\n if (cells !== null && cells !== void 0 && (_cells$i = cells[i]) !== null && _cells$i !== void 0 && (_cells$i = _cells$i.props) !== null && _cells$i !== void 0 && _cells$i.fill) {\n color2 = cells[i].props.fill;\n } else if (typeof entry === \"object\" && entry != null && \"fill\" in entry) {\n color2 = entry.fill;\n } else {\n color2 = pieSettings.fill;\n }\n return {\n value: getTooltipNameProp(name, pieSettings.dataKey),\n color: color2,\n // @ts-expect-error Legend payload.payload says it wants objects but our data can be unknown\n payload: entry,\n type: pieSettings.legendType\n };\n });\n });\n var selectPieSectors = createSelector([selectDisplayedData2, selectSynchronisedPieSettings, pickCells, selectChartOffsetInternal], (displayedData, pieSettings, cells, offset4) => {\n if (pieSettings == null || displayedData == null) {\n return void 0;\n }\n return computePieSectors({\n offset: offset4,\n pieSettings,\n displayedData,\n cells\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ReactUtils.js\n var import_get3 = __toESM(require_get2());\n var import_react38 = __toESM(require_react());\n var import_react_is = __toESM(require_react_is());\n var getDisplayName = (Comp) => {\n if (typeof Comp === \"string\") {\n return Comp;\n }\n if (!Comp) {\n return \"\";\n }\n return Comp.displayName || Comp.name || \"Component\";\n };\n var lastChildren = null;\n var lastResult = null;\n var toArray = (children) => {\n if (children === lastChildren && Array.isArray(lastResult)) {\n return lastResult;\n }\n var result = [];\n import_react38.Children.forEach(children, (child) => {\n if (isNullish(child)) return;\n if ((0, import_react_is.isFragment)(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n };\n function findAllByType(children, type) {\n var result = [];\n var types = [];\n if (Array.isArray(type)) {\n types = type.map((t2) => getDisplayName(t2));\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach((child) => {\n var childType = (0, import_get3.default)(child, \"type.displayName\") || (0, import_get3.default)(child, \"type.name\");\n if (childType && types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n }\n var isClipDot = (dot) => {\n if (dot && typeof dot === \"object\" && \"clipDot\" in dot) {\n return Boolean(dot.clipDot);\n }\n return true;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ActiveShapeUtils.js\n var React90 = __toESM(require_react());\n var import_react40 = __toESM(require_react());\n var import_isPlainObject = __toESM(require_isPlainObject2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/shape/Trapezoid.js\n var React89 = __toESM(require_react());\n var import_react39 = __toESM(require_react());\n var _templateObject12;\n var _templateObject23;\n var _templateObject33;\n var _templateObject43;\n var _templateObject53;\n function ownKeys33(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread33(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys33(Object(t2), true).forEach(function(r3) {\n _defineProperty35(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys33(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty35(e, r2, t2) {\n return (r2 = _toPropertyKey35(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey35(t2) {\n var i = _toPrimitive35(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive35(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends21() {\n return _extends21 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends21.apply(null, arguments);\n }\n function _taggedTemplateLiteral4(e, t2) {\n return t2 || (t2 = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t2) } }));\n }\n var getTrapezoidPath = (x2, y2, upperWidth, lowerWidth, height) => {\n var widthGap = upperWidth - lowerWidth;\n var path2;\n path2 = roundTemplateLiteral(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral4([\"M \", \",\", \"\"])), x2, y2);\n path2 += roundTemplateLiteral(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth, y2);\n path2 += roundTemplateLiteral(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth - widthGap / 2, y2 + height);\n path2 += roundTemplateLiteral(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral4([\"L \", \",\", \"\"])), x2 + upperWidth - widthGap / 2 - lowerWidth, y2 + height);\n path2 += roundTemplateLiteral(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral4([\"L \", \",\", \" Z\"])), x2, y2);\n return path2;\n };\n var defaultTrapezoidProps = {\n x: 0,\n y: 0,\n upperWidth: 0,\n lowerWidth: 0,\n height: 0,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\"\n };\n var Trapezoid = (outsideProps) => {\n var trapezoidProps = resolveDefaultProps(outsideProps, defaultTrapezoidProps);\n var {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n height,\n className\n } = trapezoidProps;\n var {\n animationEasing,\n animationDuration,\n animationBegin,\n isUpdateAnimationActive\n } = trapezoidProps;\n var pathRef = (0, import_react39.useRef)(null);\n var [totalLength, setTotalLength] = (0, import_react39.useState)(-1);\n var prevUpperWidthRef = (0, import_react39.useRef)(upperWidth);\n var prevLowerWidthRef = (0, import_react39.useRef)(lowerWidth);\n var prevHeightRef = (0, import_react39.useRef)(height);\n var prevXRef = (0, import_react39.useRef)(x2);\n var prevYRef = (0, import_react39.useRef)(y2);\n var animationId = useAnimationId(outsideProps, \"trapezoid-\");\n (0, import_react39.useEffect)(() => {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (_unused) {\n }\n }\n }, []);\n if (x2 !== +x2 || y2 !== +y2 || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-trapezoid\", className);\n if (!isUpdateAnimationActive) {\n return /* @__PURE__ */ React89.createElement(\"g\", null, /* @__PURE__ */ React89.createElement(\"path\", _extends21({}, svgPropertiesAndEvents(trapezoidProps), {\n className: layerClass,\n d: getTrapezoidPath(x2, y2, upperWidth, lowerWidth, height)\n })));\n }\n var prevUpperWidth = prevUpperWidthRef.current;\n var prevLowerWidth = prevLowerWidthRef.current;\n var prevHeight = prevHeightRef.current;\n var prevX = prevXRef.current;\n var prevY = prevYRef.current;\n var from2 = \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\");\n var to2 = \"\".concat(totalLength, \"px \").concat(totalLength, \"px\");\n var transition = getTransitionVal([\"strokeDasharray\"], animationDuration, animationEasing);\n return /* @__PURE__ */ React89.createElement(JavascriptAnimate, {\n animationId,\n key: animationId,\n canBegin: totalLength > 0,\n duration: animationDuration,\n easing: animationEasing,\n isActive: isUpdateAnimationActive,\n begin: animationBegin\n }, (t2) => {\n var currUpperWidth = interpolate(prevUpperWidth, upperWidth, t2);\n var currLowerWidth = interpolate(prevLowerWidth, lowerWidth, t2);\n var currHeight = interpolate(prevHeight, height, t2);\n var currX = interpolate(prevX, x2, t2);\n var currY = interpolate(prevY, y2, t2);\n if (pathRef.current) {\n prevUpperWidthRef.current = currUpperWidth;\n prevLowerWidthRef.current = currLowerWidth;\n prevHeightRef.current = currHeight;\n prevXRef.current = currX;\n prevYRef.current = currY;\n }\n var animationStyle = t2 > 0 ? {\n transition,\n strokeDasharray: to2\n } : {\n strokeDasharray: from2\n };\n return /* @__PURE__ */ React89.createElement(\"path\", _extends21({}, svgPropertiesAndEvents(trapezoidProps), {\n className: layerClass,\n d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n ref: pathRef,\n style: _objectSpread33(_objectSpread33({}, animationStyle), trapezoidProps.style)\n }));\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ActiveShapeUtils.js\n var _excluded15 = [\"option\", \"shapeType\", \"activeClassName\", \"inActiveClassName\"];\n function _objectWithoutProperties15(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose15(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose15(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys34(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread34(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys34(Object(t2), true).forEach(function(r3) {\n _defineProperty36(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys34(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty36(e, r2, t2) {\n return (r2 = _toPropertyKey36(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey36(t2) {\n var i = _toPrimitive36(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive36(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function defaultPropTransformer(option, props) {\n return _objectSpread34(_objectSpread34({}, props), option);\n }\n function isSymbolsProps(shapeType, _elementProps) {\n return shapeType === \"symbols\";\n }\n function ShapeSelector(_ref2) {\n var {\n shapeType,\n elementProps\n } = _ref2;\n switch (shapeType) {\n case \"rectangle\":\n return /* @__PURE__ */ React90.createElement(Rectangle, elementProps);\n case \"trapezoid\":\n return /* @__PURE__ */ React90.createElement(Trapezoid, elementProps);\n case \"sector\":\n return /* @__PURE__ */ React90.createElement(Sector, elementProps);\n case \"symbols\":\n if (isSymbolsProps(shapeType, elementProps)) {\n return /* @__PURE__ */ React90.createElement(Symbols, elementProps);\n }\n break;\n case \"curve\":\n return /* @__PURE__ */ React90.createElement(Curve, elementProps);\n default:\n return null;\n }\n }\n function getPropsFromShapeOption(option) {\n if (/* @__PURE__ */ (0, import_react40.isValidElement)(option)) {\n return option.props;\n }\n return option;\n }\n function Shape(_ref2) {\n var {\n option,\n shapeType,\n activeClassName = \"recharts-active-shape\",\n inActiveClassName = \"recharts-shape\"\n } = _ref2, props = _objectWithoutProperties15(_ref2, _excluded15);\n var shape;\n if (/* @__PURE__ */ (0, import_react40.isValidElement)(option)) {\n shape = /* @__PURE__ */ (0, import_react40.cloneElement)(option, _objectSpread34(_objectSpread34({}, props), getPropsFromShapeOption(option)));\n } else if (typeof option === \"function\") {\n shape = option(props, props.index);\n } else if ((0, import_isPlainObject.default)(option) && typeof option !== \"boolean\") {\n var nextProps = defaultPropTransformer(option, props);\n shape = /* @__PURE__ */ React90.createElement(ShapeSelector, {\n shapeType,\n elementProps: nextProps\n });\n } else {\n var elementProps = props;\n shape = /* @__PURE__ */ React90.createElement(ShapeSelector, {\n shapeType,\n elementProps\n });\n }\n if (props.isActive) {\n return /* @__PURE__ */ React90.createElement(Layer, {\n className: activeClassName\n }, shape);\n }\n return /* @__PURE__ */ React90.createElement(Layer, {\n className: inActiveClassName\n }, shape);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/tooltipContext.js\n var useMouseEnterItemDispatch = (onMouseEnterFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseEnterFromProps === null || onMouseEnterFromProps === void 0 || onMouseEnterFromProps(data, index2, event);\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: String(index2),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n };\n var useMouseLeaveItemDispatch = (onMouseLeaveFromProps) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseLeaveFromProps === null || onMouseLeaveFromProps === void 0 || onMouseLeaveFromProps(data, index2, event);\n dispatch(mouseLeaveItem());\n };\n };\n var useMouseClickItemDispatch = (onMouseClickFromProps, dataKey, graphicalItemId) => {\n var dispatch = useAppDispatch();\n return (data, index2) => (event) => {\n onMouseClickFromProps === null || onMouseClickFromProps === void 0 || onMouseClickFromProps(data, index2, event);\n dispatch(setActiveClickItemIndex({\n activeIndex: String(index2),\n activeDataKey: dataKey,\n activeCoordinate: data.tooltipPosition,\n activeGraphicalItemId: graphicalItemId\n }));\n };\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetTooltipEntrySettings.js\n var import_react41 = __toESM(require_react());\n function SetTooltipEntrySettings(_ref2) {\n var {\n tooltipEntrySettings\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var prevSettingsRef = (0, import_react41.useRef)(null);\n (0, import_react41.useLayoutEffect)(() => {\n if (isPanorama) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addTooltipEntrySettings(tooltipEntrySettings));\n } else if (prevSettingsRef.current !== tooltipEntrySettings) {\n dispatch(replaceTooltipEntrySettings({\n prev: prevSettingsRef.current,\n next: tooltipEntrySettings\n }));\n }\n prevSettingsRef.current = tooltipEntrySettings;\n }, [tooltipEntrySettings, dispatch, isPanorama]);\n (0, import_react41.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeTooltipEntrySettings(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetLegendPayload.js\n var import_react42 = __toESM(require_react());\n function SetLegendPayload(_ref2) {\n var {\n legendPayload\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n var prevPayloadRef = (0, import_react42.useRef)(null);\n (0, import_react42.useLayoutEffect)(() => {\n if (isPanorama) {\n return;\n }\n if (prevPayloadRef.current === null) {\n dispatch(addLegendPayload(legendPayload));\n } else if (prevPayloadRef.current !== legendPayload) {\n dispatch(replaceLegendPayload({\n prev: prevPayloadRef.current,\n next: legendPayload\n }));\n }\n prevPayloadRef.current = legendPayload;\n }, [dispatch, isPanorama, legendPayload]);\n (0, import_react42.useLayoutEffect)(() => {\n return () => {\n if (prevPayloadRef.current) {\n dispatch(removeLegendPayload(prevPayloadRef.current));\n prevPayloadRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n function SetPolarLegendPayload(_ref2) {\n var {\n legendPayload\n } = _ref2;\n var dispatch = useAppDispatch();\n var layout = useAppSelector(selectChartLayout);\n var prevPayloadRef = (0, import_react42.useRef)(null);\n (0, import_react42.useLayoutEffect)(() => {\n if (layout !== \"centric\" && layout !== \"radial\") {\n return;\n }\n if (prevPayloadRef.current === null) {\n dispatch(addLegendPayload(legendPayload));\n } else if (prevPayloadRef.current !== legendPayload) {\n dispatch(replaceLegendPayload({\n prev: prevPayloadRef.current,\n next: legendPayload\n }));\n }\n prevPayloadRef.current = legendPayload;\n }, [dispatch, layout, legendPayload]);\n (0, import_react42.useLayoutEffect)(() => {\n return () => {\n if (prevPayloadRef.current) {\n dispatch(removeLegendPayload(prevPayloadRef.current));\n prevPayloadRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/RegisterGraphicalItemId.js\n var React92 = __toESM(require_react());\n var import_react43 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useId.js\n var React91 = __toESM(require_react());\n var _ref;\n var useIdFallback = () => {\n var [id] = React91.useState(() => uniqueId(\"uid-\"));\n return id;\n };\n var useId2 = (_ref = React91[\"useId\".toString()]) !== null && _ref !== void 0 ? _ref : useIdFallback;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useUniqueId.js\n function useUniqueId(prefix2, customId) {\n var generatedId = useId2();\n if (customId) {\n return customId;\n }\n return prefix2 ? \"\".concat(prefix2, \"-\").concat(generatedId) : generatedId;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/RegisterGraphicalItemId.js\n var GraphicalItemIdContext = /* @__PURE__ */ (0, import_react43.createContext)(void 0);\n var RegisterGraphicalItemId = (_ref2) => {\n var {\n id,\n type,\n children\n } = _ref2;\n var resolvedId = useUniqueId(\"recharts-\".concat(type), id);\n return /* @__PURE__ */ React92.createElement(GraphicalItemIdContext.Provider, {\n value: resolvedId\n }, children(resolvedId));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetGraphicalItem.js\n var import_react44 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/graphicalItemsSlice.js\n var initialState7 = {\n cartesianItems: [],\n polarItems: []\n };\n var graphicalItemsSlice = createSlice({\n name: \"graphicalItems\",\n initialState: initialState7,\n reducers: {\n addCartesianGraphicalItem: {\n reducer(state2, action) {\n state2.cartesianItems.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n replaceCartesianGraphicalItem: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).cartesianItems.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.cartesianItems[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeCartesianGraphicalItem: {\n reducer(state2, action) {\n var index2 = current(state2).cartesianItems.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.cartesianItems.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n addPolarGraphicalItem: {\n reducer(state2, action) {\n state2.polarItems.push(castDraft(action.payload));\n },\n prepare: prepareAutoBatched()\n },\n removePolarGraphicalItem: {\n reducer(state2, action) {\n var index2 = current(state2).polarItems.indexOf(castDraft(action.payload));\n if (index2 > -1) {\n state2.polarItems.splice(index2, 1);\n }\n },\n prepare: prepareAutoBatched()\n },\n replacePolarGraphicalItem: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n var index2 = current(state2).polarItems.indexOf(castDraft(prev));\n if (index2 > -1) {\n state2.polarItems[index2] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n }\n }\n });\n var {\n addCartesianGraphicalItem,\n replaceCartesianGraphicalItem,\n removeCartesianGraphicalItem,\n addPolarGraphicalItem,\n removePolarGraphicalItem,\n replacePolarGraphicalItem\n } = graphicalItemsSlice.actions;\n var graphicalItemsReducer = graphicalItemsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/SetGraphicalItem.js\n var SetCartesianGraphicalItemImpl = (props) => {\n var dispatch = useAppDispatch();\n var prevPropsRef = (0, import_react44.useRef)(null);\n (0, import_react44.useLayoutEffect)(() => {\n if (prevPropsRef.current === null) {\n dispatch(addCartesianGraphicalItem(props));\n } else if (prevPropsRef.current !== props) {\n dispatch(replaceCartesianGraphicalItem({\n prev: prevPropsRef.current,\n next: props\n }));\n }\n prevPropsRef.current = props;\n }, [dispatch, props]);\n (0, import_react44.useLayoutEffect)(() => {\n return () => {\n if (prevPropsRef.current) {\n dispatch(removeCartesianGraphicalItem(prevPropsRef.current));\n prevPropsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n };\n var SetCartesianGraphicalItem = /* @__PURE__ */ (0, import_react44.memo)(SetCartesianGraphicalItemImpl);\n var SetPolarGraphicalItemImpl = (props) => {\n var dispatch = useAppDispatch();\n var prevPropsRef = (0, import_react44.useRef)(null);\n (0, import_react44.useLayoutEffect)(() => {\n if (prevPropsRef.current === null) {\n dispatch(addPolarGraphicalItem(props));\n } else if (prevPropsRef.current !== props) {\n dispatch(replacePolarGraphicalItem({\n prev: prevPropsRef.current,\n next: props\n }));\n }\n prevPropsRef.current = props;\n }, [dispatch, props]);\n (0, import_react44.useLayoutEffect)(() => {\n return () => {\n if (prevPropsRef.current) {\n dispatch(removePolarGraphicalItem(prevPropsRef.current));\n prevPropsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n };\n var SetPolarGraphicalItem = /* @__PURE__ */ (0, import_react44.memo)(SetPolarGraphicalItemImpl);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Pie.js\n var _excluded16 = [\"key\"];\n var _excluded28 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded33 = [\"id\"];\n var _excluded42 = [\"id\"];\n function _extends22() {\n return _extends22 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends22.apply(null, arguments);\n }\n function _objectWithoutProperties16(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose16(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose16(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys35(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread35(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys35(Object(t2), true).forEach(function(r3) {\n _defineProperty37(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys35(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty37(e, r2, t2) {\n return (r2 = _toPropertyKey37(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey37(t2) {\n var i = _toPrimitive37(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive37(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function SetPiePayloadLegend(props) {\n var cells = (0, import_react45.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var legendPayload = useAppSelector((state2) => selectPieLegend(state2, props.id, cells));\n if (legendPayload == null) {\n return null;\n }\n return /* @__PURE__ */ React93.createElement(SetPolarLegendPayload, {\n legendPayload\n });\n }\n function getActiveShapeFill(activeShape) {\n if (activeShape == null || typeof activeShape === \"boolean\" || typeof activeShape === \"function\") {\n return void 0;\n }\n if (/* @__PURE__ */ React93.isValidElement(activeShape)) {\n var _activeShape$props;\n var _fill = (_activeShape$props = activeShape.props) === null || _activeShape$props === void 0 ? void 0 : _activeShape$props.fill;\n return typeof _fill === \"string\" ? _fill : void 0;\n }\n var {\n fill\n } = activeShape;\n return typeof fill === \"string\" ? fill : void 0;\n }\n var SetPieTooltipEntrySettings = /* @__PURE__ */ React93.memo((_ref2) => {\n var {\n dataKey,\n nameKey,\n sectors,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id,\n activeShape\n } = _ref2;\n var activeShapeFill = getActiveShapeFill(activeShape);\n var tooltipDataDefinedOnItem = sectors.map((sector) => {\n var sectorTooltipPayload = sector.tooltipPayload;\n if (activeShapeFill == null || sectorTooltipPayload == null) {\n return sectorTooltipPayload;\n }\n return sectorTooltipPayload.map((item) => _objectSpread35(_objectSpread35({}, item), {}, {\n color: activeShapeFill,\n fill: activeShapeFill\n }));\n });\n var tooltipEntrySettings = {\n dataDefinedOnItem: tooltipDataDefinedOnItem,\n getPosition: (index2) => {\n var _sectors$Number;\n return (_sectors$Number = sectors[Number(index2)]) === null || _sectors$Number === void 0 ? void 0 : _sectors$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // why doesn't Pie support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React93.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var getTextAnchor = (x2, cx2) => {\n if (x2 > cx2) {\n return \"start\";\n }\n if (x2 < cx2) {\n return \"end\";\n }\n return \"middle\";\n };\n var getOuterRadius = (dataPoint, outerRadius, maxPieRadius) => {\n if (typeof outerRadius === \"function\") {\n return getPercentValue(outerRadius(dataPoint), maxPieRadius, maxPieRadius * 0.8);\n }\n return getPercentValue(outerRadius, maxPieRadius, maxPieRadius * 0.8);\n };\n var parseCoordinateOfPie = (pieSettings, offset4, dataPoint) => {\n var {\n top,\n left,\n width,\n height\n } = offset4;\n var maxPieRadius = getMaxRadius(width, height);\n var cx2 = left + getPercentValue(pieSettings.cx, width, width / 2);\n var cy = top + getPercentValue(pieSettings.cy, height, height / 2);\n var innerRadius = getPercentValue(pieSettings.innerRadius, maxPieRadius, 0);\n var outerRadius = getOuterRadius(dataPoint, pieSettings.outerRadius, maxPieRadius);\n var maxRadius = pieSettings.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n maxRadius\n };\n };\n var parseDeltaAngle = (startAngle, endAngle) => {\n var sign2 = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign2 * deltaAngle;\n };\n var renderLabelLineItem = (option, props) => {\n if (/* @__PURE__ */ React93.isValidElement(option)) {\n return /* @__PURE__ */ React93.cloneElement(option, props);\n }\n if (typeof option === \"function\") {\n return option(props);\n }\n var className = clsx(\"recharts-pie-label-line\", typeof option !== \"boolean\" ? option.className : \"\");\n var {\n key\n } = props, otherProps = _objectWithoutProperties16(props, _excluded16);\n return /* @__PURE__ */ React93.createElement(Curve, _extends22({}, otherProps, {\n type: \"linear\",\n className\n }));\n };\n var renderLabelItem = (option, props, value) => {\n if (/* @__PURE__ */ React93.isValidElement(option)) {\n return /* @__PURE__ */ React93.cloneElement(option, props);\n }\n var label = value;\n if (typeof option === \"function\") {\n label = option(props);\n if (/* @__PURE__ */ React93.isValidElement(label)) {\n return label;\n }\n }\n var className = clsx(\"recharts-pie-label-text\", getClassNameFromUnknown(option));\n return /* @__PURE__ */ React93.createElement(Text, _extends22({}, props, {\n alignmentBaseline: \"middle\",\n className\n }), label);\n };\n function PieLabels(_ref2) {\n var {\n sectors,\n props,\n showLabels\n } = _ref2;\n var {\n label,\n labelLine,\n dataKey\n } = props;\n if (!showLabels || !label || !sectors) {\n return null;\n }\n var pieProps = svgPropertiesNoEvents(props);\n var customLabelProps = svgPropertiesNoEventsFromUnknown(label);\n var customLabelLineProps = svgPropertiesNoEventsFromUnknown(labelLine);\n var offsetRadius = typeof label === \"object\" && \"offsetRadius\" in label && typeof label.offsetRadius === \"number\" && label.offsetRadius || 20;\n var labels = sectors.map((entry, i) => {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n var labelProps = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieProps), entry), {}, {\n // @ts-expect-error customLabelProps is contributing unknown props\n stroke: \"none\"\n }, customLabelProps), {}, {\n index: i,\n textAnchor: getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n var lineProps = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieProps), entry), {}, {\n // @ts-expect-error customLabelLineProps is contributing unknown props\n fill: \"none\",\n // @ts-expect-error customLabelLineProps is contributing unknown props\n stroke: entry.fill\n }, customLabelLineProps), {}, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint],\n key: \"line\"\n });\n return /* @__PURE__ */ React93.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.label,\n key: \"label-\".concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }, /* @__PURE__ */ React93.createElement(Layer, null, labelLine && renderLabelLineItem(labelLine, lineProps), renderLabelItem(label, labelProps, getValueByDataKey(entry, dataKey))));\n });\n return /* @__PURE__ */ React93.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n function PieLabelList(_ref3) {\n var {\n sectors,\n props,\n showLabels\n } = _ref3;\n var {\n label\n } = props;\n if (typeof label === \"object\" && label != null && \"position\" in label) {\n return /* @__PURE__ */ React93.createElement(LabelListFromLabelProp, {\n label\n });\n }\n return /* @__PURE__ */ React93.createElement(PieLabels, {\n sectors,\n props,\n showLabels\n });\n }\n function PieSectors(props) {\n var {\n sectors,\n activeShape,\n inactiveShape: inactiveShapeProp,\n allOtherPieProps,\n shape,\n id\n } = props;\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataKey = useAppSelector(selectActiveTooltipDataKey);\n var activeGraphicalItemId = useAppSelector(selectActiveTooltipGraphicalItemId);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherPieProps, restOfAllOtherProps = _objectWithoutProperties16(allOtherPieProps, _excluded28);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherPieProps.dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherPieProps.dataKey, id);\n if (sectors == null || sectors.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React93.createElement(React93.Fragment, null, sectors.map((entry, i) => {\n if ((entry === null || entry === void 0 ? void 0 : entry.startAngle) === 0 && (entry === null || entry === void 0 ? void 0 : entry.endAngle) === 0 && sectors.length !== 1) return null;\n var graphicalItemMatches = activeGraphicalItemId == null || activeGraphicalItemId === id;\n var isActive = String(i) === activeIndex && (activeDataKey == null || allOtherPieProps.dataKey === activeDataKey) && graphicalItemMatches;\n var inactiveShape = activeIndex ? inactiveShapeProp : null;\n var sectorOptions = activeShape && isActive ? activeShape : inactiveShape;\n var sectorProps = _objectSpread35(_objectSpread35({}, entry), {}, {\n stroke: entry.stroke,\n tabIndex: -1,\n [DATA_ITEM_INDEX_ATTRIBUTE_NAME]: i,\n [DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME]: id\n });\n return /* @__PURE__ */ React93.createElement(Layer, _extends22({\n key: \"sector-\".concat(entry === null || entry === void 0 ? void 0 : entry.startAngle, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i),\n tabIndex: -1,\n className: \"recharts-pie-sector\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React93.createElement(Shape, _extends22({\n option: shape !== null && shape !== void 0 ? shape : sectorOptions,\n index: i,\n shapeType: \"sector\",\n isActive\n }, sectorProps)));\n }));\n }\n function computePieSectors(_ref4) {\n var _pieSettings$paddingA;\n var {\n pieSettings,\n displayedData,\n cells,\n offset: offset4\n } = _ref4;\n var {\n cornerRadius,\n startAngle,\n endAngle,\n dataKey,\n nameKey,\n tooltipType\n } = pieSettings;\n var minAngle = Math.abs(pieSettings.minAngle);\n var deltaAngle = parseDeltaAngle(startAngle, endAngle);\n var absDeltaAngle = Math.abs(deltaAngle);\n var paddingAngle = displayedData.length <= 1 ? 0 : (_pieSettings$paddingA = pieSettings.paddingAngle) !== null && _pieSettings$paddingA !== void 0 ? _pieSettings$paddingA : 0;\n var notZeroItemCount = displayedData.filter((entry) => getValueByDataKey(entry, dataKey, 0) !== 0).length;\n var totalPaddingAngle = (absDeltaAngle >= 360 ? notZeroItemCount : notZeroItemCount - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - notZeroItemCount * minAngle - totalPaddingAngle;\n var sum = displayedData.reduce((result, entry) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n return result + (isNumber3(val) ? val : 0);\n }, 0);\n var sectors;\n if (sum > 0) {\n var prev;\n sectors = displayedData.map((entry, i) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var coordinate = parseCoordinateOfPie(pieSettings, offset4, entry);\n var percent = (isNumber3(val) ? val : 0) / sum;\n var tempStartAngle;\n var entryWithCellInfo = _objectSpread35(_objectSpread35({}, entry), cells && cells[i] && cells[i].props);\n var sectorColor = entryWithCellInfo != null && \"fill\" in entryWithCellInfo && typeof entryWithCellInfo.fill === \"string\" ? entryWithCellInfo.fill : pieSettings.fill;\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle * (val !== 0 ? 1 : 0);\n } else {\n tempStartAngle = startAngle;\n }\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * ((val !== 0 ? minAngle : 0) + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name,\n value: val,\n payload: entryWithCellInfo,\n dataKey,\n type: tooltipType,\n color: sectorColor,\n fill: sectorColor,\n graphicalItemId: pieSettings.id\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread35(_objectSpread35(_objectSpread35(_objectSpread35({}, pieSettings.presentationProps), {}, {\n percent,\n cornerRadius: typeof cornerRadius === \"string\" ? parseFloat(cornerRadius) : cornerRadius,\n name,\n tooltipPayload,\n midAngle,\n middleRadius,\n tooltipPosition\n }, entryWithCellInfo), coordinate), {}, {\n value: val,\n dataKey,\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entryWithCellInfo,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n return sectors;\n }\n function PieLabelListProvider(_ref5) {\n var {\n showLabels,\n sectors,\n children\n } = _ref5;\n var labelListEntries = (0, import_react45.useMemo)(() => {\n if (!showLabels || !sectors) {\n return [];\n }\n return sectors.map((entry) => ({\n value: entry.value,\n payload: entry.payload,\n clockWise: false,\n parentViewBox: void 0,\n viewBox: {\n cx: entry.cx,\n cy: entry.cy,\n innerRadius: entry.innerRadius,\n outerRadius: entry.outerRadius,\n startAngle: entry.startAngle,\n endAngle: entry.endAngle,\n clockWise: false\n },\n fill: entry.fill\n }));\n }, [sectors, showLabels]);\n return /* @__PURE__ */ React93.createElement(PolarLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function SectorsWithAnimation(_ref6) {\n var {\n props,\n previousSectorsRef,\n id\n } = _ref6;\n var {\n sectors,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n activeShape,\n inactiveShape,\n onAnimationStart,\n onAnimationEnd\n } = props;\n var animationId = useAnimationId(props, \"recharts-pie-\");\n var prevSectors = previousSectorsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react45.useState)(false);\n var handleAnimationEnd = (0, import_react45.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react45.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React93.createElement(PieLabelListProvider, {\n showLabels: !isAnimating,\n sectors\n }, /* @__PURE__ */ React93.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd,\n key: animationId\n }, (t2) => {\n var _first$startAngle;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = (_first$startAngle = first === null || first === void 0 ? void 0 : first.startAngle) !== null && _first$startAngle !== void 0 ? _first$startAngle : 0;\n sectors === null || sectors === void 0 || sectors.forEach((entry, index2) => {\n var prev = prevSectors && prevSectors[index2];\n var paddingAngle = index2 > 0 ? (0, import_get4.default)(entry, \"paddingAngle\", 0) : 0;\n if (prev) {\n var angle = interpolate(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle, t2);\n var latest3 = _objectSpread35(_objectSpread35({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angle + paddingAngle\n });\n stepData.push(latest3);\n curAngle = latest3.endAngle;\n } else {\n var {\n endAngle,\n startAngle\n } = entry;\n var deltaAngle = interpolate(0, endAngle - startAngle, t2);\n var _latest = _objectSpread35(_objectSpread35({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n previousSectorsRef.current = stepData;\n return /* @__PURE__ */ React93.createElement(Layer, null, /* @__PURE__ */ React93.createElement(PieSectors, {\n sectors: stepData,\n activeShape,\n inactiveShape,\n allOtherPieProps: props,\n shape: props.shape,\n id\n }));\n }), /* @__PURE__ */ React93.createElement(PieLabelList, {\n showLabels: !isAnimating,\n sectors,\n props\n }), props.children);\n }\n var defaultPieProps = {\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: \"ease\",\n cx: \"50%\",\n cy: \"50%\",\n dataKey: \"value\",\n endAngle: 360,\n fill: \"#808080\",\n hide: false,\n innerRadius: 0,\n isAnimationActive: \"auto\",\n label: false,\n labelLine: true,\n legendType: \"rect\",\n minAngle: 0,\n nameKey: \"name\",\n outerRadius: \"80%\",\n paddingAngle: 0,\n rootTabIndex: 0,\n startAngle: 0,\n stroke: \"#fff\",\n zIndex: DefaultZIndexes.area\n };\n function PieImpl(props) {\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties16(props, _excluded33);\n var {\n hide: hide4,\n className,\n rootTabIndex\n } = props;\n var cells = (0, import_react45.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var sectors = useAppSelector((state2) => selectPieSectors(state2, id, cells));\n var previousSectorsRef = (0, import_react45.useRef)(null);\n var layerClass = clsx(\"recharts-pie\", className);\n if (hide4 || sectors == null) {\n previousSectorsRef.current = null;\n return /* @__PURE__ */ React93.createElement(Layer, {\n tabIndex: rootTabIndex,\n className: layerClass\n });\n }\n return /* @__PURE__ */ React93.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React93.createElement(SetPieTooltipEntrySettings, {\n dataKey: props.dataKey,\n nameKey: props.nameKey,\n sectors,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id,\n activeShape: props.activeShape\n }), /* @__PURE__ */ React93.createElement(Layer, {\n tabIndex: rootTabIndex,\n className: layerClass\n }, /* @__PURE__ */ React93.createElement(SectorsWithAnimation, {\n props: _objectSpread35(_objectSpread35({}, propsWithoutId), {}, {\n sectors\n }),\n previousSectorsRef,\n id\n })));\n }\n function PieFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultPieProps);\n var {\n id: externalId\n } = props, propsWithoutId = _objectWithoutProperties16(props, _excluded42);\n var presentationProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React93.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"pie\"\n }, (id) => /* @__PURE__ */ React93.createElement(React93.Fragment, null, /* @__PURE__ */ React93.createElement(SetPolarGraphicalItem, {\n type: \"pie\",\n id,\n data: propsWithoutId.data,\n dataKey: propsWithoutId.dataKey,\n hide: propsWithoutId.hide,\n angleAxisId: 0,\n radiusAxisId: 0,\n name: propsWithoutId.name,\n nameKey: propsWithoutId.nameKey,\n tooltipType: propsWithoutId.tooltipType,\n legendType: propsWithoutId.legendType,\n fill: propsWithoutId.fill,\n cx: propsWithoutId.cx,\n cy: propsWithoutId.cy,\n startAngle: propsWithoutId.startAngle,\n endAngle: propsWithoutId.endAngle,\n paddingAngle: propsWithoutId.paddingAngle,\n minAngle: propsWithoutId.minAngle,\n innerRadius: propsWithoutId.innerRadius,\n outerRadius: propsWithoutId.outerRadius,\n cornerRadius: propsWithoutId.cornerRadius,\n presentationProps,\n maxRadius: props.maxRadius\n }), /* @__PURE__ */ React93.createElement(SetPiePayloadLegend, _extends22({}, propsWithoutId, {\n id\n })), /* @__PURE__ */ React93.createElement(PieImpl, _extends22({}, propsWithoutId, {\n id\n }))));\n }\n var Pie = PieFn;\n Pie.displayName = \"Pie\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Radar.js\n var React96 = __toESM(require_react());\n var import_react48 = __toESM(require_react());\n var import_last = __toESM(require_last3());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/Dots.js\n var React94 = __toESM(require_react());\n var import_react46 = __toESM(require_react());\n var _excluded17 = [\"points\"];\n function ownKeys36(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread36(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys36(Object(t2), true).forEach(function(r3) {\n _defineProperty38(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys36(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty38(e, r2, t2) {\n return (r2 = _toPropertyKey38(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey38(t2) {\n var i = _toPrimitive38(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive38(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends23() {\n return _extends23 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends23.apply(null, arguments);\n }\n function _objectWithoutProperties17(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose17(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose17(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function DotItem(_ref2) {\n var {\n option,\n dotProps,\n className\n } = _ref2;\n if (/* @__PURE__ */ (0, import_react46.isValidElement)(option)) {\n return /* @__PURE__ */ (0, import_react46.cloneElement)(option, dotProps);\n }\n if (typeof option === \"function\") {\n return option(dotProps);\n }\n var finalClassName = clsx(className, typeof option !== \"boolean\" ? option.className : \"\");\n var _ref22 = dotProps !== null && dotProps !== void 0 ? dotProps : {}, {\n points\n } = _ref22, props = _objectWithoutProperties17(_ref22, _excluded17);\n return /* @__PURE__ */ React94.createElement(Dot, _extends23({}, props, {\n className: finalClassName\n }));\n }\n function shouldRenderDots(points, dot) {\n if (points == null) {\n return false;\n }\n if (dot) {\n return true;\n }\n return points.length === 1;\n }\n function Dots(_ref3) {\n var {\n points,\n dot,\n className,\n dotClassName,\n dataKey,\n baseProps,\n needClip,\n clipPathId,\n zIndex = DefaultZIndexes.scatter\n } = _ref3;\n if (!shouldRenderDots(points, dot)) {\n return null;\n }\n var clipDot = isClipDot(dot);\n var customDotProps = svgPropertiesAndEventsFromUnknown(dot);\n var dots = points.map((entry, i) => {\n var _entry$x, _entry$y;\n var dotProps = _objectSpread36(_objectSpread36(_objectSpread36({\n r: 3\n }, baseProps), customDotProps), {}, {\n index: i,\n cx: (_entry$x = entry.x) !== null && _entry$x !== void 0 ? _entry$x : void 0,\n cy: (_entry$y = entry.y) !== null && _entry$y !== void 0 ? _entry$y : void 0,\n dataKey,\n value: entry.value,\n payload: entry.payload,\n points\n });\n return /* @__PURE__ */ React94.createElement(DotItem, {\n key: \"dot-\".concat(i),\n option: dot,\n dotProps,\n className: dotClassName\n });\n });\n var layerProps = {};\n if (needClip && clipPathId != null) {\n layerProps.clipPath = \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\");\n }\n return /* @__PURE__ */ React94.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React94.createElement(Layer, _extends23({\n className\n }, layerProps), dots));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ActivePoints.js\n var React95 = __toESM(require_react());\n var import_react47 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/cartesianAxisSlice.js\n function ownKeys37(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread37(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys37(Object(t2), true).forEach(function(r3) {\n _defineProperty39(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys37(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty39(e, r2, t2) {\n return (r2 = _toPropertyKey39(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey39(t2) {\n var i = _toPrimitive39(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive39(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultAxisId = 0;\n var initialState8 = {\n xAxis: {},\n yAxis: {},\n zAxis: {}\n };\n var cartesianAxisSlice = createSlice({\n name: \"cartesianAxis\",\n initialState: initialState8,\n reducers: {\n addXAxis: {\n reducer(state2, action) {\n state2.xAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceXAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.xAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.xAxis[prev.id];\n }\n state2.xAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeXAxis: {\n reducer(state2, action) {\n delete state2.xAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n addYAxis: {\n reducer(state2, action) {\n state2.yAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceYAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.yAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.yAxis[prev.id];\n }\n state2.yAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeYAxis: {\n reducer(state2, action) {\n delete state2.yAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n addZAxis: {\n reducer(state2, action) {\n state2.zAxis[action.payload.id] = castDraft(action.payload);\n },\n prepare: prepareAutoBatched()\n },\n replaceZAxis: {\n reducer(state2, action) {\n var {\n prev,\n next: next2\n } = action.payload;\n if (state2.zAxis[prev.id] !== void 0) {\n if (prev.id !== next2.id) {\n delete state2.zAxis[prev.id];\n }\n state2.zAxis[next2.id] = castDraft(next2);\n }\n },\n prepare: prepareAutoBatched()\n },\n removeZAxis: {\n reducer(state2, action) {\n delete state2.zAxis[action.payload.id];\n },\n prepare: prepareAutoBatched()\n },\n updateYAxisWidth(state2, action) {\n var {\n id,\n width\n } = action.payload;\n var axis = state2.yAxis[id];\n if (axis) {\n var _history$;\n var history = axis.widthHistory || [];\n if (history.length === 3 && history[0] === history[2] && width === history[1] && width !== axis.width && Math.abs(width - ((_history$ = history[0]) !== null && _history$ !== void 0 ? _history$ : 0)) <= 1) {\n return;\n }\n var newHistory = [...history, width].slice(-3);\n state2.yAxis[id] = _objectSpread37(_objectSpread37({}, axis), {}, {\n width,\n widthHistory: newHistory\n });\n }\n }\n }\n });\n var {\n addXAxis,\n replaceXAxis,\n removeXAxis,\n addYAxis,\n replaceYAxis,\n removeYAxis,\n addZAxis,\n replaceZAxis,\n removeZAxis,\n updateYAxisWidth\n } = cartesianAxisSlice.actions;\n var cartesianAxisReducer = cartesianAxisSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectChartOffset.js\n var selectChartOffset = createSelector([selectChartOffsetInternal], (offsetInternal) => {\n return {\n top: offsetInternal.top,\n bottom: offsetInternal.bottom,\n left: offsetInternal.left,\n right: offsetInternal.right\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectPlotArea.js\n var selectPlotArea = createSelector([selectChartOffset, selectChartWidth, selectChartHeight], (offset4, chartWidth, chartHeight) => {\n if (!offset4 || chartWidth == null || chartHeight == null) {\n return void 0;\n }\n return {\n x: offset4.left,\n y: offset4.top,\n width: Math.max(0, chartWidth - offset4.left - offset4.right),\n height: Math.max(0, chartHeight - offset4.top - offset4.bottom)\n };\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/hooks.js\n var usePlotArea = () => {\n return useAppSelector(selectPlotArea);\n };\n var useActiveTooltipDataPoints = () => {\n return useAppSelector(selectActiveTooltipDataPoints);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/component/ActivePoints.js\n function ownKeys38(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread38(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys38(Object(t2), true).forEach(function(r3) {\n _defineProperty40(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys38(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty40(e, r2, t2) {\n return (r2 = _toPropertyKey40(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey40(t2) {\n var i = _toPrimitive40(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive40(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var ActivePoint = (_ref2) => {\n var {\n point: point4,\n childIndex,\n mainColor,\n activeDot,\n dataKey,\n clipPath\n } = _ref2;\n if (activeDot === false || point4.x == null || point4.y == null) {\n return null;\n }\n var dotPropsTyped = {\n index: childIndex,\n dataKey,\n cx: point4.x,\n cy: point4.y,\n r: 4,\n fill: mainColor !== null && mainColor !== void 0 ? mainColor : \"none\",\n strokeWidth: 2,\n stroke: \"#fff\",\n payload: point4.payload,\n value: point4.value\n };\n var dotProps = _objectSpread38(_objectSpread38(_objectSpread38({}, dotPropsTyped), svgPropertiesNoEventsFromUnknown(activeDot)), adaptEventHandlers(activeDot));\n var dot;\n if (/* @__PURE__ */ (0, import_react47.isValidElement)(activeDot)) {\n dot = /* @__PURE__ */ (0, import_react47.cloneElement)(activeDot, dotProps);\n } else if (typeof activeDot === \"function\") {\n dot = activeDot(dotProps);\n } else {\n dot = /* @__PURE__ */ React95.createElement(Dot, dotProps);\n }\n return /* @__PURE__ */ React95.createElement(Layer, {\n className: \"recharts-active-dot\",\n clipPath\n }, dot);\n };\n function ActivePoints(_ref2) {\n var {\n points,\n mainColor,\n activeDot,\n itemDataKey,\n clipPath,\n zIndex = DefaultZIndexes.activeDot\n } = _ref2;\n var activeTooltipIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataPoints = useActiveTooltipDataPoints();\n if (points == null || activeDataPoints == null) {\n return null;\n }\n var activePoint = points.find((p) => activeDataPoints.includes(p.payload));\n if (isNullish(activePoint)) {\n return null;\n }\n return /* @__PURE__ */ React95.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React95.createElement(ActivePoint, {\n point: activePoint,\n childIndex: Number(activeTooltipIndex),\n mainColor,\n dataKey: itemDataKey,\n activeDot,\n clipPath\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/radarSelectors.js\n function ownKeys39(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread39(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys39(Object(t2), true).forEach(function(r3) {\n _defineProperty41(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys39(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty41(e, r2, t2) {\n return (r2 = _toPropertyKey41(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey41(t2) {\n var i = _toPrimitive41(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive41(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectRadiusAxisScale = (state2, radiusAxisId) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId);\n var selectRadiusAxisForRadar = createSelector([selectRadiusAxisScale], (scale) => {\n if (scale == null) {\n return void 0;\n }\n return {\n scale\n };\n });\n var selectRadiusAxisForBandSize = createSelector([selectRadiusAxis, selectRadiusAxisScale], (axisSettings, scale) => {\n if (axisSettings == null || scale == null) {\n return void 0;\n }\n return _objectSpread39(_objectSpread39({}, axisSettings), {}, {\n scale\n });\n });\n var selectRadiusAxisTicks2 = (state2, radiusAxisId, _angleAxisId, isPanorama) => {\n return selectPolarAxisTicks(state2, \"radiusAxis\", radiusAxisId, isPanorama);\n };\n var selectAngleAxisForRadar = (state2, _radiusAxisId, angleAxisId) => selectAngleAxis(state2, angleAxisId);\n var selectPolarAxisScaleForRadar = (state2, _radiusAxisId, angleAxisId) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId);\n var selectAngleAxisForBandSize = createSelector([selectAngleAxisForRadar, selectPolarAxisScaleForRadar], (axisSettings, scale) => {\n if (axisSettings == null || scale == null) {\n return void 0;\n }\n return _objectSpread39(_objectSpread39({}, axisSettings), {}, {\n scale\n });\n });\n var selectAngleAxisTicks2 = (state2, _radiusAxisId, angleAxisId, isPanorama) => {\n return selectPolarAxisTicks(state2, \"angleAxis\", angleAxisId, isPanorama);\n };\n var selectAngleAxisWithScaleAndViewport = createSelector([selectAngleAxisForRadar, selectPolarAxisScaleForRadar, selectPolarViewBox], (axisOptions, scale, polarViewBox) => {\n if (polarViewBox == null || scale == null) {\n return void 0;\n }\n return {\n scale,\n type: axisOptions.type,\n dataKey: axisOptions.dataKey,\n cx: polarViewBox.cx,\n cy: polarViewBox.cy\n };\n });\n var pickId2 = (_state, _radiusAxisId, _angleAxisId, _isPanorama, radarId) => radarId;\n var selectBandSizeOfAxis = createSelector([selectChartLayout, selectRadiusAxisForBandSize, selectRadiusAxisTicks2, selectAngleAxisForBandSize, selectAngleAxisTicks2], (layout, radiusAxis, radiusAxisTicks, angleAxis, angleAxisTicks) => {\n if (isCategoricalAxis(layout, \"radiusAxis\")) {\n return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, false);\n }\n return getBandSizeOfAxis(angleAxis, angleAxisTicks, false);\n });\n var selectSynchronisedRadarDataKey = createSelector([selectUnfilteredPolarItems, pickId2], (graphicalItems, radarId) => {\n if (graphicalItems == null) {\n return void 0;\n }\n var pgis = graphicalItems.find((item) => item.type === \"radar\" && radarId === item.id);\n return pgis === null || pgis === void 0 ? void 0 : pgis.dataKey;\n });\n var selectRadarPoints = createSelector([selectRadiusAxisForRadar, selectAngleAxisWithScaleAndViewport, selectChartDataAndAlwaysIgnoreIndexes, selectSynchronisedRadarDataKey, selectBandSizeOfAxis], (radiusAxis, angleAxis, _ref2, dataKey, bandSize) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (radiusAxis == null || angleAxis == null || chartData == null || bandSize == null || dataKey == null) {\n return void 0;\n }\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n return computeRadarPoints({\n radiusAxis,\n angleAxis,\n displayedData,\n dataKey,\n bandSize\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/Radar.js\n var _excluded18 = [\"id\"];\n function _extends24() {\n return _extends24 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends24.apply(null, arguments);\n }\n function ownKeys40(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread40(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys40(Object(t2), true).forEach(function(r3) {\n _defineProperty42(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys40(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty42(e, r2, t2) {\n return (r2 = _toPropertyKey42(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey42(t2) {\n var i = _toPrimitive42(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive42(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties18(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose18(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose18(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function getLegendItemColor(stroke, fill) {\n return stroke && stroke !== \"none\" ? stroke : fill;\n }\n var computeLegendPayloadFromRadarSectors = (props) => {\n var {\n dataKey,\n name,\n stroke,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: getLegendItemColor(stroke, fill),\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetRadarTooltipEntrySettings = /* @__PURE__ */ React96.memo((_ref2) => {\n var {\n dataKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n /*\n * I suppose this here _could_ return props.points\n * because while Radar does not support item tooltip mode, it _could_ support it.\n * But when I actually do return the points here, a defaultIndex test starts failing.\n * So, undefined it is.\n */\n dataDefinedOnItem: void 0,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n // RadarChart does not have nameKey unfortunately\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: getLegendItemColor(stroke, fill),\n unit: \"\",\n // why doesn't Radar support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React96.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function RadarDotsWrapper(_ref2) {\n var {\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties18(props, _excluded18);\n var baseProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React96.createElement(Dots, {\n points,\n dot,\n className: \"recharts-radar-dots\",\n dotClassName: \"recharts-radar-dot\",\n dataKey,\n baseProps\n });\n }\n function computeRadarPoints(_ref3) {\n var {\n radiusAxis,\n angleAxis,\n displayedData,\n dataKey,\n bandSize\n } = _ref3;\n var {\n cx: cx2,\n cy\n } = angleAxis;\n var isRange = false;\n var points = [];\n var angleBandSize = angleAxis.type !== \"number\" ? bandSize !== null && bandSize !== void 0 ? bandSize : 0 : 0;\n displayedData.forEach((entry, i) => {\n var _angleAxis$scale$map, _radiusAxis$scale$map;\n var name = getValueByDataKey(entry, angleAxis.dataKey, i);\n var value = getValueByDataKey(entry, dataKey);\n var angle = ((_angleAxis$scale$map = angleAxis.scale.map(name)) !== null && _angleAxis$scale$map !== void 0 ? _angleAxis$scale$map : 0) + angleBandSize;\n var pointValue = Array.isArray(value) ? (0, import_last.default)(value) : value;\n var radius = isNullish(pointValue) ? 0 : (_radiusAxis$scale$map = radiusAxis.scale.map(pointValue)) !== null && _radiusAxis$scale$map !== void 0 ? _radiusAxis$scale$map : 0;\n if (Array.isArray(value) && value.length >= 2) {\n isRange = true;\n }\n points.push(_objectSpread40(_objectSpread40({}, polarToCartesian(cx2, cy, radius, angle)), {}, {\n // getValueByDataKey does not validate the output type\n name,\n // getValueByDataKey does not validate the output type\n value,\n cx: cx2,\n cy,\n radius,\n angle,\n payload: entry\n }));\n });\n var baseLinePoints = [];\n if (isRange) {\n points.forEach((point4) => {\n if (Array.isArray(point4.value)) {\n var _radiusAxis$scale$map2;\n var baseValue = point4.value[0];\n var radius = isNullish(baseValue) ? 0 : (_radiusAxis$scale$map2 = radiusAxis.scale.map(baseValue)) !== null && _radiusAxis$scale$map2 !== void 0 ? _radiusAxis$scale$map2 : 0;\n baseLinePoints.push(_objectSpread40(_objectSpread40({}, point4), {}, {\n radius\n }, polarToCartesian(cx2, cy, radius, point4.angle)));\n } else {\n baseLinePoints.push(point4);\n }\n });\n }\n return {\n points,\n isRange,\n baseLinePoints\n };\n }\n function RadarLabelListProvider(_ref4) {\n var {\n showLabels,\n points,\n children\n } = _ref4;\n var labelListEntries = points.map((point4) => {\n var _point$value;\n var viewBox = {\n x: point4.x,\n y: point4.y,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread40(_objectSpread40({}, viewBox), {}, {\n value: (_point$value = point4.value) !== null && _point$value !== void 0 ? _point$value : \"\",\n payload: point4.payload,\n parentViewBox: void 0,\n viewBox,\n fill: void 0\n });\n });\n return /* @__PURE__ */ React96.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticPolygon(_ref5) {\n var {\n points,\n baseLinePoints,\n props\n } = _ref5;\n if (points == null) {\n return null;\n }\n var {\n shape,\n isRange,\n connectNulls\n } = props;\n var handleMouseEnter = (e) => {\n var {\n onMouseEnter\n } = props;\n if (onMouseEnter) {\n onMouseEnter(props, e);\n }\n };\n var handleMouseLeave = (e) => {\n var {\n onMouseLeave\n } = props;\n if (onMouseLeave) {\n onMouseLeave(props, e);\n }\n };\n var radar;\n if (/* @__PURE__ */ React96.isValidElement(shape)) {\n radar = /* @__PURE__ */ React96.cloneElement(shape, _objectSpread40(_objectSpread40({}, props), {}, {\n points\n }));\n } else if (typeof shape === \"function\") {\n radar = shape(_objectSpread40(_objectSpread40({}, props), {}, {\n points\n }));\n } else {\n radar = /* @__PURE__ */ React96.createElement(Polygon, _extends24({}, svgPropertiesAndEvents(props), {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n points,\n baseLinePoints: isRange ? baseLinePoints : void 0,\n connectNulls\n }));\n }\n return /* @__PURE__ */ React96.createElement(Layer, {\n className: \"recharts-radar-polygon\"\n }, radar, /* @__PURE__ */ React96.createElement(RadarDotsWrapper, {\n props,\n points\n }));\n }\n var interpolatePolarPoint = (prevPoints, prevPointsDiffFactor, t2) => (entry, index2) => {\n var prev = prevPoints && prevPoints[Math.floor(index2 * prevPointsDiffFactor)];\n if (prev) {\n return _objectSpread40(_objectSpread40({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return _objectSpread40(_objectSpread40({}, entry), {}, {\n x: interpolate(entry.cx, entry.x, t2),\n y: interpolate(entry.cy, entry.y, t2)\n });\n };\n function PolygonWithAnimation(_ref6) {\n var {\n props,\n previousPointsRef,\n previousBaseLinePointsRef\n } = _ref6;\n var {\n points,\n baseLinePoints,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var prevBaseLinePoints = previousBaseLinePointsRef.current;\n var prevPointsDiffFactor = prevPoints ? prevPoints.length / points.length : 1;\n var prevBaseLinePointsDiffFactor = prevBaseLinePoints ? prevBaseLinePoints.length / baseLinePoints.length : 1;\n var animationId = useAnimationId(props, \"recharts-radar-\");\n var [isAnimating, setIsAnimating] = (0, import_react48.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react48.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react48.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React96.createElement(RadarLabelListProvider, {\n showLabels,\n points\n }, /* @__PURE__ */ React96.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n key: \"radar-\".concat(animationId),\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart\n }, (t2) => {\n var stepData = t2 === 1 ? points : points.map(interpolatePolarPoint(prevPoints, prevPointsDiffFactor, t2));\n var stepBaseLinePoints = t2 === 1 ? baseLinePoints : baseLinePoints === null || baseLinePoints === void 0 ? void 0 : baseLinePoints.map(interpolatePolarPoint(prevBaseLinePoints, prevBaseLinePointsDiffFactor, t2));\n if (t2 > 0) {\n previousPointsRef.current = stepData;\n previousBaseLinePointsRef.current = stepBaseLinePoints;\n }\n return /* @__PURE__ */ React96.createElement(StaticPolygon, {\n points: stepData,\n baseLinePoints: stepBaseLinePoints,\n props\n });\n }), /* @__PURE__ */ React96.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderPolygon(props) {\n var previousPointsRef = (0, import_react48.useRef)(void 0);\n var previousBaseLinePointsRef = (0, import_react48.useRef)(void 0);\n return /* @__PURE__ */ React96.createElement(PolygonWithAnimation, {\n props,\n previousPointsRef,\n previousBaseLinePointsRef\n });\n }\n var defaultRadarProps = {\n activeDot: true,\n angleAxisId: 0,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n dot: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n radiusAxisId: 0,\n zIndex: DefaultZIndexes.area\n };\n function RadarWithState(props) {\n var {\n hide: hide4,\n className,\n points\n } = props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-radar\", className);\n return /* @__PURE__ */ React96.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React96.createElement(Layer, {\n className: layerClass\n }, /* @__PURE__ */ React96.createElement(RenderPolygon, props)), /* @__PURE__ */ React96.createElement(ActivePoints, {\n points,\n mainColor: getLegendItemColor(props.stroke, props.fill),\n itemDataKey: props.dataKey,\n activeDot: props.activeDot\n }));\n }\n function RadarImpl(props) {\n var isPanorama = useIsPanorama();\n var radarPoints = useAppSelector((state2) => selectRadarPoints(state2, props.radiusAxisId, props.angleAxisId, isPanorama, props.id));\n if ((radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.points) == null) {\n return null;\n }\n return /* @__PURE__ */ React96.createElement(RadarWithState, _extends24({}, props, {\n points: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.points,\n baseLinePoints: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.baseLinePoints,\n isRange: radarPoints === null || radarPoints === void 0 ? void 0 : radarPoints.isRange\n }));\n }\n function Radar(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultRadarProps);\n return /* @__PURE__ */ React96.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"radar\"\n }, (id) => /* @__PURE__ */ React96.createElement(React96.Fragment, null, /* @__PURE__ */ React96.createElement(SetPolarGraphicalItem, {\n type: \"radar\",\n id,\n data: void 0,\n dataKey: props.dataKey,\n hide: props.hide,\n angleAxisId: props.angleAxisId,\n radiusAxisId: props.radiusAxisId\n }), /* @__PURE__ */ React96.createElement(SetPolarLegendPayload, {\n legendPayload: computeLegendPayloadFromRadarSectors(props)\n }), /* @__PURE__ */ React96.createElement(SetRadarTooltipEntrySettings, {\n dataKey: props.dataKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React96.createElement(RadarImpl, _extends24({}, props, {\n id\n }))));\n }\n Radar.displayName = \"Radar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/RadialBar.js\n var React98 = __toESM(require_react());\n var import_react49 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/RadialBarUtils.js\n var React97 = __toESM(require_react());\n function _extends25() {\n return _extends25 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends25.apply(null, arguments);\n }\n function parseCornerRadius(cornerRadius) {\n if (typeof cornerRadius === \"string\") {\n return parseInt(cornerRadius, 10);\n }\n return cornerRadius;\n }\n function RadialBarSector(props) {\n return /* @__PURE__ */ React97.createElement(Shape, _extends25({\n shapeType: \"sector\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineBarSizeList.js\n var getBarSize = (globalSize, totalSize, selfSize) => {\n var barSize = selfSize !== null && selfSize !== void 0 ? selfSize : globalSize;\n if (isNullish(barSize)) {\n return void 0;\n }\n return getPercentValue(barSize, totalSize, 0);\n };\n var combineBarSizeList = (allBars, globalSize, totalSize) => {\n var initialValue = {};\n var stackedBars = allBars.filter(isStacked);\n var unstackedBars = allBars.filter((b) => b.stackId == null);\n var groupByStack = stackedBars.reduce((acc, bar) => {\n var s2 = acc[bar.stackId];\n if (s2 == null) {\n s2 = [];\n }\n s2.push(bar);\n acc[bar.stackId] = s2;\n return acc;\n }, initialValue);\n var stackedSizeList = Object.entries(groupByStack).map((_ref2) => {\n var _bars$;\n var [stackId, bars] = _ref2;\n var dataKeys = bars.map((b) => b.dataKey);\n var barSize = getBarSize(globalSize, totalSize, (_bars$ = bars[0]) === null || _bars$ === void 0 ? void 0 : _bars$.barSize);\n return {\n stackId,\n dataKeys,\n barSize\n };\n });\n var unstackedSizeList = unstackedBars.map((b) => {\n var dataKeys = [b.dataKey].filter((dk) => dk != null);\n var barSize = getBarSize(globalSize, totalSize, b.barSize);\n return {\n stackId: void 0,\n dataKeys,\n barSize\n };\n });\n return [...stackedSizeList, ...unstackedSizeList];\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineAllBarPositions.js\n function ownKeys41(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread41(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys41(Object(t2), true).forEach(function(r3) {\n _defineProperty43(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys41(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty43(e, r2, t2) {\n return (r2 = _toPropertyKey43(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey43(t2) {\n var i = _toPrimitive43(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive43(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getBarPositions(barGap, barCategoryGap, bandSize, sizeList, maxBarSize) {\n var _sizeList$;\n var len = sizeList.length;\n if (len < 1) {\n return void 0;\n }\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result;\n var initialValue = [];\n if (isWellBehavedNumber((_sizeList$ = sizeList[0]) === null || _sizeList$ === void 0 ? void 0 : _sizeList$.barSize)) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce((res, entry) => res + (entry.barSize || 0), 0);\n sum += (len - 1) * realBarGap;\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n var offset4 = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset4 - realBarGap,\n size: 0\n };\n result = sizeList.reduce((res, entry) => {\n var _entry$barSize;\n var newPosition = {\n stackId: entry.stackId,\n dataKeys: entry.dataKeys,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : (_entry$barSize = entry.barSize) !== null && _entry$barSize !== void 0 ? _entry$barSize : 0\n }\n };\n var newRes = [...res, newPosition];\n prev = newPosition.position;\n return newRes;\n }, initialValue);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n var size4 = isWellBehavedNumber(maxBarSize) ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce((res, entry, i) => [...res, {\n stackId: entry.stackId,\n dataKeys: entry.dataKeys,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size4) / 2,\n size: size4\n }\n }], initialValue);\n }\n return result;\n }\n var combineAllBarPositions = (sizeList, globalMaxBarSize, barGap, barCategoryGap, barBandSize, bandSize, childMaxBarSize) => {\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var allBarPositions = getBarPositions(barGap, barCategoryGap, barBandSize !== bandSize ? barBandSize : bandSize, sizeList, maxBarSize);\n if (barBandSize !== bandSize && allBarPositions != null) {\n allBarPositions = allBarPositions.map((pos) => _objectSpread41(_objectSpread41({}, pos), {}, {\n position: _objectSpread41(_objectSpread41({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n }));\n }\n return allBarPositions;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineStackedData.js\n var combineStackedData = (stackGroups, barSettings) => {\n var stackSeriesIdentifier = getStackSeriesIdentifier(barSettings);\n if (!stackGroups || stackSeriesIdentifier == null || barSettings == null) {\n return void 0;\n }\n var {\n stackId\n } = barSettings;\n if (stackId == null) {\n return void 0;\n }\n var stackGroup = stackGroups[stackId];\n if (!stackGroup) {\n return void 0;\n }\n var {\n stackedData\n } = stackGroup;\n if (!stackedData) {\n return void 0;\n }\n return stackedData.find((sd) => sd.key === stackSeriesIdentifier);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/combiners/combineBarPosition.js\n var combineBarPosition = (allBarPositions, barSettings) => {\n if (allBarPositions == null || barSettings == null) {\n return void 0;\n }\n var position2 = allBarPositions.find((p) => p.stackId === barSettings.stackId && barSettings.dataKey != null && p.dataKeys.includes(barSettings.dataKey));\n if (position2 == null) {\n return void 0;\n }\n return position2.position;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/radialBarSelectors.js\n function ownKeys42(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread42(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys42(Object(t2), true).forEach(function(r3) {\n _defineProperty44(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys42(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty44(e, r2, t2) {\n return (r2 = _toPropertyKey44(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey44(t2) {\n var i = _toPrimitive44(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive44(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var selectRadiusAxisForRadialBar = (state2, radiusAxisId) => selectRadiusAxis(state2, radiusAxisId);\n var selectRadiusAxisScaleForRadar = (state2, radiusAxisId) => selectPolarAxisScale(state2, \"radiusAxis\", radiusAxisId);\n var selectRadiusAxisWithScale = createSelector([selectRadiusAxisForRadialBar, selectRadiusAxisScaleForRadar], (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread42(_objectSpread42({}, axis), {}, {\n scale\n });\n });\n var selectRadiusAxisTicks3 = (state2, radiusAxisId) => {\n return selectPolarGraphicalItemAxisTicks(state2, \"radiusAxis\", radiusAxisId, false);\n };\n var selectAngleAxisForRadialBar = (state2, _radiusAxisId, angleAxisId) => selectAngleAxis(state2, angleAxisId);\n var selectAngleAxisScaleForRadialBar = (state2, _radiusAxisId, angleAxisId) => selectPolarAxisScale(state2, \"angleAxis\", angleAxisId);\n var selectAngleAxisWithScale = createSelector([selectAngleAxisForRadialBar, selectAngleAxisScaleForRadialBar], (axis, scale) => {\n if (axis == null || scale == null) {\n return void 0;\n }\n return _objectSpread42(_objectSpread42({}, axis), {}, {\n scale\n });\n });\n var selectAngleAxisTicks3 = (state2, _radiusAxisId, angleAxisId) => {\n return selectPolarAxisTicks(state2, \"angleAxis\", angleAxisId, false);\n };\n var pickRadialBarSettings = (_state, _radiusAxisId, _angleAxisId, radialBarSettings) => radialBarSettings;\n var selectSynchronisedRadialBarSettings = createSelector([selectUnfilteredPolarItems, pickRadialBarSettings], (graphicalItems, radialBarSettingsFromProps) => {\n if (graphicalItems.some((pgis) => pgis.type === \"radialBar\" && radialBarSettingsFromProps.dataKey === pgis.dataKey && radialBarSettingsFromProps.stackId === pgis.stackId)) {\n return radialBarSettingsFromProps;\n }\n return void 0;\n });\n var selectBandSizeOfPolarAxis = createSelector([selectChartLayout, selectRadiusAxisWithScale, selectRadiusAxisTicks3, selectAngleAxisWithScale, selectAngleAxisTicks3], (layout, radiusAxis, radiusAxisTicks, angleAxis, angleAxisTicks) => {\n if (isCategoricalAxis(layout, \"radiusAxis\")) {\n return getBandSizeOfAxis(radiusAxis, radiusAxisTicks, false);\n }\n return getBandSizeOfAxis(angleAxis, angleAxisTicks, false);\n });\n var selectBaseValue = createSelector([selectAngleAxisWithScale, selectRadiusAxisWithScale, selectChartLayout], (angleAxis, radiusAxis, layout) => {\n var numericAxis = layout === \"radial\" ? angleAxis : radiusAxis;\n if (numericAxis == null || numericAxis.scale == null) {\n return void 0;\n }\n return getBaseValueOfBar({\n numericAxis\n });\n });\n var pickCells2 = (_state, _radiusAxisId, _angleAxisId, _radialBarSettings, cells) => cells;\n var pickAngleAxisId = (_state, _radiusAxisId, angleAxisId, _radialBarSettings, _cells) => angleAxisId;\n var pickRadiusAxisId = (_state, radiusAxisId, _angleAxisId, _radialBarSettings, _cells) => radiusAxisId;\n var pickMaxBarSize = (_state, _radiusAxisId, _angleAxisId, radialBarSettings, _cells) => radialBarSettings.maxBarSize;\n var isRadialBar = (item) => item.type === \"radialBar\";\n var selectAllVisibleRadialBars = createSelector([selectChartLayout, selectUnfilteredPolarItems, pickAngleAxisId, pickRadiusAxisId], (layout, allItems, angleAxisId, radiusAxisId) => {\n return allItems.filter((i) => {\n if (layout === \"centric\") {\n return i.angleAxisId === angleAxisId;\n }\n return i.radiusAxisId === radiusAxisId;\n }).filter((i) => i.hide === false).filter(isRadialBar);\n });\n var selectPolarBarAxisSize = () => void 0;\n var selectPolarBarSizeList = createSelector([selectAllVisibleRadialBars, selectRootBarSize, selectPolarBarAxisSize], combineBarSizeList);\n var selectPolarBarBandSize = createSelector([selectChartLayout, selectRootMaxBarSize, selectAngleAxisWithScale, selectAngleAxisTicks3, selectRadiusAxisWithScale, selectRadiusAxisTicks3, pickMaxBarSize], (layout, globalMaxBarSize, angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, childMaxBarSize) => {\n var _ref2, _getBandSizeOfAxis2;\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n if (layout === \"centric\") {\n var _ref3, _getBandSizeOfAxis;\n return (_ref3 = (_getBandSizeOfAxis = getBandSizeOfAxis(angleAxis, angleAxisTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref3 !== void 0 ? _ref3 : 0;\n }\n return (_ref2 = (_getBandSizeOfAxis2 = getBandSizeOfAxis(radiusAxis, radiusAxisTicks, true)) !== null && _getBandSizeOfAxis2 !== void 0 ? _getBandSizeOfAxis2 : maxBarSize) !== null && _ref2 !== void 0 ? _ref2 : 0;\n });\n var selectAllPolarBarPositions = createSelector([selectPolarBarSizeList, selectRootMaxBarSize, selectBarGap, selectBarCategoryGap, selectPolarBarBandSize, selectBandSizeOfPolarAxis, pickMaxBarSize], combineAllBarPositions);\n var selectPolarBarPosition = createSelector([selectAllPolarBarPositions, selectSynchronisedRadialBarSettings], combineBarPosition);\n var selectStackedRadialBars = createSelector([selectPolarItemsSettings], (allPolarItems) => allPolarItems.filter(isRadialBar).filter(isStacked));\n var selectPolarCombinedStackedData = createSelector([selectStackedRadialBars, selectChartDataAndAlwaysIgnoreIndexes, selectTooltipAxis], combineDisplayedStackedData);\n var selectStackGroups2 = createSelector([selectPolarCombinedStackedData, selectStackedRadialBars, selectStackOffsetType, selectReverseStackOrder], combineStackGroups);\n var selectRadialBarStackGroups = (state2, radiusAxisId, angleAxisId) => {\n var layout = selectChartLayout(state2);\n if (layout === \"centric\") {\n return selectStackGroups2(state2, \"radiusAxis\", radiusAxisId);\n }\n return selectStackGroups2(state2, \"angleAxis\", angleAxisId);\n };\n var selectPolarStackedData = createSelector([selectRadialBarStackGroups, selectSynchronisedRadialBarSettings], combineStackedData);\n var selectRadialBarSectors = createSelector([selectAngleAxisWithScale, selectAngleAxisTicks3, selectRadiusAxisWithScale, selectRadiusAxisTicks3, selectChartDataWithIndexes, selectSynchronisedRadialBarSettings, selectBandSizeOfPolarAxis, selectChartLayout, selectBaseValue, selectPolarViewBox, pickCells2, selectPolarBarPosition, selectPolarStackedData], (angleAxis, angleAxisTicks, radiusAxis, radiusAxisTicks, _ref3, radialBarSettings, bandSize, layout, baseValue, polarViewBox, cells, pos, stackedData) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref3;\n if (radialBarSettings == null || radiusAxis == null || angleAxis == null || chartData == null || bandSize == null || pos == null || layout !== \"centric\" && layout !== \"radial\" || radiusAxisTicks == null || polarViewBox == null) {\n return [];\n }\n var {\n dataKey,\n minPointSize\n } = radialBarSettings;\n var {\n cx: cx2,\n cy,\n startAngle,\n endAngle\n } = polarViewBox;\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n var numericAxis = layout === \"centric\" ? radiusAxis : angleAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n return computeRadialBarDataItems({\n angleAxis,\n angleAxisTicks,\n bandSize,\n baseValue,\n cells,\n cx: cx2,\n cy,\n dataKey,\n dataStartIndex,\n displayedData,\n endAngle,\n layout,\n minPointSize,\n pos,\n radiusAxis,\n radiusAxisTicks,\n stackedData,\n stackedDomain,\n startAngle\n });\n });\n var selectRadialBarLegendPayload = createSelector([selectChartDataAndAlwaysIgnoreIndexes, (_s, l) => l], (_ref4, legendType) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref4;\n if (chartData == null) {\n return [];\n }\n var displayedData = chartData.slice(dataStartIndex, dataEndIndex + 1);\n if (displayedData.length === 0) {\n return [];\n }\n return displayedData.map((entry) => {\n return {\n type: legendType,\n // @ts-expect-error we need a better typing for our data inputs\n value: entry.name,\n // @ts-expect-error we need a better typing for our data inputs\n color: entry.fill,\n // @ts-expect-error Legend payload.payload says it wants objects but our data can be unknown\n payload: entry\n };\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/getZIndexFromUnknown.js\n function getZIndexFromUnknown(input2, defaultZIndex) {\n if (input2 && typeof input2 === \"object\" && \"zIndex\" in input2 && typeof input2.zIndex === \"number\" && isWellBehavedNumber(input2.zIndex)) {\n return input2.zIndex;\n }\n return defaultZIndex;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/polar/RadialBar.js\n var _excluded19 = [\"shape\", \"activeShape\", \"cornerRadius\", \"id\"];\n var _excluded29 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded34 = [\"value\", \"background\"];\n function _extends26() {\n return _extends26 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends26.apply(null, arguments);\n }\n function ownKeys43(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread43(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys43(Object(t2), true).forEach(function(r3) {\n _defineProperty45(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys43(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty45(e, r2, t2) {\n return (r2 = _toPropertyKey45(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey45(t2) {\n var i = _toPrimitive45(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive45(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties19(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose19(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose19(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var STABLE_EMPTY_ARRAY = [];\n function RadialBarLabelListProvider(_ref2) {\n var {\n showLabels,\n sectors,\n children\n } = _ref2;\n var labelListEntries = sectors.map((sector) => ({\n value: sector.value,\n payload: sector.payload,\n parentViewBox: void 0,\n clockWise: false,\n viewBox: {\n cx: sector.cx,\n cy: sector.cy,\n innerRadius: sector.innerRadius,\n outerRadius: sector.outerRadius,\n startAngle: sector.startAngle,\n endAngle: sector.endAngle,\n clockWise: false\n },\n fill: sector.fill\n }));\n return /* @__PURE__ */ React98.createElement(PolarLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function RadialBarSectors(_ref2) {\n var {\n sectors,\n allOtherRadialBarProps,\n showLabels\n } = _ref2;\n var {\n shape,\n activeShape,\n cornerRadius,\n id\n } = allOtherRadialBarProps, others = _objectWithoutProperties19(allOtherRadialBarProps, _excluded19);\n var baseProps = svgPropertiesNoEvents(others);\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherRadialBarProps, restOfAllOtherProps = _objectWithoutProperties19(allOtherRadialBarProps, _excluded29);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherRadialBarProps.dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherRadialBarProps.dataKey, id);\n if (sectors == null) {\n return null;\n }\n return /* @__PURE__ */ React98.createElement(RadialBarLabelListProvider, {\n showLabels,\n sectors\n }, sectors.map((entry, i) => {\n var isActive = Boolean(activeShape && activeIndex === String(i));\n var onMouseEnter = onMouseEnterFromContext(entry, i);\n var onMouseLeave = onMouseLeaveFromContext(entry, i);\n var onClick = onClickFromContext(entry, i);\n var radialBarSectorProps = _objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43({}, baseProps), {}, {\n cornerRadius: parseCornerRadius(cornerRadius)\n }, entry), adaptEventsOfChild(restOfAllOtherProps, entry, i)), {}, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n className: \"recharts-radial-bar-sector \".concat(entry.className),\n forceCornerRadius: others.forceCornerRadius,\n cornerIsExternal: others.cornerIsExternal,\n isActive,\n option: isActive ? activeShape : shape,\n index: i\n });\n if (isActive) {\n return /* @__PURE__ */ React98.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.activeBar,\n key: \"sector-\".concat(entry.cx, \"-\").concat(entry.cy, \"-\").concat(entry.innerRadius, \"-\").concat(entry.outerRadius, \"-\").concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(i)\n }, /* @__PURE__ */ React98.createElement(RadialBarSector, radialBarSectorProps));\n }\n return /* @__PURE__ */ React98.createElement(RadialBarSector, _extends26({\n key: \"sector-\".concat(entry.cx, \"-\").concat(entry.cy, \"-\").concat(entry.innerRadius, \"-\").concat(entry.outerRadius, \"-\").concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(i)\n }, radialBarSectorProps));\n }), /* @__PURE__ */ React98.createElement(LabelListFromLabelProp, {\n label: allOtherRadialBarProps.label\n }), allOtherRadialBarProps.children);\n }\n function SectorsWithAnimation2(_ref3) {\n var {\n props,\n previousSectorsRef\n } = _ref3;\n var {\n sectors,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var animationId = useAnimationId(props, \"recharts-radialbar-\");\n var prevData = previousSectorsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react49.useState)(false);\n var handleAnimationEnd = (0, import_react49.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react49.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React98.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? sectors : (sectors !== null && sectors !== void 0 ? sectors : STABLE_EMPTY_ARRAY).map((entry, index2) => {\n var prev = prevData && prevData[index2];\n if (prev) {\n return _objectSpread43(_objectSpread43({}, entry), {}, {\n startAngle: interpolate(prev.startAngle, entry.startAngle, t2),\n endAngle: interpolate(prev.endAngle, entry.endAngle, t2)\n });\n }\n var {\n endAngle,\n startAngle\n } = entry;\n return _objectSpread43(_objectSpread43({}, entry), {}, {\n endAngle: interpolate(startAngle, endAngle, t2)\n });\n });\n if (t2 > 0) {\n previousSectorsRef.current = stepData !== null && stepData !== void 0 ? stepData : null;\n }\n return /* @__PURE__ */ React98.createElement(RadialBarSectors, {\n sectors: stepData !== null && stepData !== void 0 ? stepData : STABLE_EMPTY_ARRAY,\n allOtherRadialBarProps: props,\n showLabels: !isAnimating\n });\n });\n }\n function RenderSectors(props) {\n var previousSectorsRef = (0, import_react49.useRef)(null);\n return /* @__PURE__ */ React98.createElement(SectorsWithAnimation2, {\n props,\n previousSectorsRef\n });\n }\n function SetRadialBarPayloadLegend(props) {\n var legendPayload = useAppSelector((state2) => selectRadialBarLegendPayload(state2, props.legendType));\n return /* @__PURE__ */ React98.createElement(SetPolarLegendPayload, {\n legendPayload: legendPayload !== null && legendPayload !== void 0 ? legendPayload : []\n });\n }\n var SetRadialBarTooltipEntrySettings = /* @__PURE__ */ React98.memo((_ref4) => {\n var {\n dataKey,\n sectors,\n stroke,\n strokeWidth,\n name,\n hide: hide4,\n fill,\n tooltipType,\n id\n } = _ref4;\n var tooltipEntrySettings = {\n dataDefinedOnItem: sectors,\n getPosition: noop4,\n settings: {\n graphicalItemId: id,\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n // RadialBar does not have nameKey, why?\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\"\n // Why does RadialBar not support unit?\n }\n };\n return /* @__PURE__ */ React98.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var RadialBarWithState = class extends import_react49.PureComponent {\n renderBackground(sectors) {\n if (sectors == null) {\n return null;\n }\n var {\n cornerRadius\n } = this.props;\n var backgroundProps = svgPropertiesNoEventsFromUnknown(this.props.background);\n return /* @__PURE__ */ React98.createElement(ZIndexLayer, {\n zIndex: getZIndexFromUnknown(this.props.background, DefaultZIndexes.barBackground)\n }, sectors.map((entry, i) => {\n var {\n value,\n background\n } = entry, rest = _objectWithoutProperties19(entry, _excluded34);\n if (!background) {\n return null;\n }\n var props = _objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43(_objectSpread43({\n cornerRadius: parseCornerRadius(cornerRadius)\n }, rest), {}, {\n // @ts-expect-error backgroundProps is contributing unknown props\n fill: \"#eee\"\n }, background), backgroundProps), adaptEventsOfChild(this.props, entry, i)), {}, {\n index: i,\n className: clsx(\"recharts-radial-bar-background-sector\", String(backgroundProps === null || backgroundProps === void 0 ? void 0 : backgroundProps.className)),\n option: background,\n isActive: false\n });\n return /* @__PURE__ */ React98.createElement(RadialBarSector, _extends26({\n key: \"background-\".concat(rest.cx, \"-\").concat(rest.cy, \"-\").concat(rest.innerRadius, \"-\").concat(rest.outerRadius, \"-\").concat(rest.startAngle, \"-\").concat(rest.endAngle, \"-\").concat(i)\n }, props));\n }));\n }\n render() {\n var {\n hide: hide4,\n sectors,\n className,\n background\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-area\", className);\n return /* @__PURE__ */ React98.createElement(ZIndexLayer, {\n zIndex: this.props.zIndex\n }, /* @__PURE__ */ React98.createElement(Layer, {\n className: layerClass\n }, background && /* @__PURE__ */ React98.createElement(Layer, {\n className: \"recharts-radial-bar-background\"\n }, this.renderBackground(sectors)), /* @__PURE__ */ React98.createElement(Layer, {\n className: \"recharts-radial-bar-sectors\"\n }, /* @__PURE__ */ React98.createElement(RenderSectors, this.props))));\n }\n };\n function RadialBarImpl(props) {\n var _useAppSelector;\n var cells = React98.useMemo(() => findAllByType(props.children, Cell), [props.children]);\n var radialBarSettings = React98.useMemo(() => ({\n data: void 0,\n hide: false,\n id: props.id,\n dataKey: props.dataKey,\n minPointSize: props.minPointSize,\n stackId: getNormalizedStackId(props.stackId),\n maxBarSize: props.maxBarSize,\n barSize: props.barSize,\n type: \"radialBar\",\n angleAxisId: props.angleAxisId,\n radiusAxisId: props.radiusAxisId\n }), [props.id, props.dataKey, props.minPointSize, props.stackId, props.maxBarSize, props.barSize, props.angleAxisId, props.radiusAxisId]);\n var sectors = (_useAppSelector = useAppSelector((state2) => selectRadialBarSectors(state2, props.radiusAxisId, props.angleAxisId, radialBarSettings, cells))) !== null && _useAppSelector !== void 0 ? _useAppSelector : STABLE_EMPTY_ARRAY;\n return /* @__PURE__ */ React98.createElement(React98.Fragment, null, /* @__PURE__ */ React98.createElement(SetRadialBarTooltipEntrySettings, {\n dataKey: props.dataKey,\n sectors,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n name: props.name,\n hide: props.hide,\n fill: props.fill,\n tooltipType: props.tooltipType,\n id: props.id\n }), /* @__PURE__ */ React98.createElement(RadialBarWithState, _extends26({}, props, {\n sectors\n })));\n }\n var defaultRadialBarProps = {\n angleAxisId: 0,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n background: false,\n cornerIsExternal: false,\n cornerRadius: 0,\n forceCornerRadius: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n minPointSize: 0,\n radiusAxisId: 0,\n zIndex: DefaultZIndexes.bar\n };\n function computeRadialBarDataItems(_ref5) {\n var {\n displayedData,\n stackedData,\n dataStartIndex,\n stackedDomain,\n dataKey,\n baseValue,\n layout,\n radiusAxis,\n radiusAxisTicks,\n bandSize,\n pos,\n angleAxis,\n minPointSize,\n cx: cx2,\n cy,\n angleAxisTicks,\n cells,\n startAngle: rootStartAngle,\n endAngle: rootEndAngle\n } = _ref5;\n if (angleAxisTicks == null || radiusAxisTicks == null) {\n return STABLE_EMPTY_ARRAY;\n }\n return (displayedData !== null && displayedData !== void 0 ? displayedData : []).map((entry, index2) => {\n var value, innerRadius, outerRadius, startAngle, endAngle, backgroundSector;\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index2], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n if (layout === \"radial\") {\n var _angleAxis$scale$map, _angleAxis$scale$map2;\n startAngle = (_angleAxis$scale$map = angleAxis.scale.map(value[0])) !== null && _angleAxis$scale$map !== void 0 ? _angleAxis$scale$map : rootStartAngle;\n endAngle = (_angleAxis$scale$map2 = angleAxis.scale.map(value[1])) !== null && _angleAxis$scale$map2 !== void 0 ? _angleAxis$scale$map2 : rootEndAngle;\n innerRadius = getCateCoordinateOfBar({\n axis: radiusAxis,\n ticks: radiusAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n if (innerRadius != null && endAngle != null && startAngle != null) {\n outerRadius = innerRadius + pos.size;\n var deltaAngle = endAngle - startAngle;\n if (Math.abs(minPointSize) > 0 && Math.abs(deltaAngle) < Math.abs(minPointSize)) {\n var delta = mathSign(deltaAngle || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaAngle));\n endAngle += delta;\n }\n backgroundSector = {\n background: {\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle: rootStartAngle,\n endAngle: rootEndAngle\n }\n };\n }\n } else {\n innerRadius = radiusAxis.scale.map(value[0]);\n outerRadius = radiusAxis.scale.map(value[1]);\n startAngle = getCateCoordinateOfBar({\n axis: angleAxis,\n ticks: angleAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n if (innerRadius != null && outerRadius != null && startAngle != null) {\n endAngle = startAngle + pos.size;\n var deltaRadius = outerRadius - innerRadius;\n if (Math.abs(minPointSize) > 0 && Math.abs(deltaRadius) < Math.abs(minPointSize)) {\n var _delta = mathSign(deltaRadius || minPointSize) * (Math.abs(minPointSize) - Math.abs(deltaRadius));\n outerRadius += _delta;\n }\n }\n }\n return _objectSpread43(_objectSpread43(_objectSpread43({}, entry), backgroundSector), {}, {\n payload: entry,\n value: stackedData ? value : value[1],\n cx: cx2,\n cy,\n innerRadius,\n outerRadius,\n startAngle,\n // @ts-expect-error endAngle is used before assigned (?)\n endAngle\n }, cells && cells[index2] && cells[index2].props);\n });\n }\n function RadialBar(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultRadialBarProps);\n return /* @__PURE__ */ React98.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"radialBar\"\n }, (id) => {\n var _props$hide, _props$angleAxisId, _props$radiusAxisId;\n return /* @__PURE__ */ React98.createElement(React98.Fragment, null, /* @__PURE__ */ React98.createElement(SetPolarGraphicalItem, {\n type: \"radialBar\",\n id,\n data: void 0,\n dataKey: props.dataKey,\n hide: (_props$hide = props.hide) !== null && _props$hide !== void 0 ? _props$hide : defaultRadialBarProps.hide,\n angleAxisId: (_props$angleAxisId = props.angleAxisId) !== null && _props$angleAxisId !== void 0 ? _props$angleAxisId : defaultRadialBarProps.angleAxisId,\n radiusAxisId: (_props$radiusAxisId = props.radiusAxisId) !== null && _props$radiusAxisId !== void 0 ? _props$radiusAxisId : defaultRadialBarProps.radiusAxisId,\n stackId: getNormalizedStackId(props.stackId),\n barSize: props.barSize,\n minPointSize: props.minPointSize,\n maxBarSize: props.maxBarSize\n }), /* @__PURE__ */ React98.createElement(SetRadialBarPayloadLegend, props), /* @__PURE__ */ React98.createElement(RadialBarImpl, _extends26({}, props, {\n id\n })));\n });\n }\n RadialBar.displayName = \"RadialBar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Brush.js\n var React99 = __toESM(require_react());\n var import_react52 = __toESM(require_react());\n var import_range3 = __toESM(require_range2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/CssPrefixUtils.js\n function ownKeys44(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread44(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys44(Object(t2), true).forEach(function(r3) {\n _defineProperty46(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys44(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty46(e, r2, t2) {\n return (r2 = _toPropertyKey46(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey46(t2) {\n var i = _toPrimitive46(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive46(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var PREFIX_LIST = [\"Webkit\", \"Moz\", \"O\", \"ms\"];\n var generatePrefixStyle = (name, value) => {\n if (!name) {\n return void 0;\n }\n var camelName = name.replace(/(\\w)/, (v) => v.toUpperCase());\n var result = PREFIX_LIST.reduce((res, entry) => _objectSpread44(_objectSpread44({}, res), {}, {\n [entry + camelName]: value\n }), {});\n result[name] = value;\n return result;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/chartDataContext.js\n var import_react50 = __toESM(require_react());\n var ChartDataContextProvider = (props) => {\n var {\n chartData\n } = props;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n (0, import_react50.useEffect)(() => {\n if (isPanorama) {\n return () => {\n };\n }\n dispatch(setChartData(chartData));\n return () => {\n dispatch(setChartData(void 0));\n };\n }, [chartData, dispatch, isPanorama]);\n return null;\n };\n var selectChartData = (state2) => state2.chartData.chartData;\n var useChartData = () => useAppSelector(selectChartData);\n var selectDataIndex = (state2) => {\n var {\n dataStartIndex,\n dataEndIndex\n } = state2.chartData;\n return {\n startIndex: dataStartIndex,\n endIndex: dataEndIndex\n };\n };\n var useDataIndex = () => {\n return useAppSelector(selectDataIndex);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/brushUpdateContext.js\n var import_react51 = __toESM(require_react());\n var BrushUpdateDispatchContext = /* @__PURE__ */ (0, import_react51.createContext)(() => {\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/brushSlice.js\n var initialState9 = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n };\n var brushSlice = createSlice({\n name: \"brush\",\n initialState: initialState9,\n reducers: {\n setBrushSettings(_state, action) {\n if (action.payload == null) {\n return initialState9;\n }\n return action.payload;\n }\n }\n });\n var {\n setBrushSettings\n } = brushSlice.actions;\n var brushReducer = brushSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Brush.js\n function _extends27() {\n return _extends27 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends27.apply(null, arguments);\n }\n function ownKeys45(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread45(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys45(Object(t2), true).forEach(function(r3) {\n _defineProperty47(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys45(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty47(e, r2, t2) {\n return (r2 = _toPropertyKey47(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey47(t2) {\n var i = _toPrimitive47(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive47(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function DefaultTraveller(props) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n stroke\n } = props;\n var lineY = Math.floor(y2 + height / 2) - 1;\n return /* @__PURE__ */ React99.createElement(React99.Fragment, null, /* @__PURE__ */ React99.createElement(\"rect\", {\n x: x2,\n y: y2,\n width,\n height,\n fill: stroke,\n stroke: \"none\"\n }), /* @__PURE__ */ React99.createElement(\"line\", {\n x1: x2 + 1,\n y1: lineY,\n x2: x2 + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /* @__PURE__ */ React99.createElement(\"line\", {\n x1: x2 + 1,\n y1: lineY + 2,\n x2: x2 + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n function Traveller(props) {\n var {\n travellerProps,\n travellerType\n } = props;\n if (/* @__PURE__ */ React99.isValidElement(travellerType)) {\n return /* @__PURE__ */ React99.cloneElement(travellerType, travellerProps);\n }\n if (typeof travellerType === \"function\") {\n return travellerType(travellerProps);\n }\n return /* @__PURE__ */ React99.createElement(DefaultTraveller, travellerProps);\n }\n function getNameFromUnknown(value) {\n if (isNotNil(value) && typeof value === \"object\" && \"name\" in value && typeof value.name === \"string\") {\n return value.name;\n }\n return void 0;\n }\n function getAriaLabel(data, startIndex, endIndex) {\n var start = getNameFromUnknown(data[startIndex]);\n var end = getNameFromUnknown(data[endIndex]);\n return \"Min value: \".concat(start, \", Max value: \").concat(end);\n }\n function TravellerLayer(_ref2) {\n var {\n otherProps,\n travellerX,\n id,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n onTravellerMoveKeyboard,\n onFocus,\n onBlur\n } = _ref2;\n var {\n y: y2,\n x: xFromProps,\n travellerWidth,\n height,\n traveller,\n ariaLabel,\n data,\n startIndex,\n endIndex\n } = otherProps;\n var x2 = Math.max(travellerX, xFromProps);\n var travellerProps = _objectSpread45(_objectSpread45({}, svgPropertiesNoEvents(otherProps)), {}, {\n x: x2,\n y: y2,\n width: travellerWidth,\n height\n });\n var ariaLabelBrush = ariaLabel || getAriaLabel(data, startIndex, endIndex);\n return /* @__PURE__ */ React99.createElement(Layer, {\n tabIndex: 0,\n role: \"slider\",\n \"aria-label\": ariaLabelBrush,\n \"aria-valuenow\": travellerX,\n className: \"recharts-brush-traveller\",\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n onKeyDown: (e) => {\n if (![\"ArrowLeft\", \"ArrowRight\"].includes(e.key)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n onTravellerMoveKeyboard(e.key === \"ArrowRight\" ? 1 : -1, id);\n },\n onFocus,\n onBlur,\n style: {\n cursor: \"col-resize\"\n }\n }, /* @__PURE__ */ React99.createElement(Traveller, {\n travellerType: traveller,\n travellerProps\n }));\n }\n function getTextOfTick(props) {\n var {\n index: index2,\n data,\n tickFormatter,\n dataKey\n } = props;\n var text = getValueByDataKey(data[index2], dataKey, index2);\n return typeof tickFormatter === \"function\" ? tickFormatter(text, index2) : text;\n }\n function getIndexInRange(valueRange, x2) {\n var len = valueRange.length;\n var start = 0;\n var end = len - 1;\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n var middleValue = valueRange[middle];\n if (middleValue != null && middleValue > x2) {\n end = middle;\n } else {\n start = middle;\n }\n }\n var endValue = valueRange[end];\n return endValue != null && x2 >= endValue ? end : start;\n }\n function getIndex2(_ref2) {\n var {\n startX,\n endX,\n scaleValues,\n gap,\n data\n } = _ref2;\n var lastIndex = data.length - 1;\n var min3 = Math.min(startX, endX);\n var max3 = Math.max(startX, endX);\n var minIndex = getIndexInRange(scaleValues, min3);\n var maxIndex = getIndexInRange(scaleValues, max3);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n function Background(_ref3) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n fill,\n stroke\n } = _ref3;\n return /* @__PURE__ */ React99.createElement(\"rect\", {\n stroke,\n fill,\n x: x2,\n y: y2,\n width,\n height\n });\n }\n function BrushText(_ref4) {\n var {\n startIndex,\n endIndex,\n y: y2,\n height,\n travellerWidth,\n stroke,\n tickFormatter,\n dataKey,\n data,\n startX,\n endX\n } = _ref4;\n var offset4 = 5;\n var attrs = {\n pointerEvents: \"none\",\n fill: stroke\n };\n return /* @__PURE__ */ React99.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /* @__PURE__ */ React99.createElement(Text, _extends27({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset4,\n y: y2 + height / 2\n }, attrs), getTextOfTick({\n index: startIndex,\n tickFormatter,\n dataKey,\n data\n })), /* @__PURE__ */ React99.createElement(Text, _extends27({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset4,\n y: y2 + height / 2\n }, attrs), getTextOfTick({\n index: endIndex,\n tickFormatter,\n dataKey,\n data\n })));\n }\n function Slide(_ref5) {\n var {\n y: y2,\n height,\n stroke,\n travellerWidth,\n startX,\n endX,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart\n } = _ref5;\n var x2 = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /* @__PURE__ */ React99.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n onTouchStart,\n style: {\n cursor: \"move\"\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x2,\n y: y2,\n width,\n height\n });\n }\n function Panorama(_ref6) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n data,\n children,\n padding\n } = _ref6;\n var isPanoramic = React99.Children.count(children) === 1;\n if (!isPanoramic) {\n return null;\n }\n var chartElement = import_react52.Children.only(children);\n if (!chartElement) {\n return null;\n }\n return /* @__PURE__ */ React99.cloneElement(chartElement, {\n x: x2,\n y: y2,\n width,\n height,\n margin: padding,\n compact: true,\n data\n });\n }\n var createScale = (_ref7) => {\n var {\n data,\n startIndex,\n endIndex,\n x: x2,\n width,\n travellerWidth\n } = _ref7;\n if (!data || !data.length) {\n return {};\n }\n var len = data.length;\n var scale = point3().domain((0, import_range3.default)(0, len)).range([x2, x2 + width - travellerWidth]);\n var scaleValues = scale.domain().map((entry) => scale(entry)).filter(isNotNil);\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n isTravellerFocused: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale,\n scaleValues\n };\n };\n var isTouch = (e) => e.changedTouches && !!e.changedTouches.length;\n var BrushWithState = class extends import_react52.PureComponent {\n constructor(props) {\n super(props);\n _defineProperty47(this, \"handleDrag\", (e) => {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n if (this.state.isTravellerMoving) {\n this.handleTravellerMove(e);\n } else if (this.state.isSlideMoving) {\n this.handleSlideDrag(e);\n }\n });\n _defineProperty47(this, \"handleTouchMove\", (e) => {\n var _e$changedTouches;\n var touch = (_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0];\n if (touch != null) {\n this.handleDrag(touch);\n }\n });\n _defineProperty47(this, \"handleDragEnd\", () => {\n this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n }, () => {\n var {\n endIndex,\n onDragEnd,\n startIndex\n } = this.props;\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n endIndex,\n startIndex\n });\n });\n this.detachDragEndListener();\n });\n _defineProperty47(this, \"handleLeaveWrapper\", () => {\n if (this.state.isTravellerMoving || this.state.isSlideMoving) {\n this.leaveTimer = window.setTimeout(this.handleDragEnd, this.props.leaveTimeOut);\n }\n });\n _defineProperty47(this, \"handleEnterSlideOrTraveller\", () => {\n this.setState({\n isTextActive: true\n });\n });\n _defineProperty47(this, \"handleLeaveSlideOrTraveller\", () => {\n this.setState({\n isTextActive: false\n });\n });\n _defineProperty47(this, \"handleSlideDragStart\", (e) => {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n if (event == null) {\n return;\n }\n this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n });\n _defineProperty47(this, \"handleTravellerMoveKeyboard\", (direction, id) => {\n var {\n data,\n gap,\n startIndex,\n endIndex\n } = this.props;\n var {\n scaleValues,\n startX,\n endX\n } = this.state;\n if (scaleValues == null) {\n return;\n }\n var currentIndex = -1;\n if (id === \"startX\") {\n currentIndex = startIndex;\n } else if (id === \"endX\") {\n currentIndex = endIndex;\n }\n if (currentIndex < 0 || currentIndex >= data.length) {\n return;\n }\n var newIndex = currentIndex + direction;\n if (newIndex === -1 || newIndex >= scaleValues.length) {\n return;\n }\n var newScaleValue = scaleValues[newIndex];\n if (newScaleValue == null) {\n return;\n }\n if (id === \"startX\" && newScaleValue >= endX || id === \"endX\" && newScaleValue <= startX) {\n return;\n }\n this.setState(\n // @ts-expect-error not sure why typescript is not happy with this, partial update is fine in React\n {\n [id]: newScaleValue\n },\n () => {\n this.props.onChange(getIndex2({\n startX: this.state.startX,\n endX: this.state.endX,\n data,\n gap,\n scaleValues\n }));\n }\n );\n });\n this.travellerDragStartHandlers = {\n startX: this.handleTravellerDragStart.bind(this, \"startX\"),\n endX: this.handleTravellerDragStart.bind(this, \"endX\")\n };\n this.state = {\n brushMoveStartX: 0,\n movingTravellerId: void 0,\n endX: 0,\n startX: 0,\n slideMoveStartX: 0\n };\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n var {\n data,\n width,\n x: x2,\n travellerWidth,\n startIndex,\n endIndex,\n startIndexControlledFromProps,\n endIndexControlledFromProps\n } = nextProps;\n if (data !== prevState.prevData) {\n return _objectSpread45({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevX: x2,\n prevWidth: width\n }, data && data.length ? createScale({\n data,\n width,\n x: x2,\n travellerWidth,\n startIndex,\n endIndex\n }) : {\n scale: void 0,\n scaleValues: void 0\n });\n }\n var prevScale = prevState.scale;\n if (prevScale && (width !== prevState.prevWidth || x2 !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevScale.range([x2, x2 + width - travellerWidth]);\n var scaleValues = prevScale.domain().map((entry) => prevScale(entry)).filter((value) => value != null);\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevX: x2,\n prevWidth: width,\n startX: prevScale(nextProps.startIndex),\n endX: prevScale(nextProps.endIndex),\n scaleValues\n };\n }\n if (prevState.scale && !prevState.isSlideMoving && !prevState.isTravellerMoving && !prevState.isTravellerFocused && !prevState.isTextActive) {\n if (startIndexControlledFromProps != null && prevState.prevStartIndexControlledFromProps !== startIndexControlledFromProps) {\n return {\n startX: prevState.scale(startIndexControlledFromProps),\n prevStartIndexControlledFromProps: startIndexControlledFromProps\n };\n }\n if (endIndexControlledFromProps != null && prevState.prevEndIndexControlledFromProps !== endIndexControlledFromProps) {\n return {\n endX: prevState.scale(endIndexControlledFromProps),\n prevEndIndexControlledFromProps: endIndexControlledFromProps\n };\n }\n }\n return null;\n }\n componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n this.detachDragEndListener();\n }\n attachDragEndListener() {\n window.addEventListener(\"mouseup\", this.handleDragEnd, true);\n window.addEventListener(\"touchend\", this.handleDragEnd, true);\n window.addEventListener(\"mousemove\", this.handleDrag, true);\n }\n detachDragEndListener() {\n window.removeEventListener(\"mouseup\", this.handleDragEnd, true);\n window.removeEventListener(\"touchend\", this.handleDragEnd, true);\n window.removeEventListener(\"mousemove\", this.handleDrag, true);\n }\n handleSlideDrag(e) {\n var {\n slideMoveStartX,\n startX,\n endX,\n scaleValues\n } = this.state;\n if (scaleValues == null) {\n return;\n }\n var {\n x: x2,\n width,\n travellerWidth,\n startIndex,\n endIndex,\n onChange,\n data,\n gap\n } = this.props;\n var delta = e.pageX - slideMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x2 + width - travellerWidth - endX, x2 + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x2 - startX, x2 - endX);\n }\n var newIndex = getIndex2({\n startX: startX + delta,\n endX: endX + delta,\n data,\n gap,\n scaleValues\n });\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n if (event == null) {\n return;\n }\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n handleTravellerMove(e) {\n var {\n brushMoveStartX,\n movingTravellerId,\n endX,\n startX,\n scaleValues\n } = this.state;\n if (movingTravellerId == null || scaleValues == null) {\n return;\n }\n var prevValue = this.state[movingTravellerId];\n var {\n x: x2,\n width,\n travellerWidth,\n onChange,\n gap,\n data\n } = this.props;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX,\n data,\n gap,\n scaleValues\n };\n var delta = e.pageX - brushMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x2 + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x2 - prevValue);\n }\n params[movingTravellerId] = prevValue + delta;\n var newIndex = getIndex2(params);\n var {\n startIndex,\n endIndex\n } = newIndex;\n var isFullGap = () => {\n var lastIndex = data.length - 1;\n if (movingTravellerId === \"startX\" && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === \"endX\" && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n return false;\n };\n this.setState(\n // @ts-expect-error not sure why typescript is not happy with this, partial update is fine in React\n {\n [movingTravellerId]: prevValue + delta,\n brushMoveStartX: e.pageX\n },\n () => {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n }\n );\n }\n render() {\n var {\n data,\n className,\n children,\n x: x2,\n y: y2,\n dy,\n width,\n height,\n alwaysShowText,\n fill,\n stroke,\n startIndex,\n endIndex,\n travellerWidth,\n tickFormatter,\n dataKey,\n padding\n } = this.props;\n var {\n startX,\n endX,\n isTextActive,\n isSlideMoving,\n isTravellerMoving,\n isTravellerFocused\n } = this.state;\n if (!data || !data.length || !isNumber3(x2) || !isNumber3(y2) || !isNumber3(width) || !isNumber3(height) || width <= 0 || height <= 0) {\n return null;\n }\n var layerClass = clsx(\"recharts-brush\", className);\n var style = generatePrefixStyle(\"userSelect\", \"none\");\n var calculatedY = y2 + (dy !== null && dy !== void 0 ? dy : 0);\n return /* @__PURE__ */ React99.createElement(Layer, {\n className: layerClass,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style\n }, /* @__PURE__ */ React99.createElement(Background, {\n x: x2,\n y: calculatedY,\n width,\n height,\n fill,\n stroke\n }), /* @__PURE__ */ React99.createElement(PanoramaContextProvider, null, /* @__PURE__ */ React99.createElement(Panorama, {\n x: x2,\n y: calculatedY,\n width,\n height,\n data,\n padding\n }, children)), /* @__PURE__ */ React99.createElement(Slide, {\n y: calculatedY,\n height,\n stroke,\n travellerWidth,\n startX,\n endX,\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart\n }), /* @__PURE__ */ React99.createElement(TravellerLayer, {\n travellerX: startX,\n id: \"startX\",\n otherProps: _objectSpread45(_objectSpread45({}, this.props), {}, {\n y: calculatedY\n }),\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers.startX,\n onTouchStart: this.travellerDragStartHandlers.startX,\n onTravellerMoveKeyboard: this.handleTravellerMoveKeyboard,\n onFocus: () => {\n this.setState({\n isTravellerFocused: true\n });\n },\n onBlur: () => {\n this.setState({\n isTravellerFocused: false\n });\n }\n }), /* @__PURE__ */ React99.createElement(TravellerLayer, {\n travellerX: endX,\n id: \"endX\",\n otherProps: _objectSpread45(_objectSpread45({}, this.props), {}, {\n y: calculatedY\n }),\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers.endX,\n onTouchStart: this.travellerDragStartHandlers.endX,\n onTravellerMoveKeyboard: this.handleTravellerMoveKeyboard,\n onFocus: () => {\n this.setState({\n isTravellerFocused: true\n });\n },\n onBlur: () => {\n this.setState({\n isTravellerFocused: false\n });\n }\n }), (isTextActive || isSlideMoving || isTravellerMoving || isTravellerFocused || alwaysShowText) && /* @__PURE__ */ React99.createElement(BrushText, {\n startIndex,\n endIndex,\n y: calculatedY,\n height,\n travellerWidth,\n stroke,\n tickFormatter,\n dataKey,\n data,\n startX,\n endX\n }));\n }\n };\n function BrushInternal(props) {\n var dispatch = useAppDispatch();\n var chartData = useChartData();\n var dataIndexes = useDataIndex();\n var onChangeFromContext = (0, import_react52.useContext)(BrushUpdateDispatchContext);\n var onChangeFromProps = props.onChange;\n var {\n startIndex: startIndexFromProps,\n endIndex: endIndexFromProps\n } = props;\n (0, import_react52.useEffect)(() => {\n dispatch(setDataStartEndIndexes({\n startIndex: startIndexFromProps,\n endIndex: endIndexFromProps\n }));\n }, [dispatch, endIndexFromProps, startIndexFromProps]);\n useBrushChartSynchronisation();\n var onChange = (0, import_react52.useCallback)((nextState) => {\n if (dataIndexes == null) {\n return;\n }\n var {\n startIndex: startIndex2,\n endIndex: endIndex2\n } = dataIndexes;\n if (nextState.startIndex !== startIndex2 || nextState.endIndex !== endIndex2) {\n onChangeFromContext === null || onChangeFromContext === void 0 || onChangeFromContext(nextState);\n onChangeFromProps === null || onChangeFromProps === void 0 || onChangeFromProps(nextState);\n dispatch(setDataStartEndIndexes(nextState));\n }\n }, [onChangeFromProps, onChangeFromContext, dispatch, dataIndexes]);\n var brushDimensions = useAppSelector(selectBrushDimensions);\n if (brushDimensions == null || dataIndexes == null || chartData == null || !chartData.length) {\n return null;\n }\n var {\n startIndex,\n endIndex\n } = dataIndexes;\n var {\n x: x2,\n y: y2,\n width\n } = brushDimensions;\n var contextProperties = {\n data: chartData,\n x: x2,\n y: y2,\n width,\n startIndex,\n endIndex,\n onChange\n };\n return /* @__PURE__ */ React99.createElement(BrushWithState, _extends27({}, props, contextProperties, {\n startIndexControlledFromProps: startIndexFromProps !== null && startIndexFromProps !== void 0 ? startIndexFromProps : void 0,\n endIndexControlledFromProps: endIndexFromProps !== null && endIndexFromProps !== void 0 ? endIndexFromProps : void 0\n }));\n }\n function BrushSettingsDispatcher(props) {\n var dispatch = useAppDispatch();\n (0, import_react52.useEffect)(() => {\n dispatch(setBrushSettings(props));\n return () => {\n dispatch(setBrushSettings(null));\n };\n }, [dispatch, props]);\n return null;\n }\n var defaultBrushProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: \"#fff\",\n stroke: \"#666\",\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1e3,\n alwaysShowText: false\n };\n function Brush(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultBrushProps);\n return /* @__PURE__ */ React99.createElement(React99.Fragment, null, /* @__PURE__ */ React99.createElement(BrushSettingsDispatcher, {\n height: props.height,\n x: props.x,\n y: props.y,\n width: props.width,\n padding: props.padding\n }), /* @__PURE__ */ React99.createElement(BrushInternal, props));\n }\n Brush.displayName = \"Brush\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceLine.js\n var React101 = __toESM(require_react());\n var import_react54 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/CartesianUtils.js\n var rectWithPoints = (_ref2, _ref22) => {\n var {\n x: x1,\n y: y1\n } = _ref2;\n var {\n x: x2,\n y: y2\n } = _ref22;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n };\n var rectWithCoords = (_ref3) => {\n var {\n x1,\n y1,\n x2,\n y2\n } = _ref3;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n };\n function normalizeAngle(angle) {\n return (angle % 180 + 180) % 180;\n }\n var getAngledRectangleWidth = function getAngledRectangleWidth2(_ref4) {\n var {\n width,\n height\n } = _ref4;\n var angle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var normalizedAngle = normalizeAngle(angle);\n var angleRadians = normalizedAngle * Math.PI / 180;\n var angleThreshold = Math.atan(height / width);\n var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n return Math.abs(angledWidth);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/referenceElementsSlice.js\n var initialState10 = {\n dots: [],\n areas: [],\n lines: []\n };\n var referenceElementsSlice = createSlice({\n name: \"referenceElements\",\n initialState: initialState10,\n reducers: {\n addDot: (state2, action) => {\n state2.dots.push(action.payload);\n },\n removeDot: (state2, action) => {\n var index2 = current(state2).dots.findIndex((dot) => dot === action.payload);\n if (index2 !== -1) {\n state2.dots.splice(index2, 1);\n }\n },\n addArea: (state2, action) => {\n state2.areas.push(action.payload);\n },\n removeArea: (state2, action) => {\n var index2 = current(state2).areas.findIndex((area) => area === action.payload);\n if (index2 !== -1) {\n state2.areas.splice(index2, 1);\n }\n },\n addLine: (state2, action) => {\n state2.lines.push(castDraft(action.payload));\n },\n removeLine: (state2, action) => {\n var index2 = current(state2).lines.findIndex((line) => line === action.payload);\n if (index2 !== -1) {\n state2.lines.splice(index2, 1);\n }\n }\n }\n });\n var {\n addDot,\n removeDot,\n addArea,\n removeArea,\n addLine,\n removeLine\n } = referenceElementsSlice.actions;\n var referenceElementsReducer = referenceElementsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/ClipPathProvider.js\n var React100 = __toESM(require_react());\n var import_react53 = __toESM(require_react());\n var ClipPathIdContext = /* @__PURE__ */ (0, import_react53.createContext)(void 0);\n var ClipPathProvider = (_ref2) => {\n var {\n children\n } = _ref2;\n var [clipPathId] = (0, import_react53.useState)(\"\".concat(uniqueId(\"recharts\"), \"-clip\"));\n var plotArea = usePlotArea();\n if (plotArea == null) {\n return null;\n }\n var {\n x: x2,\n y: y2,\n width,\n height\n } = plotArea;\n return /* @__PURE__ */ React100.createElement(ClipPathIdContext.Provider, {\n value: clipPathId\n }, /* @__PURE__ */ React100.createElement(\"defs\", null, /* @__PURE__ */ React100.createElement(\"clipPath\", {\n id: clipPathId\n }, /* @__PURE__ */ React100.createElement(\"rect\", {\n x: x2,\n y: y2,\n height,\n width\n }))), children);\n };\n var useClipPathId = () => {\n return (0, import_react53.useContext)(ClipPathIdContext);\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/scale/CartesianScaleHelper.js\n var CartesianScaleHelperImpl = class {\n constructor(_ref2) {\n var {\n x: x2,\n y: y2\n } = _ref2;\n this.xAxisScale = x2;\n this.yAxisScale = y2;\n }\n map(value, _ref2) {\n var _this$xAxisScale$map, _this$yAxisScale$map;\n var {\n position: position2\n } = _ref2;\n return {\n x: (_this$xAxisScale$map = this.xAxisScale.map(value.x, {\n position: position2\n })) !== null && _this$xAxisScale$map !== void 0 ? _this$xAxisScale$map : 0,\n y: (_this$yAxisScale$map = this.yAxisScale.map(value.y, {\n position: position2\n })) !== null && _this$yAxisScale$map !== void 0 ? _this$yAxisScale$map : 0\n };\n }\n mapWithFallback(value, _ref3) {\n var _this$xAxisScale$map2, _this$yAxisScale$map2;\n var {\n position: position2,\n fallback\n } = _ref3;\n var fallbackY, fallbackX;\n if (fallback === \"rangeMin\") {\n fallbackY = this.yAxisScale.rangeMin();\n } else if (fallback === \"rangeMax\") {\n fallbackY = this.yAxisScale.rangeMax();\n } else {\n fallbackY = 0;\n }\n if (fallback === \"rangeMin\") {\n fallbackX = this.xAxisScale.rangeMin();\n } else if (fallback === \"rangeMax\") {\n fallbackX = this.xAxisScale.rangeMax();\n } else {\n fallbackX = 0;\n }\n return {\n x: (_this$xAxisScale$map2 = this.xAxisScale.map(value.x, {\n position: position2\n })) !== null && _this$xAxisScale$map2 !== void 0 ? _this$xAxisScale$map2 : fallbackX,\n y: (_this$yAxisScale$map2 = this.yAxisScale.map(value.y, {\n position: position2\n })) !== null && _this$yAxisScale$map2 !== void 0 ? _this$yAxisScale$map2 : fallbackY\n };\n }\n isInRange(_ref4) {\n var {\n x: x2,\n y: y2\n } = _ref4;\n var xInRange = x2 == null || this.xAxisScale.isInRange(x2);\n var yInRange = y2 == null || this.yAxisScale.isInRange(y2);\n return xInRange && yInRange;\n }\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceLine.js\n function ownKeys46(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread46(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys46(Object(t2), true).forEach(function(r3) {\n _defineProperty48(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys46(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty48(e, r2, t2) {\n return (r2 = _toPropertyKey48(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey48(t2) {\n var i = _toPrimitive48(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive48(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends28() {\n return _extends28 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends28.apply(null, arguments);\n }\n var renderLine = (option, props) => {\n var line;\n if (/* @__PURE__ */ React101.isValidElement(option)) {\n line = /* @__PURE__ */ React101.cloneElement(option, props);\n } else if (typeof option === \"function\") {\n line = option(props);\n } else {\n if (!isWellBehavedNumber(props.x1) || !isWellBehavedNumber(props.y1) || !isWellBehavedNumber(props.x2) || !isWellBehavedNumber(props.y2)) {\n return null;\n }\n line = /* @__PURE__ */ React101.createElement(\"line\", _extends28({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n return line;\n };\n var getHorizontalLineEndPoints = (yCoord, ifOverflow, position2, yAxisOrientation, yAxisScale, viewBox) => {\n var {\n x: x2,\n width\n } = viewBox;\n var coord = yAxisScale.map(yCoord, {\n position: position2\n });\n if (!isWellBehavedNumber(coord)) {\n return null;\n }\n if (ifOverflow === \"discard\" && !yAxisScale.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: x2 + width,\n y: coord\n }, {\n x: x2,\n y: coord\n }];\n return yAxisOrientation === \"left\" ? points.reverse() : points;\n };\n var getVerticalLineEndPoints = (xCoord, ifOverflow, position2, xAxisOrientation, xAxisScale, viewBox) => {\n var {\n y: y2,\n height\n } = viewBox;\n var coord = xAxisScale.map(xCoord, {\n position: position2\n });\n if (!isWellBehavedNumber(coord)) {\n return null;\n }\n if (ifOverflow === \"discard\" && !xAxisScale.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: coord,\n y: y2 + height\n }, {\n x: coord,\n y: y2\n }];\n return xAxisOrientation === \"top\" ? points.reverse() : points;\n };\n var getSegmentLineEndPoints = (segment, ifOverflow, position2, scales) => {\n var points = [scales.mapWithFallback(segment[0], {\n position: position2,\n fallback: \"rangeMin\"\n }), scales.mapWithFallback(segment[1], {\n position: position2,\n fallback: \"rangeMax\"\n })];\n if (ifOverflow === \"discard\" && points.some((p) => !scales.isInRange(p))) {\n return null;\n }\n return points;\n };\n var getEndPoints = (xAxisScale, yAxisScale, viewBox, position2, xAxisOrientation, yAxisOrientation, props) => {\n var {\n x: xCoord,\n y: yCoord,\n segment,\n ifOverflow\n } = props;\n var isFixedX = isNumOrStr(xCoord);\n var isFixedY = isNumOrStr(yCoord);\n if (isFixedY) {\n return getHorizontalLineEndPoints(yCoord, ifOverflow, position2, yAxisOrientation, yAxisScale, viewBox);\n }\n if (isFixedX) {\n return getVerticalLineEndPoints(xCoord, ifOverflow, position2, xAxisOrientation, xAxisScale, viewBox);\n }\n if (segment != null && segment.length === 2) {\n return getSegmentLineEndPoints(segment, ifOverflow, position2, new CartesianScaleHelperImpl({\n x: xAxisScale,\n y: yAxisScale\n }));\n }\n return null;\n };\n function ReportReferenceLine(props) {\n var dispatch = useAppDispatch();\n (0, import_react54.useEffect)(() => {\n dispatch(addLine(props));\n return () => {\n dispatch(removeLine(props));\n };\n });\n return null;\n }\n function ReferenceLineImpl(props) {\n var {\n xAxisId,\n yAxisId,\n shape,\n className,\n ifOverflow\n } = props;\n var isPanorama = useIsPanorama();\n var clipPathId = useClipPathId();\n var xAxis = useAppSelector((state2) => selectXAxisSettings(state2, xAxisId));\n var yAxis = useAppSelector((state2) => selectYAxisSettings(state2, yAxisId));\n var xAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"yAxis\", yAxisId, isPanorama));\n var viewBox = useViewBox();\n if (!clipPathId || !viewBox || xAxis == null || yAxis == null || xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var endPoints = getEndPoints(xAxisScale, yAxisScale, viewBox, props.position, xAxis.orientation, yAxis.orientation, props);\n if (!endPoints) {\n return null;\n }\n var point1 = endPoints[0];\n var point22 = endPoints[1];\n if (point1 == null || point22 == null) {\n return null;\n }\n var {\n x: x1,\n y: y1\n } = point1;\n var {\n x: x2,\n y: y2\n } = point22;\n var clipPath = ifOverflow === \"hidden\" ? \"url(#\".concat(clipPathId, \")\") : void 0;\n var lineProps = _objectSpread46(_objectSpread46({\n clipPath\n }, svgPropertiesAndEvents(props)), {}, {\n x1,\n y1,\n x2,\n y2\n });\n var rect = rectWithCoords({\n x1,\n y1,\n x2,\n y2\n });\n return /* @__PURE__ */ React101.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React101.createElement(Layer, {\n className: clsx(\"recharts-reference-line\", className)\n }, renderLine(shape, lineProps), /* @__PURE__ */ React101.createElement(CartesianLabelContextProvider, _extends28({}, rect, {\n lowerWidth: rect.width,\n upperWidth: rect.width\n }), /* @__PURE__ */ React101.createElement(CartesianLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n }\n var referenceLineDefaultProps = {\n ifOverflow: \"discard\",\n xAxisId: 0,\n yAxisId: 0,\n fill: \"none\",\n label: false,\n stroke: \"#ccc\",\n fillOpacity: 1,\n strokeWidth: 1,\n position: \"middle\",\n zIndex: DefaultZIndexes.line\n };\n function ReferenceLine(outsideProps) {\n var props = resolveDefaultProps(outsideProps, referenceLineDefaultProps);\n return /* @__PURE__ */ React101.createElement(React101.Fragment, null, /* @__PURE__ */ React101.createElement(ReportReferenceLine, {\n yAxisId: props.yAxisId,\n xAxisId: props.xAxisId,\n ifOverflow: props.ifOverflow,\n x: props.x,\n y: props.y,\n segment: props.segment\n }), /* @__PURE__ */ React101.createElement(ReferenceLineImpl, props));\n }\n ReferenceLine.displayName = \"ReferenceLine\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/ReferenceArea.js\n var React102 = __toESM(require_react());\n var import_react55 = __toESM(require_react());\n function ownKeys47(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread47(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys47(Object(t2), true).forEach(function(r3) {\n _defineProperty49(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys47(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty49(e, r2, t2) {\n return (r2 = _toPropertyKey49(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey49(t2) {\n var i = _toPrimitive49(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive49(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends29() {\n return _extends29 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends29.apply(null, arguments);\n }\n var getRect = (hasX1, hasX2, hasY1, hasY2, xAxisScale, yAxisScale, props) => {\n var _xAxisScale$map, _yAxisScale$map, _xAxisScale$map2, _yAxisScale$map2;\n var {\n x1: xValue1,\n x2: xValue2,\n y1: yValue1,\n y2: yValue2\n } = props;\n if (xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var scales = new CartesianScaleHelperImpl({\n x: xAxisScale,\n y: yAxisScale\n });\n var p1 = {\n x: hasX1 ? (_xAxisScale$map = xAxisScale.map(xValue1, {\n position: \"start\"\n })) !== null && _xAxisScale$map !== void 0 ? _xAxisScale$map : null : xAxisScale.rangeMin(),\n y: hasY1 ? (_yAxisScale$map = yAxisScale.map(yValue1, {\n position: \"start\"\n })) !== null && _yAxisScale$map !== void 0 ? _yAxisScale$map : null : yAxisScale.rangeMin()\n };\n var p2 = {\n x: hasX2 ? (_xAxisScale$map2 = xAxisScale.map(xValue2, {\n position: \"end\"\n })) !== null && _xAxisScale$map2 !== void 0 ? _xAxisScale$map2 : null : xAxisScale.rangeMax(),\n y: hasY2 ? (_yAxisScale$map2 = yAxisScale.map(yValue2, {\n position: \"end\"\n })) !== null && _yAxisScale$map2 !== void 0 ? _yAxisScale$map2 : null : yAxisScale.rangeMax()\n };\n if (props.ifOverflow === \"discard\" && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n return rectWithPoints(p1, p2);\n };\n var renderRect = (option, props) => {\n var rect;\n if (/* @__PURE__ */ React102.isValidElement(option)) {\n rect = /* @__PURE__ */ React102.cloneElement(option, props);\n } else if (typeof option === \"function\") {\n rect = option(props);\n } else {\n rect = /* @__PURE__ */ React102.createElement(Rectangle, _extends29({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n return rect;\n };\n function ReportReferenceArea(props) {\n var dispatch = useAppDispatch();\n (0, import_react55.useEffect)(() => {\n dispatch(addArea(props));\n return () => {\n dispatch(removeArea(props));\n };\n });\n return null;\n }\n function ReferenceAreaImpl(props) {\n var {\n x1,\n x2,\n y1,\n y2,\n className,\n shape,\n xAxisId,\n yAxisId\n } = props;\n var clipPathId = useClipPathId();\n var isPanorama = useIsPanorama();\n var xAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxisScale = useAppSelector((state2) => selectAxisScale(state2, \"yAxis\", yAxisId, isPanorama));\n if (xAxisScale == null || yAxisScale == null) {\n return null;\n }\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, xAxisScale, yAxisScale, props);\n if (!rect && !shape) {\n return null;\n }\n var isOverflowHidden = props.ifOverflow === \"hidden\";\n var clipPath = isOverflowHidden ? \"url(#\".concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React102.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React102.createElement(Layer, {\n className: clsx(\"recharts-reference-area\", className)\n }, renderRect(shape, _objectSpread47(_objectSpread47({\n clipPath\n }, svgPropertiesAndEvents(props)), rect)), rect != null && /* @__PURE__ */ React102.createElement(CartesianLabelContextProvider, _extends29({}, rect, {\n lowerWidth: rect.width,\n upperWidth: rect.width\n }), /* @__PURE__ */ React102.createElement(CartesianLabelFromLabelProp, {\n label: props.label\n }), props.children)));\n }\n var referenceAreaDefaultProps = {\n ifOverflow: \"discard\",\n xAxisId: 0,\n yAxisId: 0,\n radius: 0,\n fill: \"#ccc\",\n label: false,\n fillOpacity: 0.5,\n stroke: \"none\",\n strokeWidth: 1,\n zIndex: DefaultZIndexes.area\n };\n function ReferenceArea(outsideProps) {\n var props = resolveDefaultProps(outsideProps, referenceAreaDefaultProps);\n return /* @__PURE__ */ React102.createElement(React102.Fragment, null, /* @__PURE__ */ React102.createElement(ReportReferenceArea, {\n yAxisId: props.yAxisId,\n xAxisId: props.xAxisId,\n ifOverflow: props.ifOverflow,\n x1: props.x1,\n x2: props.x2,\n y1: props.y1,\n y2: props.y2\n }), /* @__PURE__ */ React102.createElement(ReferenceAreaImpl, props));\n }\n ReferenceArea.displayName = \"ReferenceArea\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianAxis.js\n var React103 = __toESM(require_react());\n var import_react56 = __toESM(require_react());\n var import_get5 = __toESM(require_get2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getEveryNth.js\n function getEveryNth(array2, n) {\n if (n < 1) {\n return [];\n }\n if (n === 1) {\n return array2;\n }\n var result = [];\n for (var i = 0; i < array2.length; i += n) {\n var item = array2[i];\n if (item !== void 0) {\n result.push(item);\n }\n }\n return result;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/TickUtils.js\n function getAngledTickWidth(contentSize, unitSize, angle) {\n var size4 = {\n width: contentSize.width + unitSize.width,\n height: contentSize.height + unitSize.height\n };\n return getAngledRectangleWidth(size4, angle);\n }\n function getTickBoundaries(viewBox, sign2, sizeKey) {\n var isWidth = sizeKey === \"width\";\n var {\n x: x2,\n y: y2,\n width,\n height\n } = viewBox;\n if (sign2 === 1) {\n return {\n start: isWidth ? x2 : y2,\n end: isWidth ? x2 + width : y2 + height\n };\n }\n return {\n start: isWidth ? x2 + width : y2 + height,\n end: isWidth ? x2 : y2\n };\n }\n function isVisible(sign2, tickPosition, getSize, start, end) {\n if (sign2 * tickPosition < sign2 * start || sign2 * tickPosition > sign2 * end) {\n return false;\n }\n var size4 = getSize();\n return sign2 * (tickPosition - sign2 * size4 / 2 - start) >= 0 && sign2 * (tickPosition + sign2 * size4 / 2 - end) <= 0;\n }\n function getNumberIntervalTicks(ticks2, interval) {\n return getEveryNth(ticks2, interval + 1);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getEquidistantTicks.js\n function getEquidistantTicks(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var {\n start: initialStart,\n end\n } = boundaries;\n var index2 = 0;\n var stepsize = 1;\n var start = initialStart;\n var _loop = function _loop2() {\n var entry = ticks2 === null || ticks2 === void 0 ? void 0 : ticks2[index2];\n if (entry === void 0) {\n return {\n v: getEveryNth(ticks2, stepsize)\n };\n }\n var i = index2;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(entry, i);\n }\n return size4;\n };\n var tickCoord = entry.coordinate;\n var isShow = index2 === 0 || isVisible(sign2, tickCoord, getSize, start, end);\n if (!isShow) {\n index2 = 0;\n start = initialStart;\n stepsize += 1;\n }\n if (isShow) {\n start = tickCoord + sign2 * (getSize() / 2 + minTickGap);\n index2 += stepsize;\n }\n }, _ret;\n while (stepsize <= result.length) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n return [];\n }\n function getEquidistantPreserveEndTicks(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n if (len === 0) {\n return [];\n }\n var {\n start: initialStart,\n end\n } = boundaries;\n for (var stepsize = 1; stepsize <= len; stepsize++) {\n var offset4 = (len - 1) % stepsize;\n var start = initialStart;\n var ok = true;\n var _loop2 = function _loop22() {\n var entry = ticks2[index2];\n if (entry == null) {\n return 0;\n }\n var i = index2;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(entry, i);\n }\n return size4;\n };\n var tickCoord = entry.coordinate;\n var isShow = index2 === offset4 || isVisible(sign2, tickCoord, getSize, start, end);\n if (!isShow) {\n ok = false;\n return 1;\n }\n if (isShow) {\n start = tickCoord + sign2 * (getSize() / 2 + minTickGap);\n }\n }, _ret2;\n for (var index2 = offset4; index2 < len; index2 += stepsize) {\n _ret2 = _loop2();\n if (_ret2 === 0) continue;\n if (_ret2 === 1) break;\n }\n if (ok) {\n var finalTicks = [];\n for (var _index = offset4; _index < len; _index += stepsize) {\n var tick = ticks2[_index];\n if (tick != null) {\n finalTicks.push(tick);\n }\n }\n return finalTicks;\n }\n }\n return [];\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/getTicks.js\n function ownKeys48(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread48(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys48(Object(t2), true).forEach(function(r3) {\n _defineProperty50(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys48(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty50(e, r2, t2) {\n return (r2 = _toPropertyKey50(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey50(t2) {\n var i = _toPrimitive50(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive50(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getTicksEnd(sign2, boundaries, getTickSize, ticks2, minTickGap) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n var {\n start\n } = boundaries;\n var {\n end\n } = boundaries;\n var _loop = function _loop2(i2) {\n var initialEntry = result[i2];\n if (initialEntry == null) {\n return 1;\n }\n var entry = initialEntry;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(initialEntry, i2);\n }\n return size4;\n };\n if (i2 === len - 1) {\n var gap = sign2 * (entry.coordinate + sign2 * getSize() / 2 - end);\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign2 : entry.coordinate\n });\n } else {\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n if (entry.tickCoord != null) {\n var isShow = isVisible(sign2, entry.tickCoord, getSize, start, end);\n if (isShow) {\n end = entry.tickCoord - sign2 * (getSize() / 2 + minTickGap);\n result[i2] = _objectSpread48(_objectSpread48({}, entry), {}, {\n isShow: true\n });\n }\n }\n };\n for (var i = len - 1; i >= 0; i--) {\n if (_loop(i)) continue;\n }\n return result;\n }\n function getTicksStart(sign2, boundaries, getTickSize, ticks2, minTickGap, preserveEnd) {\n var result = (ticks2 || []).slice();\n var len = result.length;\n var {\n start,\n end\n } = boundaries;\n if (preserveEnd) {\n var tail = ticks2[len - 1];\n if (tail != null) {\n var tailSize = getTickSize(tail, len - 1);\n var tailGap = sign2 * (tail.coordinate + sign2 * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread48(_objectSpread48({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign2 : tail.coordinate\n });\n if (tail.tickCoord != null) {\n var isTailShow = isVisible(sign2, tail.tickCoord, () => tailSize, start, end);\n if (isTailShow) {\n end = tail.tickCoord - sign2 * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread48(_objectSpread48({}, tail), {}, {\n isShow: true\n });\n }\n }\n }\n }\n var count3 = preserveEnd ? len - 1 : len;\n var _loop2 = function _loop22(i2) {\n var initialEntry = result[i2];\n if (initialEntry == null) {\n return 1;\n }\n var entry = initialEntry;\n var size4;\n var getSize = () => {\n if (size4 === void 0) {\n size4 = getTickSize(initialEntry, i2);\n }\n return size4;\n };\n if (i2 === 0) {\n var gap = sign2 * (entry.coordinate - sign2 * getSize() / 2 - start);\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign2 : entry.coordinate\n });\n } else {\n result[i2] = entry = _objectSpread48(_objectSpread48({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n if (entry.tickCoord != null) {\n var isShow = isVisible(sign2, entry.tickCoord, getSize, start, end);\n if (isShow) {\n start = entry.tickCoord + sign2 * (getSize() / 2 + minTickGap);\n result[i2] = _objectSpread48(_objectSpread48({}, entry), {}, {\n isShow: true\n });\n }\n }\n };\n for (var i = 0; i < count3; i++) {\n if (_loop2(i)) continue;\n }\n return result;\n }\n function getTicks(props, fontSize, letterSpacing) {\n var {\n tick,\n ticks: ticks2,\n viewBox,\n minTickGap,\n orientation,\n interval,\n tickFormatter,\n unit: unit2,\n angle\n } = props;\n if (!ticks2 || !ticks2.length || !tick) {\n return [];\n }\n if (isNumber3(interval) || Global.isSsr) {\n var _getNumberIntervalTic;\n return (_getNumberIntervalTic = getNumberIntervalTicks(ticks2, isNumber3(interval) ? interval : 0)) !== null && _getNumberIntervalTic !== void 0 ? _getNumberIntervalTic : [];\n }\n var candidates = [];\n var sizeKey = orientation === \"top\" || orientation === \"bottom\" ? \"width\" : \"height\";\n var unitSize = unit2 && sizeKey === \"width\" ? getStringSize(unit2, {\n fontSize,\n letterSpacing\n }) : {\n width: 0,\n height: 0\n };\n var getTickSize = (content, index2) => {\n var value = typeof tickFormatter === \"function\" ? tickFormatter(content.value, index2) : content.value;\n return sizeKey === \"width\" ? getAngledTickWidth(getStringSize(value, {\n fontSize,\n letterSpacing\n }), unitSize, angle) : getStringSize(value, {\n fontSize,\n letterSpacing\n })[sizeKey];\n };\n var tick0 = ticks2[0];\n var tick1 = ticks2[1];\n var sign2 = ticks2.length >= 2 && tick0 != null && tick1 != null ? mathSign(tick1.coordinate - tick0.coordinate) : 1;\n var boundaries = getTickBoundaries(viewBox, sign2, sizeKey);\n if (interval === \"equidistantPreserveStart\") {\n return getEquidistantTicks(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n if (interval === \"equidistantPreserveEnd\") {\n return getEquidistantPreserveEndTicks(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n if (interval === \"preserveStart\" || interval === \"preserveStartEnd\") {\n candidates = getTicksStart(sign2, boundaries, getTickSize, ticks2, minTickGap, interval === \"preserveStartEnd\");\n } else {\n candidates = getTicksEnd(sign2, boundaries, getTickSize, ticks2, minTickGap);\n }\n return candidates.filter((entry) => entry.isShow);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/YAxisUtils.js\n var getCalculatedYAxisWidth = (_ref2) => {\n var {\n ticks: ticks2,\n label,\n labelGapWithTick = 5,\n // Default gap between label and tick\n tickSize = 0,\n tickMargin = 0\n } = _ref2;\n var maxTickWidth = 0;\n if (ticks2) {\n Array.from(ticks2).forEach((tickNode) => {\n if (tickNode) {\n var bbox = tickNode.getBoundingClientRect();\n if (bbox.width > maxTickWidth) {\n maxTickWidth = bbox.width;\n }\n }\n });\n var labelWidth = label ? label.getBoundingClientRect().width : 0;\n var tickWidth = tickSize + tickMargin;\n var updatedYAxisWidth = maxTickWidth + tickWidth + labelWidth + (label ? labelGapWithTick : 0);\n return Math.round(updatedYAxisWidth);\n }\n return 0;\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/renderedTicksSlice.js\n var initialState11 = {\n xAxis: {},\n yAxis: {}\n };\n var renderedTicksSlice = createSlice({\n name: \"renderedTicks\",\n initialState: initialState11,\n reducers: {\n setRenderedTicks: (state2, action) => {\n var {\n axisType,\n axisId,\n ticks: ticks2\n } = action.payload;\n state2[axisType][axisId] = castDraft(ticks2);\n },\n removeRenderedTicks: (state2, action) => {\n var {\n axisType,\n axisId\n } = action.payload;\n delete state2[axisType][axisId];\n }\n }\n });\n var {\n setRenderedTicks,\n removeRenderedTicks\n } = renderedTicksSlice.actions;\n var renderedTicksReducer = renderedTicksSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianAxis.js\n var _excluded20 = [\"axisLine\", \"width\", \"height\", \"className\", \"hide\", \"ticks\", \"axisType\", \"axisId\"];\n function _objectWithoutProperties20(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose20(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose20(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends30() {\n return _extends30 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends30.apply(null, arguments);\n }\n function ownKeys49(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread49(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys49(Object(t2), true).forEach(function(r3) {\n _defineProperty51(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys49(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty51(e, r2, t2) {\n return (r2 = _toPropertyKey51(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey51(t2) {\n var i = _toPrimitive51(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive51(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultCartesianAxisProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: \"bottom\",\n // The ticks\n ticks: [],\n stroke: \"#666\",\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: \"preserveEnd\",\n zIndex: DefaultZIndexes.axis\n };\n function AxisLine2(axisLineProps) {\n var {\n x: x2,\n y: y2,\n width,\n height,\n orientation,\n mirror,\n axisLine,\n otherSvgProps\n } = axisLineProps;\n if (!axisLine) {\n return null;\n }\n var props = _objectSpread49(_objectSpread49(_objectSpread49({}, otherSvgProps), svgPropertiesNoEvents(axisLine)), {}, {\n fill: \"none\"\n });\n if (orientation === \"top\" || orientation === \"bottom\") {\n var needHeight = +(orientation === \"top\" && !mirror || orientation === \"bottom\" && mirror);\n props = _objectSpread49(_objectSpread49({}, props), {}, {\n x1: x2,\n y1: y2 + needHeight * height,\n x2: x2 + width,\n y2: y2 + needHeight * height\n });\n } else {\n var needWidth = +(orientation === \"left\" && !mirror || orientation === \"right\" && mirror);\n props = _objectSpread49(_objectSpread49({}, props), {}, {\n x1: x2 + needWidth * width,\n y1: y2,\n x2: x2 + needWidth * width,\n y2: y2 + height\n });\n }\n return /* @__PURE__ */ React103.createElement(\"line\", _extends30({}, props, {\n className: clsx(\"recharts-cartesian-axis-line\", (0, import_get5.default)(axisLine, \"className\"))\n }));\n }\n function getTickLineCoord2(data, x2, y2, width, height, orientation, tickSize, mirror, tickMargin) {\n var x1, x22, y1, y22, tx, ty;\n var sign2 = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber3(data.tickCoord) ? data.tickCoord : data.coordinate;\n switch (orientation) {\n case \"top\":\n x1 = x22 = data.coordinate;\n y22 = y2 + +!mirror * height;\n y1 = y22 - sign2 * finalTickSize;\n ty = y1 - sign2 * tickMargin;\n tx = tickCoord;\n break;\n case \"left\":\n y1 = y22 = data.coordinate;\n x22 = x2 + +!mirror * width;\n x1 = x22 - sign2 * finalTickSize;\n tx = x1 - sign2 * tickMargin;\n ty = tickCoord;\n break;\n case \"right\":\n y1 = y22 = data.coordinate;\n x22 = x2 + +mirror * width;\n x1 = x22 + sign2 * finalTickSize;\n tx = x1 + sign2 * tickMargin;\n ty = tickCoord;\n break;\n default:\n x1 = x22 = data.coordinate;\n y22 = y2 + +mirror * height;\n y1 = y22 + sign2 * finalTickSize;\n ty = y1 + sign2 * tickMargin;\n tx = tickCoord;\n break;\n }\n return {\n line: {\n x1,\n y1,\n x2: x22,\n y2: y22\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n function getTickTextAnchor3(orientation, mirror) {\n switch (orientation) {\n case \"left\":\n return mirror ? \"start\" : \"end\";\n case \"right\":\n return mirror ? \"end\" : \"start\";\n default:\n return \"middle\";\n }\n }\n function getTickVerticalAnchor(orientation, mirror) {\n switch (orientation) {\n case \"left\":\n case \"right\":\n return \"middle\";\n case \"top\":\n return mirror ? \"start\" : \"end\";\n default:\n return mirror ? \"end\" : \"start\";\n }\n }\n function TickItem(props) {\n var {\n option,\n tickProps,\n value\n } = props;\n var tickItem;\n var combinedClassName = clsx(tickProps.className, \"recharts-cartesian-axis-tick-value\");\n if (/* @__PURE__ */ React103.isValidElement(option)) {\n tickItem = /* @__PURE__ */ React103.cloneElement(option, _objectSpread49(_objectSpread49({}, tickProps), {}, {\n className: combinedClassName\n }));\n } else if (typeof option === \"function\") {\n tickItem = option(_objectSpread49(_objectSpread49({}, tickProps), {}, {\n className: combinedClassName\n }));\n } else {\n var className = \"recharts-cartesian-axis-tick-value\";\n if (typeof option !== \"boolean\") {\n className = clsx(className, getClassNameFromUnknown(option));\n }\n tickItem = /* @__PURE__ */ React103.createElement(Text, _extends30({}, tickProps, {\n className\n }), value);\n }\n return tickItem;\n }\n function RenderedTicksReporter(_ref2) {\n var {\n ticks: ticks2,\n axisType,\n axisId\n } = _ref2;\n var dispatch = useAppDispatch();\n (0, import_react56.useEffect)(() => {\n if (axisId == null || axisType == null) {\n return noop4;\n }\n var tickItems = ticks2.map((tick) => ({\n value: tick.value,\n coordinate: tick.coordinate,\n offset: tick.offset,\n index: tick.index\n }));\n dispatch(setRenderedTicks({\n ticks: tickItems,\n axisId,\n axisType\n }));\n return () => {\n dispatch(removeRenderedTicks({\n axisId,\n axisType\n }));\n };\n }, [dispatch, ticks2, axisId, axisType]);\n return null;\n }\n var Ticks2 = /* @__PURE__ */ (0, import_react56.forwardRef)((props, ref) => {\n var {\n ticks: ticks2 = [],\n tick,\n tickLine,\n stroke,\n tickFormatter,\n unit: unit2,\n padding,\n tickTextProps,\n orientation,\n mirror,\n x: x2,\n y: y2,\n width,\n height,\n tickSize,\n tickMargin,\n fontSize,\n letterSpacing,\n getTicksConfig,\n events,\n axisType,\n axisId\n } = props;\n var finalTicks = getTicks(_objectSpread49(_objectSpread49({}, getTicksConfig), {}, {\n ticks: ticks2\n }), fontSize, letterSpacing);\n var axisProps = svgPropertiesNoEvents(getTicksConfig);\n var customTickProps = svgPropertiesNoEventsFromUnknown(tick);\n var textAnchor = isValidTextAnchor(axisProps.textAnchor) ? axisProps.textAnchor : getTickTextAnchor3(orientation, mirror);\n var verticalAnchor = getTickVerticalAnchor(orientation, mirror);\n var tickLinePropsObject = {};\n if (typeof tickLine === \"object\") {\n tickLinePropsObject = tickLine;\n }\n var tickLineProps = _objectSpread49(_objectSpread49({}, axisProps), {}, {\n fill: \"none\"\n }, tickLinePropsObject);\n var tickLineCoords = finalTicks.map((entry) => _objectSpread49({\n entry\n }, getTickLineCoord2(entry, x2, y2, width, height, orientation, tickSize, mirror, tickMargin)));\n var tickLines = tickLineCoords.map((_ref2) => {\n var {\n entry,\n line: lineCoord\n } = _ref2;\n return /* @__PURE__ */ React103.createElement(Layer, {\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, tickLine && /* @__PURE__ */ React103.createElement(\"line\", _extends30({}, tickLineProps, lineCoord, {\n className: clsx(\"recharts-cartesian-axis-tick-line\", (0, import_get5.default)(tickLine, \"className\"))\n })));\n });\n var tickLabels = tickLineCoords.map((_ref3, i) => {\n var _ref4, _tickTextProps$angle;\n var {\n entry,\n tick: tickCoord\n } = _ref3;\n var tickProps = _objectSpread49(_objectSpread49(_objectSpread49(_objectSpread49({\n verticalAnchor\n }, axisProps), {}, {\n textAnchor,\n stroke: \"none\",\n fill: stroke\n }, tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter,\n padding\n }, tickTextProps), {}, {\n angle: (_ref4 = (_tickTextProps$angle = tickTextProps === null || tickTextProps === void 0 ? void 0 : tickTextProps.angle) !== null && _tickTextProps$angle !== void 0 ? _tickTextProps$angle : axisProps.angle) !== null && _ref4 !== void 0 ? _ref4 : 0\n });\n var finalTickProps = _objectSpread49(_objectSpread49({}, tickProps), customTickProps);\n return /* @__PURE__ */ React103.createElement(Layer, _extends30({\n className: \"recharts-cartesian-axis-tick-label\",\n key: \"tick-label-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, adaptEventsOfChild(events, entry, i)), tick && /* @__PURE__ */ React103.createElement(TickItem, {\n option: tick,\n tickProps: finalTickProps,\n value: \"\".concat(typeof tickFormatter === \"function\" ? tickFormatter(entry.value, i) : entry.value).concat(unit2 || \"\")\n }));\n });\n return /* @__PURE__ */ React103.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks recharts-\".concat(axisType, \"-ticks\")\n }, /* @__PURE__ */ React103.createElement(RenderedTicksReporter, {\n ticks: finalTicks,\n axisId,\n axisType\n }), tickLabels.length > 0 && /* @__PURE__ */ React103.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.label\n }, /* @__PURE__ */ React103.createElement(\"g\", {\n className: \"recharts-cartesian-axis-tick-labels recharts-\".concat(axisType, \"-tick-labels\"),\n ref\n }, tickLabels)), tickLines.length > 0 && /* @__PURE__ */ React103.createElement(\"g\", {\n className: \"recharts-cartesian-axis-tick-lines recharts-\".concat(axisType, \"-tick-lines\")\n }, tickLines));\n });\n var CartesianAxisComponent = /* @__PURE__ */ (0, import_react56.forwardRef)((props, ref) => {\n var {\n axisLine,\n width,\n height,\n className,\n hide: hide4,\n ticks: ticks2,\n axisType,\n axisId\n } = props, rest = _objectWithoutProperties20(props, _excluded20);\n var [fontSize, setFontSize] = (0, import_react56.useState)(\"\");\n var [letterSpacing, setLetterSpacing] = (0, import_react56.useState)(\"\");\n var tickRefs = (0, import_react56.useRef)(null);\n (0, import_react56.useImperativeHandle)(ref, () => ({\n getCalculatedWidth: () => {\n var _props$labelRef;\n return getCalculatedYAxisWidth({\n ticks: tickRefs.current,\n label: (_props$labelRef = props.labelRef) === null || _props$labelRef === void 0 ? void 0 : _props$labelRef.current,\n labelGapWithTick: 5,\n tickSize: props.tickSize,\n tickMargin: props.tickMargin\n });\n }\n }));\n var layerRef = (0, import_react56.useCallback)((el) => {\n if (el) {\n var tickNodes = el.getElementsByClassName(\"recharts-cartesian-axis-tick-value\");\n tickRefs.current = tickNodes;\n var tick = tickNodes[0];\n if (tick) {\n var computedStyle = window.getComputedStyle(tick);\n var calculatedFontSize = computedStyle.fontSize;\n var calculatedLetterSpacing = computedStyle.letterSpacing;\n if (calculatedFontSize !== fontSize || calculatedLetterSpacing !== letterSpacing) {\n setFontSize(calculatedFontSize);\n setLetterSpacing(calculatedLetterSpacing);\n }\n }\n }\n }, [fontSize, letterSpacing]);\n if (hide4) {\n return null;\n }\n if (width != null && width <= 0 || height != null && height <= 0) {\n return null;\n }\n return /* @__PURE__ */ React103.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React103.createElement(Layer, {\n className: clsx(\"recharts-cartesian-axis\", className)\n }, /* @__PURE__ */ React103.createElement(AxisLine2, {\n x: props.x,\n y: props.y,\n width,\n height,\n orientation: props.orientation,\n mirror: props.mirror,\n axisLine,\n otherSvgProps: svgPropertiesNoEvents(props)\n }), /* @__PURE__ */ React103.createElement(Ticks2, {\n ref: layerRef,\n axisType,\n events: rest,\n fontSize,\n getTicksConfig: props,\n height: props.height,\n letterSpacing,\n mirror: props.mirror,\n orientation: props.orientation,\n padding: props.padding,\n stroke: props.stroke,\n tick: props.tick,\n tickFormatter: props.tickFormatter,\n tickLine: props.tickLine,\n tickMargin: props.tickMargin,\n tickSize: props.tickSize,\n tickTextProps: props.tickTextProps,\n ticks: ticks2,\n unit: props.unit,\n width: props.width,\n x: props.x,\n y: props.y,\n axisId\n }), /* @__PURE__ */ React103.createElement(CartesianLabelContextProvider, {\n x: props.x,\n y: props.y,\n width: props.width,\n height: props.height,\n lowerWidth: props.width,\n upperWidth: props.width\n }, /* @__PURE__ */ React103.createElement(CartesianLabelFromLabelProp, {\n label: props.label,\n labelRef: props.labelRef\n }), props.children)));\n });\n var CartesianAxis = /* @__PURE__ */ React103.forwardRef((outsideProps, ref) => {\n var props = resolveDefaultProps(outsideProps, defaultCartesianAxisProps);\n return /* @__PURE__ */ React103.createElement(CartesianAxisComponent, _extends30({}, props, {\n ref\n }));\n });\n CartesianAxis.displayName = \"CartesianAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/CartesianGrid.js\n var React104 = __toESM(require_react());\n var _excluded21 = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"];\n var _excluded210 = [\"offset\"];\n var _excluded35 = [\"xAxisId\", \"yAxisId\"];\n var _excluded43 = [\"xAxisId\", \"yAxisId\"];\n function ownKeys50(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread50(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys50(Object(t2), true).forEach(function(r3) {\n _defineProperty52(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys50(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty52(e, r2, t2) {\n return (r2 = _toPropertyKey52(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey52(t2) {\n var i = _toPrimitive52(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive52(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends31() {\n return _extends31 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends31.apply(null, arguments);\n }\n function _objectWithoutProperties21(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose21(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose21(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var Background2 = (props) => {\n var {\n fill\n } = props;\n if (!fill || fill === \"none\") {\n return null;\n }\n var {\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n ry\n } = props;\n return /* @__PURE__ */ React104.createElement(\"rect\", {\n x: x2,\n y: y2,\n ry,\n width,\n height,\n stroke: \"none\",\n fill,\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n };\n function LineItem(_ref2) {\n var {\n option,\n lineItemProps\n } = _ref2;\n var lineItem;\n if (/* @__PURE__ */ React104.isValidElement(option)) {\n lineItem = /* @__PURE__ */ React104.cloneElement(option, lineItemProps);\n } else if (typeof option === \"function\") {\n lineItem = option(lineItemProps);\n } else {\n var _svgPropertiesNoEvent;\n var {\n x1,\n y1,\n x2,\n y2,\n key\n } = lineItemProps, others = _objectWithoutProperties21(lineItemProps, _excluded21);\n var _ref22 = (_svgPropertiesNoEvent = svgPropertiesNoEvents(others)) !== null && _svgPropertiesNoEvent !== void 0 ? _svgPropertiesNoEvent : {}, {\n offset: __\n } = _ref22, restOfFilteredProps = _objectWithoutProperties21(_ref22, _excluded210);\n lineItem = /* @__PURE__ */ React104.createElement(\"line\", _extends31({}, restOfFilteredProps, {\n x1,\n y1,\n x2,\n y2,\n fill: \"none\",\n key\n }));\n }\n return lineItem;\n }\n function HorizontalGridLines(props) {\n var {\n x: x2,\n width,\n horizontal = true,\n horizontalPoints\n } = props;\n if (!horizontal || !horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n var {\n xAxisId,\n yAxisId\n } = props, otherLineItemProps = _objectWithoutProperties21(props, _excluded35);\n var items = horizontalPoints.map((entry, i) => {\n var lineItemProps = _objectSpread50(_objectSpread50({}, otherLineItemProps), {}, {\n x1: x2,\n y1: entry,\n x2: x2 + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n return /* @__PURE__ */ React104.createElement(LineItem, {\n key: \"line-\".concat(i),\n option: horizontal,\n lineItemProps\n });\n });\n return /* @__PURE__ */ React104.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n function VerticalGridLines(props) {\n var {\n y: y2,\n height,\n vertical = true,\n verticalPoints\n } = props;\n if (!vertical || !verticalPoints || !verticalPoints.length) {\n return null;\n }\n var {\n xAxisId,\n yAxisId\n } = props, otherLineItemProps = _objectWithoutProperties21(props, _excluded43);\n var items = verticalPoints.map((entry, i) => {\n var lineItemProps = _objectSpread50(_objectSpread50({}, otherLineItemProps), {}, {\n x1: entry,\n y1: y2,\n x2: entry,\n y2: y2 + height,\n key: \"line-\".concat(i),\n index: i\n });\n return /* @__PURE__ */ React104.createElement(LineItem, {\n option: vertical,\n lineItemProps,\n key: \"line-\".concat(i)\n });\n });\n return /* @__PURE__ */ React104.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n function HorizontalStripes(props) {\n var {\n horizontalFill,\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n horizontalPoints,\n horizontal = true\n } = props;\n if (!horizontal || !horizontalFill || !horizontalFill.length || horizontalPoints == null) {\n return null;\n }\n var roundedSortedHorizontalPoints = horizontalPoints.map((e) => Math.round(e + y2 - y2)).sort((a2, b) => a2 - b);\n if (y2 !== roundedSortedHorizontalPoints[0]) {\n roundedSortedHorizontalPoints.unshift(0);\n }\n var items = roundedSortedHorizontalPoints.map((entry, i) => {\n var nextPoint = roundedSortedHorizontalPoints[i + 1];\n var lastStripe = nextPoint == null;\n var lineHeight = lastStripe ? y2 + height - entry : nextPoint - entry;\n if (lineHeight <= 0) {\n return null;\n }\n var colorIndex = i % horizontalFill.length;\n return /* @__PURE__ */ React104.createElement(\"rect\", {\n key: \"react-\".concat(i),\n y: entry,\n x: x2,\n height: lineHeight,\n width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /* @__PURE__ */ React104.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n function VerticalStripes(props) {\n var {\n vertical = true,\n verticalFill,\n fillOpacity,\n x: x2,\n y: y2,\n width,\n height,\n verticalPoints\n } = props;\n if (!vertical || !verticalFill || !verticalFill.length) {\n return null;\n }\n var roundedSortedVerticalPoints = verticalPoints.map((e) => Math.round(e + x2 - x2)).sort((a2, b) => a2 - b);\n if (x2 !== roundedSortedVerticalPoints[0]) {\n roundedSortedVerticalPoints.unshift(0);\n }\n var items = roundedSortedVerticalPoints.map((entry, i) => {\n var nextPoint = roundedSortedVerticalPoints[i + 1];\n var lastStripe = nextPoint == null;\n var lineWidth = lastStripe ? x2 + width - entry : nextPoint - entry;\n if (lineWidth <= 0) {\n return null;\n }\n var colorIndex = i % verticalFill.length;\n return /* @__PURE__ */ React104.createElement(\"rect\", {\n key: \"react-\".concat(i),\n x: entry,\n y: y2,\n width: lineWidth,\n height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /* @__PURE__ */ React104.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n var defaultVerticalCoordinatesGenerator = (_ref3, syncWithTicks) => {\n var {\n xAxis,\n width,\n height,\n offset: offset4\n } = _ref3;\n return getCoordinatesOfGrid(getTicks(_objectSpread50(_objectSpread50(_objectSpread50({}, defaultCartesianAxisProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width,\n height\n }\n })), offset4.left, offset4.left + offset4.width, syncWithTicks);\n };\n var defaultHorizontalCoordinatesGenerator = (_ref4, syncWithTicks) => {\n var {\n yAxis,\n width,\n height,\n offset: offset4\n } = _ref4;\n return getCoordinatesOfGrid(getTicks(_objectSpread50(_objectSpread50(_objectSpread50({}, defaultCartesianAxisProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width,\n height\n }\n })), offset4.top, offset4.top + offset4.height, syncWithTicks);\n };\n var defaultCartesianGridProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: \"#ccc\",\n fill: \"none\",\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: [],\n xAxisId: 0,\n yAxisId: 0,\n syncWithTicks: false,\n zIndex: DefaultZIndexes.grid\n };\n function CartesianGrid(props) {\n var chartWidth = useChartWidth();\n var chartHeight = useChartHeight();\n var offset4 = useOffsetInternal();\n var propsIncludingDefaults = _objectSpread50(_objectSpread50({}, resolveDefaultProps(props, defaultCartesianGridProps)), {}, {\n x: isNumber3(props.x) ? props.x : offset4.left,\n y: isNumber3(props.y) ? props.y : offset4.top,\n width: isNumber3(props.width) ? props.width : offset4.width,\n height: isNumber3(props.height) ? props.height : offset4.height\n });\n var {\n xAxisId,\n yAxisId,\n x: x2,\n y: y2,\n width,\n height,\n syncWithTicks,\n horizontalValues,\n verticalValues\n } = propsIncludingDefaults;\n var isPanorama = useIsPanorama();\n var xAxis = useAppSelector((state2) => selectAxisPropsNeededForCartesianGridTicksGenerator(state2, \"xAxis\", xAxisId, isPanorama));\n var yAxis = useAppSelector((state2) => selectAxisPropsNeededForCartesianGridTicksGenerator(state2, \"yAxis\", yAxisId, isPanorama));\n if (!isPositiveNumber(width) || !isPositiveNumber(height) || !isNumber3(x2) || !isNumber3(y2)) {\n return null;\n }\n var verticalCoordinatesGenerator = propsIncludingDefaults.verticalCoordinatesGenerator || defaultVerticalCoordinatesGenerator;\n var horizontalCoordinatesGenerator = propsIncludingDefaults.horizontalCoordinatesGenerator || defaultHorizontalCoordinatesGenerator;\n var {\n horizontalPoints,\n verticalPoints\n } = propsIncludingDefaults;\n if ((!horizontalPoints || !horizontalPoints.length) && typeof horizontalCoordinatesGenerator === \"function\") {\n var isHorizontalValues = horizontalValues && horizontalValues.length;\n var generatorResult = horizontalCoordinatesGenerator({\n yAxis: yAxis ? _objectSpread50(_objectSpread50({}, yAxis), {}, {\n ticks: isHorizontalValues ? horizontalValues : yAxis.ticks\n }) : void 0,\n width: chartWidth !== null && chartWidth !== void 0 ? chartWidth : width,\n height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\n offset: offset4\n }, isHorizontalValues ? true : syncWithTicks);\n warn(Array.isArray(generatorResult), \"horizontalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof generatorResult, \"]\"));\n if (Array.isArray(generatorResult)) {\n horizontalPoints = generatorResult;\n }\n }\n if ((!verticalPoints || !verticalPoints.length) && typeof verticalCoordinatesGenerator === \"function\") {\n var isVerticalValues = verticalValues && verticalValues.length;\n var _generatorResult = verticalCoordinatesGenerator({\n xAxis: xAxis ? _objectSpread50(_objectSpread50({}, xAxis), {}, {\n ticks: isVerticalValues ? verticalValues : xAxis.ticks\n }) : void 0,\n width: chartWidth !== null && chartWidth !== void 0 ? chartWidth : width,\n height: chartHeight !== null && chartHeight !== void 0 ? chartHeight : height,\n offset: offset4\n }, isVerticalValues ? true : syncWithTicks);\n warn(Array.isArray(_generatorResult), \"verticalCoordinatesGenerator should return Array but instead it returned [\".concat(typeof _generatorResult, \"]\"));\n if (Array.isArray(_generatorResult)) {\n verticalPoints = _generatorResult;\n }\n }\n return /* @__PURE__ */ React104.createElement(ZIndexLayer, {\n zIndex: propsIncludingDefaults.zIndex\n }, /* @__PURE__ */ React104.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, /* @__PURE__ */ React104.createElement(Background2, {\n fill: propsIncludingDefaults.fill,\n fillOpacity: propsIncludingDefaults.fillOpacity,\n x: propsIncludingDefaults.x,\n y: propsIncludingDefaults.y,\n width: propsIncludingDefaults.width,\n height: propsIncludingDefaults.height,\n ry: propsIncludingDefaults.ry\n }), /* @__PURE__ */ React104.createElement(HorizontalStripes, _extends31({}, propsIncludingDefaults, {\n horizontalPoints\n })), /* @__PURE__ */ React104.createElement(VerticalStripes, _extends31({}, propsIncludingDefaults, {\n verticalPoints\n })), /* @__PURE__ */ React104.createElement(HorizontalGridLines, _extends31({}, propsIncludingDefaults, {\n offset: offset4,\n horizontalPoints,\n xAxis,\n yAxis\n })), /* @__PURE__ */ React104.createElement(VerticalGridLines, _extends31({}, propsIncludingDefaults, {\n offset: offset4,\n verticalPoints,\n xAxis,\n yAxis\n }))));\n }\n CartesianGrid.displayName = \"CartesianGrid\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Line.js\n var React107 = __toESM(require_react());\n var import_react58 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/ErrorBarContext.js\n var React105 = __toESM(require_react());\n var import_react57 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/errorBarSlice.js\n var initialState12 = {};\n var errorBarSlice = createSlice({\n name: \"errorBars\",\n initialState: initialState12,\n reducers: {\n addErrorBar: (state2, action) => {\n var {\n itemId,\n errorBar\n } = action.payload;\n if (!state2[itemId]) {\n state2[itemId] = [];\n }\n state2[itemId].push(errorBar);\n },\n replaceErrorBar: (state2, action) => {\n var {\n itemId,\n prev,\n next: next2\n } = action.payload;\n if (state2[itemId]) {\n state2[itemId] = state2[itemId].map((e) => e.dataKey === prev.dataKey && e.direction === prev.direction ? next2 : e);\n }\n },\n removeErrorBar: (state2, action) => {\n var {\n itemId,\n errorBar\n } = action.payload;\n if (state2[itemId]) {\n state2[itemId] = state2[itemId].filter((e) => e.dataKey !== errorBar.dataKey || e.direction !== errorBar.direction);\n }\n }\n }\n });\n var {\n addErrorBar,\n replaceErrorBar,\n removeErrorBar\n } = errorBarSlice.actions;\n var errorBarReducer = errorBarSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/context/ErrorBarContext.js\n var _excluded30 = [\"children\"];\n function _objectWithoutProperties22(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose22(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose22(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var initialContextState = {\n data: [],\n xAxisId: \"xAxis-0\",\n yAxisId: \"yAxis-0\",\n dataPointFormatter: () => ({\n x: 0,\n y: 0,\n value: 0\n }),\n errorBarOffset: 0\n };\n var ErrorBarContext = /* @__PURE__ */ (0, import_react57.createContext)(initialContextState);\n function SetErrorBarContext(props) {\n var {\n children\n } = props, rest = _objectWithoutProperties22(props, _excluded30);\n return /* @__PURE__ */ React105.createElement(ErrorBarContext.Provider, {\n value: rest\n }, children);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/GraphicalItemClipPath.js\n var React106 = __toESM(require_react());\n function useNeedsClip(xAxisId, yAxisId) {\n var _xAxis$allowDataOverf, _yAxis$allowDataOverf;\n var xAxis = useAppSelector((state2) => selectXAxisSettings(state2, xAxisId));\n var yAxis = useAppSelector((state2) => selectYAxisSettings(state2, yAxisId));\n var needClipX = (_xAxis$allowDataOverf = xAxis === null || xAxis === void 0 ? void 0 : xAxis.allowDataOverflow) !== null && _xAxis$allowDataOverf !== void 0 ? _xAxis$allowDataOverf : implicitXAxis.allowDataOverflow;\n var needClipY = (_yAxis$allowDataOverf = yAxis === null || yAxis === void 0 ? void 0 : yAxis.allowDataOverflow) !== null && _yAxis$allowDataOverf !== void 0 ? _yAxis$allowDataOverf : implicitYAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n return {\n needClip,\n needClipX,\n needClipY\n };\n }\n function GraphicalItemClipPath(_ref2) {\n var {\n xAxisId,\n yAxisId,\n clipPathId\n } = _ref2;\n var plotArea = usePlotArea();\n var {\n needClipX,\n needClipY,\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n if (!needClip || !plotArea) {\n return null;\n }\n var {\n x: x2,\n y: y2,\n width,\n height\n } = plotArea;\n return /* @__PURE__ */ React106.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /* @__PURE__ */ React106.createElement(\"rect\", {\n x: needClipX ? x2 : x2 - width / 2,\n y: needClipY ? y2 : y2 - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n }));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/lineSelectors.js\n var selectXAxisWithScale = (state2, xAxisId, _yAxisId, isPanorama) => selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n var selectXAxisTicks = (state2, xAxisId, _yAxisId, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n var selectYAxisWithScale = (state2, _xAxisId, yAxisId, isPanorama) => selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n var selectYAxisTicks = (state2, _xAxisId, yAxisId, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n var selectBandSize = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, \"xAxis\")) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n });\n var pickLineId = (_state, _xAxisId, _yAxisId, _isPanorama, id) => id;\n function isLineSettings(item) {\n return item.type === \"line\";\n }\n var selectSynchronisedLineSettings = createSelector([selectUnfilteredCartesianItems, pickLineId], (graphicalItems, id) => graphicalItems.filter(isLineSettings).find((x2) => x2.id === id));\n var selectLinePoints = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks, selectSynchronisedLineSettings, selectBandSize, selectChartDataWithIndexesIfNotInPanoramaPosition4], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, lineSettings, bandSize, _ref2) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (lineSettings == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null || layout !== \"horizontal\" && layout !== \"vertical\") {\n return void 0;\n }\n var {\n dataKey,\n data\n } = lineSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeLinePoints({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getRadiusAndStrokeWidthFromDot.js\n function getRadiusAndStrokeWidthFromDot(dot) {\n var props = svgPropertiesNoEventsFromUnknown(dot);\n var defaultR = 3;\n var defaultStrokeWidth = 2;\n if (props != null) {\n var {\n r: r2,\n strokeWidth\n } = props;\n var realR = Number(r2);\n var realStrokeWidth = Number(strokeWidth);\n if (Number.isNaN(realR) || realR < 0) {\n realR = defaultR;\n }\n if (Number.isNaN(realStrokeWidth) || realStrokeWidth < 0) {\n realStrokeWidth = defaultStrokeWidth;\n }\n return {\n r: realR,\n strokeWidth: realStrokeWidth\n };\n }\n return {\n r: defaultR,\n strokeWidth: defaultStrokeWidth\n };\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Line.js\n var _excluded31 = [\"id\"];\n var _excluded211 = [\"type\", \"layout\", \"connectNulls\", \"needClip\", \"shape\"];\n var _excluded36 = [\"activeDot\", \"animateNewValues\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"hide\", \"isAnimationActive\", \"label\", \"legendType\", \"xAxisId\", \"yAxisId\", \"id\"];\n function _extends32() {\n return _extends32 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends32.apply(null, arguments);\n }\n function ownKeys51(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread51(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys51(Object(t2), true).forEach(function(r3) {\n _defineProperty53(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys51(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty53(e, r2, t2) {\n return (r2 = _toPropertyKey53(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey53(t2) {\n var i = _toPrimitive53(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive53(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties23(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose23(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose23(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var computeLegendPayloadFromAreaData = (props) => {\n var {\n dataKey,\n name,\n stroke,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: stroke,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetLineTooltipEntrySettings = /* @__PURE__ */ React107.memo((_ref2) => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: stroke,\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React107.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var generateSimpleStrokeDasharray = (totalLength, length) => {\n return \"\".concat(length, \"px \").concat(totalLength, \"px\");\n };\n function repeat(lines, count3) {\n var linesUnit = lines.length % 2 !== 0 ? [...lines, 0] : lines;\n var result = [];\n for (var i = 0; i < count3; ++i) {\n result.push(...linesUnit);\n }\n return result;\n }\n var getStrokeDasharray2 = (length, totalLength, lines) => {\n var lineLength = lines.reduce((pre, next2) => pre + next2, 0);\n if (!lineLength) {\n return generateSimpleStrokeDasharray(totalLength, length);\n }\n var count3 = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var remainLines = [];\n for (var i = 0, sum = 0; i < lines.length; sum += (_lines$i = lines[i]) !== null && _lines$i !== void 0 ? _lines$i : 0, ++i) {\n var _lines$i;\n var lineValue = lines[i];\n if (lineValue != null && sum + lineValue > remainLength) {\n remainLines = [...lines.slice(0, i), remainLength - sum];\n break;\n }\n }\n var emptyLines = remainLines.length % 2 === 0 ? [0, totalLength] : [totalLength];\n return [...repeat(lines, count3), ...remainLines, ...emptyLines].map((line) => \"\".concat(line, \"px\")).join(\", \");\n };\n function LineDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey,\n needClip\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties23(props, _excluded31);\n var lineProps = svgPropertiesNoEvents(propsWithoutId);\n return /* @__PURE__ */ React107.createElement(Dots, {\n points,\n dot,\n className: \"recharts-line-dots\",\n dotClassName: \"recharts-line-dot\",\n dataKey,\n baseProps: lineProps,\n needClip,\n clipPathId\n });\n }\n function LineLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = (0, import_react58.useMemo)(() => {\n return points === null || points === void 0 ? void 0 : points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread51(_objectSpread51({}, viewBox), {}, {\n value: point4.value,\n payload: point4.payload,\n viewBox,\n /*\n * Line is not passing parentViewBox to the LabelList so the labels can escape - looks like a bug, should we pass parentViewBox?\n * Or should this just be the root chart viewBox?\n */\n parentViewBox: void 0,\n fill: void 0\n });\n });\n }, [points]);\n return /* @__PURE__ */ React107.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticCurve(_ref4) {\n var {\n clipPathId,\n pathRef,\n points,\n strokeDasharray,\n props\n } = _ref4;\n var {\n type,\n layout,\n connectNulls,\n needClip,\n shape\n } = props, others = _objectWithoutProperties23(props, _excluded211);\n var curveProps = _objectSpread51(_objectSpread51({}, svgPropertiesAndEvents(others)), {}, {\n fill: \"none\",\n className: \"recharts-line-curve\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0,\n points,\n type,\n layout,\n connectNulls,\n strokeDasharray: strokeDasharray !== null && strokeDasharray !== void 0 ? strokeDasharray : props.strokeDasharray\n });\n return /* @__PURE__ */ React107.createElement(React107.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /* @__PURE__ */ React107.createElement(Shape, _extends32({\n shapeType: \"curve\",\n option: shape\n }, curveProps, {\n pathRef\n })), /* @__PURE__ */ React107.createElement(LineDotsWrapper, {\n points,\n clipPathId,\n props\n }));\n }\n function getTotalLength(mainCurve) {\n try {\n return mainCurve && mainCurve.getTotalLength && mainCurve.getTotalLength() || 0;\n } catch (_unused) {\n return 0;\n }\n }\n function CurveWithAnimation(_ref5) {\n var {\n clipPathId,\n props,\n pathRef,\n previousPointsRef,\n longestAnimatedLengthRef\n } = _ref5;\n var {\n points,\n strokeDasharray,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n animateNewValues,\n width,\n height,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(points, \"recharts-line-\");\n var animationIdRef = (0, import_react58.useRef)(animationId);\n var [isAnimating, setIsAnimating] = (0, import_react58.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react58.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react58.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n var totalLength = getTotalLength(pathRef.current);\n var startingPointRef = (0, import_react58.useRef)(0);\n if (animationIdRef.current !== animationId) {\n startingPointRef.current = longestAnimatedLengthRef.current;\n animationIdRef.current = animationId;\n }\n var startingPoint = startingPointRef.current;\n return /* @__PURE__ */ React107.createElement(LineLabelListProvider, {\n points,\n showLabels\n }, props.children, /* @__PURE__ */ React107.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var lengthInterpolated = interpolate(startingPoint, totalLength + startingPoint, t2);\n var curLength = Math.min(lengthInterpolated, totalLength);\n var currentStrokeDasharray;\n if (isAnimationActive) {\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map((num) => parseFloat(num));\n currentStrokeDasharray = getStrokeDasharray2(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = generateSimpleStrokeDasharray(totalLength, curLength);\n }\n } else {\n currentStrokeDasharray = strokeDasharray == null ? void 0 : String(strokeDasharray);\n }\n if (t2 > 0 && totalLength > 0) {\n previousPointsRef.current = points;\n longestAnimatedLengthRef.current = Math.max(longestAnimatedLengthRef.current, curLength);\n }\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = t2 === 1 ? points : points.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n if (animateNewValues) {\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: interpolate(width * 2, entry.x, t2),\n y: interpolate(height / 2, entry.y, t2)\n });\n }\n return _objectSpread51(_objectSpread51({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n previousPointsRef.current = stepData;\n return /* @__PURE__ */ React107.createElement(StaticCurve, {\n props,\n points: stepData,\n clipPathId,\n pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }\n return /* @__PURE__ */ React107.createElement(StaticCurve, {\n props,\n points,\n clipPathId,\n pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }), /* @__PURE__ */ React107.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function RenderCurve(_ref6) {\n var {\n clipPathId,\n props\n } = _ref6;\n var previousPointsRef = (0, import_react58.useRef)(null);\n var longestAnimatedLengthRef = (0, import_react58.useRef)(0);\n var pathRef = (0, import_react58.useRef)(null);\n return /* @__PURE__ */ React107.createElement(CurveWithAnimation, {\n props,\n clipPathId,\n previousPointsRef,\n longestAnimatedLengthRef,\n pathRef\n });\n }\n var errorBarDataPointFormatter = (dataPoint, dataKey) => {\n var _dataPoint$x, _dataPoint$y;\n return {\n x: (_dataPoint$x = dataPoint.x) !== null && _dataPoint$x !== void 0 ? _dataPoint$x : void 0,\n y: (_dataPoint$y = dataPoint.y) !== null && _dataPoint$y !== void 0 ? _dataPoint$y : void 0,\n value: dataPoint.value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n };\n var LineWithState = class extends import_react58.Component {\n render() {\n var {\n hide: hide4,\n dot,\n points,\n className,\n xAxisId,\n yAxisId,\n top,\n left,\n width,\n height,\n id,\n needClip,\n zIndex\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-line\", className);\n var clipPathId = id;\n var {\n r: r2,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r2 * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React107.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React107.createElement(Layer, {\n className: layerClass\n }, needClip && /* @__PURE__ */ React107.createElement(\"defs\", null, /* @__PURE__ */ React107.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n }), !clipDot && /* @__PURE__ */ React107.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /* @__PURE__ */ React107.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /* @__PURE__ */ React107.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter,\n errorBarOffset: 0\n }, /* @__PURE__ */ React107.createElement(RenderCurve, {\n props: this.props,\n clipPathId\n }))), /* @__PURE__ */ React107.createElement(ActivePoints, {\n activeDot: this.props.activeDot,\n points,\n mainColor: this.props.stroke,\n itemDataKey: this.props.dataKey,\n clipPath: activePointsClipPath\n }));\n }\n };\n var defaultLineProps = {\n activeDot: true,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n connectNulls: false,\n dot: true,\n fill: \"#fff\",\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"line\",\n stroke: \"#3182bd\",\n strokeWidth: 1,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.line,\n type: \"linear\"\n };\n function LineImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultLineProps), {\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n hide: hide4,\n isAnimationActive,\n label,\n legendType,\n xAxisId,\n yAxisId,\n id\n } = _resolveDefaultProps, everythingElse = _objectWithoutProperties23(_resolveDefaultProps, _excluded36);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var plotArea = usePlotArea();\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var points = useAppSelector((state2) => selectLinePoints(state2, xAxisId, yAxisId, isPanorama, id));\n if (layout !== \"horizontal\" && layout !== \"vertical\" || points == null || plotArea == null) {\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n return /* @__PURE__ */ React107.createElement(LineWithState, _extends32({}, everythingElse, {\n id,\n connectNulls,\n dot,\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive,\n hide: hide4,\n label,\n legendType,\n xAxisId,\n yAxisId,\n points,\n layout,\n height,\n width,\n left,\n top,\n needClip\n }));\n }\n function computeLinePoints(_ref7) {\n var {\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n } = _ref7;\n return displayedData.map((entry, index2) => {\n var value = getValueByDataKey(entry, dataKey);\n if (layout === \"horizontal\") {\n var _x = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index: index2\n });\n var _y = isNullish(value) ? null : yAxis.scale.map(value);\n return {\n x: _x,\n y: _y !== null && _y !== void 0 ? _y : null,\n value,\n payload: entry\n };\n }\n var x2 = isNullish(value) ? null : xAxis.scale.map(value);\n var y2 = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index: index2\n });\n if (x2 == null || y2 == null) {\n return null;\n }\n return {\n x: x2,\n y: y2,\n value,\n payload: entry\n };\n }).filter(Boolean);\n }\n function LineFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultLineProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React107.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"line\"\n }, (id) => /* @__PURE__ */ React107.createElement(React107.Fragment, null, /* @__PURE__ */ React107.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData(props)\n }), /* @__PURE__ */ React107.createElement(SetLineTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React107.createElement(SetCartesianGraphicalItem, {\n type: \"line\",\n id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n hide: props.hide,\n isPanorama\n }), /* @__PURE__ */ React107.createElement(LineImpl, _extends32({}, props, {\n id\n }))));\n }\n var Line = /* @__PURE__ */ React107.memo(LineFn, propsAreEqual);\n Line.displayName = \"Line\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Area.js\n var React108 = __toESM(require_react());\n var import_react59 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/graphicalItemSelectors.js\n function selectXAxisIdFromGraphicalItemId(state2, id) {\n var _state$graphicalItems, _state$graphicalItems2;\n return (_state$graphicalItems = (_state$graphicalItems2 = state2.graphicalItems.cartesianItems.find((item) => item.id === id)) === null || _state$graphicalItems2 === void 0 ? void 0 : _state$graphicalItems2.xAxisId) !== null && _state$graphicalItems !== void 0 ? _state$graphicalItems : defaultAxisId;\n }\n function selectYAxisIdFromGraphicalItemId(state2, id) {\n var _state$graphicalItems3, _state$graphicalItems4;\n return (_state$graphicalItems3 = (_state$graphicalItems4 = state2.graphicalItems.cartesianItems.find((item) => item.id === id)) === null || _state$graphicalItems4 === void 0 ? void 0 : _state$graphicalItems4.yAxisId) !== null && _state$graphicalItems3 !== void 0 ? _state$graphicalItems3 : defaultAxisId;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/areaSelectors.js\n var selectXAxisWithScale2 = (state2, graphicalItemId, isPanorama) => selectAxisWithScale(state2, \"xAxis\", selectXAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectXAxisTicks2 = (state2, graphicalItemId, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", selectXAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectYAxisWithScale2 = (state2, graphicalItemId, isPanorama) => selectAxisWithScale(state2, \"yAxis\", selectYAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectYAxisTicks2 = (state2, graphicalItemId, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", selectYAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectBandSize2 = createSelector([selectChartLayout, selectXAxisWithScale2, selectYAxisWithScale2, selectXAxisTicks2, selectYAxisTicks2], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, \"xAxis\")) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n });\n var pickAreaId = (_state, id) => id;\n var selectSynchronisedAreaSettings = createSelector([selectUnfilteredCartesianItems, pickAreaId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"area\").find((item) => item.id === id));\n var selectNumericalAxisType = (state2) => {\n var layout = selectChartLayout(state2);\n var isXAxisCategorical = isCategoricalAxis(layout, \"xAxis\");\n return isXAxisCategorical ? \"yAxis\" : \"xAxis\";\n };\n var selectNumericalAxisIdFromGraphicalItemId = (state2, graphicalItemId) => {\n var axisType = selectNumericalAxisType(state2);\n if (axisType === \"yAxis\") {\n return selectYAxisIdFromGraphicalItemId(state2, graphicalItemId);\n }\n return selectXAxisIdFromGraphicalItemId(state2, graphicalItemId);\n };\n var selectNumericalAxisStackGroups = (state2, graphicalItemId, isPanorama) => selectStackGroups(state2, selectNumericalAxisType(state2), selectNumericalAxisIdFromGraphicalItemId(state2, graphicalItemId), isPanorama);\n var selectGraphicalItemStackedData = createSelector([selectSynchronisedAreaSettings, selectNumericalAxisStackGroups], (areaSettings, stackGroups) => {\n var _stackGroups$stackId;\n if (areaSettings == null || stackGroups == null) {\n return void 0;\n }\n var {\n stackId\n } = areaSettings;\n var stackSeriesIdentifier = getStackSeriesIdentifier(areaSettings);\n if (stackId == null || stackSeriesIdentifier == null) {\n return void 0;\n }\n var groups = (_stackGroups$stackId = stackGroups[stackId]) === null || _stackGroups$stackId === void 0 ? void 0 : _stackGroups$stackId.stackedData;\n var found = groups === null || groups === void 0 ? void 0 : groups.find((v) => v.key === stackSeriesIdentifier);\n if (found == null) {\n return void 0;\n }\n return found.map((item) => [item[0], item[1]]);\n });\n var selectArea = createSelector([selectChartLayout, selectXAxisWithScale2, selectYAxisWithScale2, selectXAxisTicks2, selectYAxisTicks2, selectGraphicalItemStackedData, selectChartDataWithIndexesIfNotInPanoramaPosition3, selectBandSize2, selectSynchronisedAreaSettings, selectChartBaseValue], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, stackedData, _ref2, bandSize, areaSettings, chartBaseValue) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (areaSettings == null || layout !== \"horizontal\" && layout !== \"vertical\" || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null) {\n return void 0;\n }\n var {\n data\n } = areaSettings;\n var displayedData;\n if (data && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeArea({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataStartIndex,\n areaSettings,\n stackedData,\n displayedData,\n chartBaseValue,\n bandSize\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Area.js\n var _excluded37 = [\"id\"];\n var _excluded212 = [\"activeDot\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"fill\", \"fillOpacity\", \"hide\", \"isAnimationActive\", \"legendType\", \"stroke\", \"xAxisId\", \"yAxisId\"];\n function _extends33() {\n return _extends33 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends33.apply(null, arguments);\n }\n function _objectWithoutProperties24(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose24(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose24(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys52(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread52(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys52(Object(t2), true).forEach(function(r3) {\n _defineProperty54(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys52(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty54(e, r2, t2) {\n return (r2 = _toPropertyKey54(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey54(t2) {\n var i = _toPrimitive54(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive54(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function getLegendItemColor2(stroke, fill) {\n return stroke && stroke !== \"none\" ? stroke : fill;\n }\n var computeLegendPayloadFromAreaData2 = (props) => {\n var {\n dataKey,\n name,\n stroke,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: getLegendItemColor2(stroke, fill),\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetAreaTooltipEntrySettings = /* @__PURE__ */ React108.memo((_ref2) => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: getLegendItemColor2(stroke, fill),\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React108.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function AreaDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n needClip,\n dot,\n dataKey\n } = props;\n var areaProps = svgPropertiesNoEvents(props);\n return /* @__PURE__ */ React108.createElement(Dots, {\n points,\n dot,\n className: \"recharts-area-dots\",\n dotClassName: \"recharts-area-dot\",\n dataKey,\n baseProps: areaProps,\n needClip,\n clipPathId\n });\n }\n function AreaLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread52(_objectSpread52({}, viewBox), {}, {\n value: point4.value,\n payload: point4.payload,\n parentViewBox: void 0,\n viewBox,\n fill: void 0\n });\n });\n return /* @__PURE__ */ React108.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function StaticArea(_ref4) {\n var {\n points,\n baseLine,\n needClip,\n clipPathId,\n props\n } = _ref4;\n var {\n layout,\n type,\n stroke,\n connectNulls,\n isRange\n } = props;\n var {\n id\n } = props, propsWithoutId = _objectWithoutProperties24(props, _excluded37);\n var allOtherProps = svgPropertiesNoEvents(propsWithoutId);\n var propsWithEvents = svgPropertiesAndEvents(propsWithoutId);\n return /* @__PURE__ */ React108.createElement(React108.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /* @__PURE__ */ React108.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0\n }, /* @__PURE__ */ React108.createElement(Curve, _extends33({}, propsWithEvents, {\n id,\n points,\n connectNulls,\n type,\n baseLine,\n layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== \"none\" && /* @__PURE__ */ React108.createElement(Curve, _extends33({}, allOtherProps, {\n className: \"recharts-area-curve\",\n layout,\n type,\n connectNulls,\n fill: \"none\",\n points\n })), stroke !== \"none\" && isRange && Array.isArray(baseLine) && /* @__PURE__ */ React108.createElement(Curve, _extends33({}, allOtherProps, {\n className: \"recharts-area-curve\",\n layout,\n type,\n connectNulls,\n fill: \"none\",\n points: baseLine\n }))), /* @__PURE__ */ React108.createElement(AreaDotsWrapper, {\n points,\n props: propsWithoutId,\n clipPathId\n }));\n }\n function VerticalRect(_ref5) {\n var _points$, _points;\n var {\n alpha: alpha2,\n baseLine,\n points,\n strokeWidth\n } = _ref5;\n var startY = (_points$ = points[0]) === null || _points$ === void 0 ? void 0 : _points$.y;\n var endY = (_points = points[points.length - 1]) === null || _points === void 0 ? void 0 : _points.y;\n if (!isWellBehavedNumber(startY) || !isWellBehavedNumber(endY)) {\n return null;\n }\n var height = alpha2 * Math.abs(startY - endY);\n var maxX = Math.max(...points.map((entry) => entry.x || 0));\n if (isNumber3(baseLine)) {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(...baseLine.map((entry) => entry.x || 0), maxX);\n }\n if (isNumber3(maxX)) {\n return /* @__PURE__ */ React108.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n function HorizontalRect(_ref6) {\n var _points$2, _points2;\n var {\n alpha: alpha2,\n baseLine,\n points,\n strokeWidth\n } = _ref6;\n var startX = (_points$2 = points[0]) === null || _points$2 === void 0 ? void 0 : _points$2.x;\n var endX = (_points2 = points[points.length - 1]) === null || _points2 === void 0 ? void 0 : _points2.x;\n if (!isWellBehavedNumber(startX) || !isWellBehavedNumber(endX)) {\n return null;\n }\n var width = alpha2 * Math.abs(startX - endX);\n var maxY = Math.max(...points.map((entry) => entry.y || 0));\n if (isNumber3(baseLine)) {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(...baseLine.map((entry) => entry.y || 0), maxY);\n }\n if (isNumber3(maxY)) {\n return /* @__PURE__ */ React108.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n function ClipRect(_ref7) {\n var {\n alpha: alpha2,\n layout,\n points,\n baseLine,\n strokeWidth\n } = _ref7;\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React108.createElement(VerticalRect, {\n alpha: alpha2,\n points,\n baseLine,\n strokeWidth\n });\n }\n return /* @__PURE__ */ React108.createElement(HorizontalRect, {\n alpha: alpha2,\n points,\n baseLine,\n strokeWidth\n });\n }\n function AreaWithAnimation(_ref8) {\n var {\n needClip,\n clipPathId,\n props,\n previousPointsRef,\n previousBaselineRef\n } = _ref8;\n var {\n points,\n baseLine,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationStart,\n onAnimationEnd\n } = props;\n var animationInput = (0, import_react59.useMemo)(() => ({\n points,\n baseLine\n }), [points, baseLine]);\n var animationId = useAnimationId(animationInput, \"recharts-area-\");\n var layout = useCartesianChartLayout();\n var [isAnimating, setIsAnimating] = (0, import_react59.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react59.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react59.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n if (layout == null) {\n return null;\n }\n var prevPoints = previousPointsRef.current;\n var prevBaseLine = previousBaselineRef.current;\n return /* @__PURE__ */ React108.createElement(AreaLabelListProvider, {\n showLabels,\n points\n }, props.children, /* @__PURE__ */ React108.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepPoints = (\n /*\n * Here it is important that at the very end of the animation, on the last frame,\n * we render the original points without any interpolation.\n * This is needed because the code above is checking for reference equality to decide if the animation should run\n * and if we create a new array instance (even if the numbers were the same)\n * then we would break animations.\n */\n t2 === 1 ? points : points.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread52(_objectSpread52({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return entry;\n })\n );\n var stepBaseLine;\n if (isNumber3(baseLine)) {\n stepBaseLine = interpolate(prevBaseLine, baseLine, t2);\n } else if (isNullish(baseLine) || isNan(baseLine)) {\n stepBaseLine = interpolate(prevBaseLine, 0, t2);\n } else {\n stepBaseLine = baseLine.map((entry, index2) => {\n var prevPointIndex = Math.floor(index2 * prevPointsDiffFactor);\n if (Array.isArray(prevBaseLine) && prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n return _objectSpread52(_objectSpread52({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2)\n });\n }\n return entry;\n });\n }\n if (t2 > 0) {\n previousPointsRef.current = stepPoints;\n previousBaselineRef.current = stepBaseLine;\n }\n return /* @__PURE__ */ React108.createElement(StaticArea, {\n points: stepPoints,\n baseLine: stepBaseLine,\n needClip,\n clipPathId,\n props\n });\n }\n if (t2 > 0) {\n previousPointsRef.current = points;\n previousBaselineRef.current = baseLine;\n }\n return /* @__PURE__ */ React108.createElement(Layer, null, isAnimationActive && /* @__PURE__ */ React108.createElement(\"defs\", null, /* @__PURE__ */ React108.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, /* @__PURE__ */ React108.createElement(ClipRect, {\n alpha: t2,\n points,\n baseLine,\n layout,\n strokeWidth: props.strokeWidth\n }))), /* @__PURE__ */ React108.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, /* @__PURE__ */ React108.createElement(StaticArea, {\n points,\n baseLine,\n needClip,\n clipPathId,\n props\n })));\n }), /* @__PURE__ */ React108.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function RenderArea(_ref9) {\n var {\n needClip,\n clipPathId,\n props\n } = _ref9;\n var previousPointsRef = (0, import_react59.useRef)(null);\n var previousBaselineRef = (0, import_react59.useRef)();\n return /* @__PURE__ */ React108.createElement(AreaWithAnimation, {\n needClip,\n clipPathId,\n props,\n previousPointsRef,\n previousBaselineRef\n });\n }\n var AreaWithState = class extends import_react59.PureComponent {\n render() {\n var {\n hide: hide4,\n dot,\n points,\n className,\n top,\n left,\n needClip,\n xAxisId,\n yAxisId,\n width,\n height,\n id,\n baseLine,\n zIndex\n } = this.props;\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-area\", className);\n var clipPathId = id;\n var {\n r: r2,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r2 * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? \"\" : \"dots-\").concat(clipPathId, \")\") : void 0;\n return /* @__PURE__ */ React108.createElement(ZIndexLayer, {\n zIndex\n }, /* @__PURE__ */ React108.createElement(Layer, {\n className: layerClass\n }, needClip && /* @__PURE__ */ React108.createElement(\"defs\", null, /* @__PURE__ */ React108.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n }), !clipDot && /* @__PURE__ */ React108.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /* @__PURE__ */ React108.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /* @__PURE__ */ React108.createElement(RenderArea, {\n needClip,\n clipPathId,\n props: this.props\n })), /* @__PURE__ */ React108.createElement(ActivePoints, {\n points,\n mainColor: getLegendItemColor2(this.props.stroke, this.props.fill),\n itemDataKey: this.props.dataKey,\n activeDot: this.props.activeDot,\n clipPath: activePointsClipPath\n }), this.props.isRange && Array.isArray(baseLine) && /* @__PURE__ */ React108.createElement(ActivePoints, {\n points: baseLine,\n mainColor: getLegendItemColor2(this.props.stroke, this.props.fill),\n itemDataKey: this.props.dataKey,\n activeDot: this.props.activeDot,\n clipPath: activePointsClipPath\n }));\n }\n };\n var defaultAreaProps = {\n activeDot: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"ease\",\n connectNulls: false,\n dot: false,\n fill: \"#3182bd\",\n fillOpacity: 0.6,\n hide: false,\n isAnimationActive: \"auto\",\n legendType: \"line\",\n stroke: \"#3182bd\",\n strokeWidth: 1,\n type: \"linear\",\n label: false,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.area\n };\n function AreaImpl(props) {\n var _useAppSelector;\n var {\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n fill,\n fillOpacity,\n hide: hide4,\n isAnimationActive,\n legendType,\n stroke,\n xAxisId,\n yAxisId\n } = props, everythingElse = _objectWithoutProperties24(props, _excluded212);\n var layout = useChartLayout();\n var chartName = useChartName();\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var isPanorama = useIsPanorama();\n var {\n points,\n isRange,\n baseLine\n } = (_useAppSelector = useAppSelector((state2) => selectArea(state2, props.id, isPanorama))) !== null && _useAppSelector !== void 0 ? _useAppSelector : {};\n var plotArea = usePlotArea();\n if (layout !== \"horizontal\" && layout !== \"vertical\" || plotArea == null) {\n return null;\n }\n if (chartName !== \"AreaChart\" && chartName !== \"ComposedChart\") {\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n if (!points || !points.length) {\n return null;\n }\n return /* @__PURE__ */ React108.createElement(AreaWithState, _extends33({}, everythingElse, {\n activeDot,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLine,\n connectNulls,\n dot,\n fill,\n fillOpacity,\n height,\n hide: hide4,\n layout,\n isAnimationActive,\n isRange,\n legendType,\n needClip,\n points,\n stroke,\n width,\n left,\n top,\n xAxisId,\n yAxisId\n }));\n }\n var getBaseValue = (layout, chartBaseValue, itemBaseValue, xAxis, yAxis) => {\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber3(baseValue)) {\n return baseValue;\n }\n var numericAxis = layout === \"horizontal\" ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === \"number\") {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === \"dataMin\") {\n return domainMin;\n }\n if (baseValue === \"dataMax\") {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === \"dataMin\") {\n return domain[0];\n }\n if (baseValue === \"dataMax\") {\n return domain[1];\n }\n return domain[0];\n };\n function computeArea(_ref0) {\n var {\n areaSettings: {\n connectNulls,\n baseValue: itemBaseValue,\n dataKey\n },\n stackedData,\n layout,\n chartBaseValue,\n xAxis,\n yAxis,\n displayedData,\n dataStartIndex,\n xAxisTicks,\n yAxisTicks,\n bandSize\n } = _ref0;\n var hasStack = stackedData && stackedData.length;\n var baseValue = getBaseValue(layout, chartBaseValue, itemBaseValue, xAxis, yAxis);\n var isHorizontalLayout = layout === \"horizontal\";\n var isRange = false;\n var points = displayedData.map((entry, index2) => {\n var _valueAsArray$, _valueAsArray, _xAxis$scale$map;\n var valueAsArray;\n if (hasStack) {\n valueAsArray = stackedData[dataStartIndex + index2];\n } else {\n var rawValue = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(rawValue)) {\n valueAsArray = [baseValue, rawValue];\n } else {\n valueAsArray = rawValue;\n isRange = true;\n }\n }\n var value1 = (_valueAsArray$ = (_valueAsArray = valueAsArray) === null || _valueAsArray === void 0 ? void 0 : _valueAsArray[1]) !== null && _valueAsArray$ !== void 0 ? _valueAsArray$ : null;\n var isBreakPoint = value1 == null || hasStack && !connectNulls && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n var _yAxis$scale$map;\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index: index2\n }),\n y: isBreakPoint ? null : (_yAxis$scale$map = yAxis.scale.map(value1)) !== null && _yAxis$scale$map !== void 0 ? _yAxis$scale$map : null,\n value: valueAsArray,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : (_xAxis$scale$map = xAxis.scale.map(value1)) !== null && _xAxis$scale$map !== void 0 ? _xAxis$scale$map : null,\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index: index2\n }),\n value: valueAsArray,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map((entry) => {\n var _xAxis$scale$map2;\n var x2 = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n var _yAxis$scale$map2;\n return {\n x: entry.x,\n y: x2 != null && entry.y != null ? (_yAxis$scale$map2 = yAxis.scale.map(x2)) !== null && _yAxis$scale$map2 !== void 0 ? _yAxis$scale$map2 : null : null,\n payload: entry.payload\n };\n }\n return {\n x: x2 != null ? (_xAxis$scale$map2 = xAxis.scale.map(x2)) !== null && _xAxis$scale$map2 !== void 0 ? _xAxis$scale$map2 : null : null,\n y: entry.y,\n payload: entry.payload\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale.map(baseValue) : xAxis.scale.map(baseValue);\n }\n return {\n points,\n baseLine: baseLine !== null && baseLine !== void 0 ? baseLine : 0,\n isRange\n };\n }\n function AreaFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultAreaProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React108.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"area\"\n }, (id) => /* @__PURE__ */ React108.createElement(React108.Fragment, null, /* @__PURE__ */ React108.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData2(props)\n }), /* @__PURE__ */ React108.createElement(SetAreaTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React108.createElement(SetCartesianGraphicalItem, {\n type: \"area\",\n id,\n data: props.data,\n dataKey: props.dataKey,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n stackId: getNormalizedStackId(props.stackId),\n hide: props.hide,\n barSize: void 0,\n baseValue: props.baseValue,\n isPanorama,\n connectNulls: props.connectNulls\n }), /* @__PURE__ */ React108.createElement(AreaImpl, _extends33({}, props, {\n id\n }))));\n }\n var Area = /* @__PURE__ */ React108.memo(AreaFn, propsAreEqual);\n Area.displayName = \"Area\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Bar.js\n var React111 = __toESM(require_react());\n var import_react61 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/BarUtils.js\n var React109 = __toESM(require_react());\n\n // ../../../node_modules/.bun/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js\n var isProduction = true;\n var prefix = \"Invariant failed\";\n function invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === \"function\" ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/BarUtils.js\n function _extends34() {\n return _extends34 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends34.apply(null, arguments);\n }\n function BarRectangle(props) {\n return /* @__PURE__ */ React109.createElement(Shape, _extends34({\n shapeType: \"rectangle\",\n activeClassName: \"recharts-active-bar\",\n inActiveClassName: \"recharts-inactive-bar\"\n }, props));\n }\n var minPointSizeCallback = function minPointSizeCallback2(minPointSize) {\n var defaultValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n return (value, index2) => {\n if (isNumber3(minPointSize)) return minPointSize;\n var isValueNumberOrNil = isNumber3(value) || isNullish(value);\n if (isValueNumberOrNil) {\n return minPointSize(value, index2);\n }\n !isValueNumberOrNil ? true ? invariant(false, \"minPointSize callback function received a value with type of \".concat(typeof value, \". Currently only numbers or null/undefined are supported.\")) : invariant(false) : void 0;\n return defaultValue;\n };\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/barSelectors.js\n var pickIsPanorama = (_state, _id, isPanorama) => isPanorama;\n var pickBarId = (_state, id) => id;\n var selectSynchronisedBarSettings = createSelector([selectUnfilteredCartesianItems, pickBarId], (graphicalItems, id) => graphicalItems.filter((item) => item.type === \"bar\").find((item) => item.id === id));\n var selectMaxBarSize = createSelector([selectSynchronisedBarSettings], (barSettings) => barSettings === null || barSettings === void 0 ? void 0 : barSettings.maxBarSize);\n var pickCells3 = (_state, _id, _isPanorama, cells) => cells;\n var selectAllVisibleBars = createSelector([selectChartLayout, selectUnfilteredCartesianItems, selectXAxisIdFromGraphicalItemId, selectYAxisIdFromGraphicalItemId, pickIsPanorama], (layout, allItems, xAxisId, yAxisId, isPanorama) => allItems.filter((i) => {\n if (layout === \"horizontal\") {\n return i.xAxisId === xAxisId;\n }\n return i.yAxisId === yAxisId;\n }).filter((i) => i.isPanorama === isPanorama).filter((i) => i.hide === false).filter((i) => i.type === \"bar\"));\n var selectBarStackGroups = (state2, id, isPanorama) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n if (layout === \"horizontal\") {\n return selectStackGroups(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return selectStackGroups(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectBarCartesianAxisSize = (state2, id) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n if (layout === \"horizontal\") {\n return selectCartesianAxisSize(state2, \"xAxis\", xAxisId);\n }\n return selectCartesianAxisSize(state2, \"yAxis\", yAxisId);\n };\n var selectBarSizeList = createSelector([selectAllVisibleBars, selectRootBarSize, selectBarCartesianAxisSize], combineBarSizeList);\n var selectBarBandSize = (state2, id, isPanorama) => {\n var _ref2, _getBandSizeOfAxis;\n var barSettings = selectSynchronisedBarSettings(state2, id);\n if (barSettings == null) {\n return 0;\n }\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return 0;\n }\n var layout = selectChartLayout(state2);\n var globalMaxBarSize = selectRootMaxBarSize(state2);\n var {\n maxBarSize: childMaxBarSize\n } = barSettings;\n var maxBarSize = isNullish(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var axis, ticks2;\n if (layout === \"horizontal\") {\n axis = selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n } else {\n axis = selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return (_ref2 = (_getBandSizeOfAxis = getBandSizeOfAxis(axis, ticks2, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref2 !== void 0 ? _ref2 : 0;\n };\n var selectAxisBandSize = (state2, id, isPanorama) => {\n var layout = selectChartLayout(state2);\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null || yAxisId == null) {\n return void 0;\n }\n var axis, ticks2;\n if (layout === \"horizontal\") {\n axis = selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n } else {\n axis = selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n ticks2 = selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n }\n return getBandSizeOfAxis(axis, ticks2);\n };\n var selectAllBarPositions = createSelector([selectBarSizeList, selectRootMaxBarSize, selectBarGap, selectBarCategoryGap, selectBarBandSize, selectAxisBandSize, selectMaxBarSize], combineAllBarPositions);\n var selectXAxisWithScale3 = (state2, id, isPanorama) => {\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null) {\n return void 0;\n }\n return selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectYAxisWithScale3 = (state2, id, isPanorama) => {\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (yAxisId == null) {\n return void 0;\n }\n return selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n };\n var selectXAxisTicks3 = (state2, id, isPanorama) => {\n var xAxisId = selectXAxisIdFromGraphicalItemId(state2, id);\n if (xAxisId == null) {\n return void 0;\n }\n return selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n };\n var selectYAxisTicks3 = (state2, id, isPanorama) => {\n var yAxisId = selectYAxisIdFromGraphicalItemId(state2, id);\n if (yAxisId == null) {\n return void 0;\n }\n return selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n };\n var selectBarPosition = createSelector([selectAllBarPositions, selectSynchronisedBarSettings], combineBarPosition);\n var selectStackedDataOfItem = createSelector([selectBarStackGroups, selectSynchronisedBarSettings], combineStackedData);\n var selectBarRectangles = createSelector([selectChartOffsetInternal, selectAxisViewBox, selectXAxisWithScale3, selectYAxisWithScale3, selectXAxisTicks3, selectYAxisTicks3, selectBarPosition, selectChartLayout, selectChartDataWithIndexesIfNotInPanoramaPosition3, selectAxisBandSize, selectStackedDataOfItem, selectSynchronisedBarSettings, pickCells3], (offset4, axisViewBox, xAxis, yAxis, xAxisTicks, yAxisTicks, pos, layout, _ref2, bandSize, stackedData, barSettings, cells) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (barSettings == null || pos == null || axisViewBox == null || layout !== \"horizontal\" && layout !== \"vertical\" || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || bandSize == null) {\n return void 0;\n }\n var {\n data\n } = barSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return void 0;\n }\n return computeBarRectangles({\n layout,\n barSettings,\n pos,\n parentViewBox: axisViewBox,\n bandSize,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n stackedData,\n displayedData,\n offset: offset4,\n cells,\n dataStartIndex\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/BarStack.js\n var React110 = __toESM(require_react());\n var import_react60 = __toESM(require_react());\n var _excluded38 = [\"index\"];\n function _extends35() {\n return _extends35 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends35.apply(null, arguments);\n }\n function _objectWithoutProperties25(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose25(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose25(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var BarStackContext = /* @__PURE__ */ (0, import_react60.createContext)(void 0);\n var useStackId = (childStackId) => {\n var stackSettings = (0, import_react60.useContext)(BarStackContext);\n if (stackSettings != null) {\n return stackSettings.stackId;\n }\n if (childStackId == null) {\n return void 0;\n }\n return getNormalizedStackId(childStackId);\n };\n var getClipPathId = (stackId, index2) => {\n return \"recharts-bar-stack-clip-path-\".concat(stackId, \"-\").concat(index2);\n };\n var useBarStackClipPathUrl = (index2) => {\n var barStackContext = (0, import_react60.useContext)(BarStackContext);\n if (barStackContext == null) {\n return void 0;\n }\n var {\n stackId\n } = barStackContext;\n return \"url(#\".concat(getClipPathId(stackId, index2), \")\");\n };\n var BarStackClipLayer = (_ref2) => {\n var {\n index: index2\n } = _ref2, rest = _objectWithoutProperties25(_ref2, _excluded38);\n var clipPathUrl = useBarStackClipPathUrl(index2);\n return /* @__PURE__ */ React110.createElement(Layer, _extends35({\n className: \"recharts-bar-stack-layer\",\n clipPath: clipPathUrl\n }, rest));\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Bar.js\n var _excluded39 = [\"onMouseEnter\", \"onMouseLeave\", \"onClick\"];\n var _excluded213 = [\"value\", \"background\", \"tooltipPosition\"];\n var _excluded310 = [\"id\"];\n var _excluded44 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n function _extends36() {\n return _extends36 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends36.apply(null, arguments);\n }\n function ownKeys53(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread53(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys53(Object(t2), true).forEach(function(r3) {\n _defineProperty55(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys53(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty55(e, r2, t2) {\n return (r2 = _toPropertyKey55(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey55(t2) {\n var i = _toPrimitive55(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive55(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties26(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose26(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose26(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var computeLegendPayloadFromBarData = (props) => {\n var {\n dataKey,\n name,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: fill,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetBarTooltipEntrySettings = /* @__PURE__ */ React111.memo((_ref2) => {\n var {\n dataKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n unit: unit2,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: void 0,\n getPosition: noop4,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: void 0,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: unit2,\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React111.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function BarBackground(props) {\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n data,\n dataKey,\n background: backgroundFromProps,\n allOtherBarProps\n } = props;\n var {\n onMouseEnter: onMouseEnterFromProps,\n onMouseLeave: onMouseLeaveFromProps,\n onClick: onItemClickFromProps\n } = allOtherBarProps, restOfAllOtherProps = _objectWithoutProperties26(allOtherBarProps, _excluded39);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, allOtherBarProps.id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, allOtherBarProps.id);\n if (!backgroundFromProps || data == null) {\n return null;\n }\n var backgroundProps = svgPropertiesNoEventsFromUnknown(backgroundFromProps);\n return /* @__PURE__ */ React111.createElement(ZIndexLayer, {\n zIndex: getZIndexFromUnknown(backgroundFromProps, DefaultZIndexes.barBackground)\n }, data.map((entry, i) => {\n var {\n value,\n background: backgroundFromDataEntry,\n tooltipPosition\n } = entry, rest = _objectWithoutProperties26(entry, _excluded213);\n if (!backgroundFromDataEntry) {\n return null;\n }\n var onMouseEnter = onMouseEnterFromContext(entry, i);\n var onMouseLeave = onMouseLeaveFromContext(entry, i);\n var onClick = onClickFromContext(entry, i);\n var barRectangleProps = _objectSpread53(_objectSpread53(_objectSpread53(_objectSpread53(_objectSpread53({\n option: backgroundFromProps,\n isActive: String(i) === activeIndex\n }, rest), {}, {\n // @ts-expect-error backgroundProps is contributing unknown props\n fill: \"#eee\"\n }, backgroundFromDataEntry), backgroundProps), adaptEventsOfChild(restOfAllOtherProps, entry, i)), {}, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n dataKey,\n index: i,\n className: \"recharts-bar-background-rectangle\"\n });\n return /* @__PURE__ */ React111.createElement(BarRectangle, _extends36({\n key: \"background-bar-\".concat(i)\n }, barRectangleProps));\n }));\n }\n function BarLabelListProvider(_ref2) {\n var {\n showLabels,\n children,\n rects\n } = _ref2;\n var labelListEntries = rects === null || rects === void 0 ? void 0 : rects.map((entry) => {\n var viewBox = {\n x: entry.x,\n y: entry.y,\n width: entry.width,\n lowerWidth: entry.width,\n upperWidth: entry.width,\n height: entry.height\n };\n return _objectSpread53(_objectSpread53({}, viewBox), {}, {\n value: entry.value,\n payload: entry.payload,\n parentViewBox: entry.parentViewBox,\n viewBox,\n fill: entry.fill\n });\n });\n return /* @__PURE__ */ React111.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function BarRectangleWithActiveState(props) {\n var {\n shape,\n activeBar,\n baseProps,\n entry,\n index: index2,\n dataKey\n } = props;\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var activeDataKey = useAppSelector(selectActiveTooltipDataKey);\n var isActive = activeBar && String(entry.originalDataIndex) === activeIndex && (activeDataKey == null || dataKey === activeDataKey);\n var [stayInLayer, setStayInLayer] = (0, import_react61.useState)(false);\n var [hasMountedActive, setHasMountedActive] = (0, import_react61.useState)(false);\n (0, import_react61.useEffect)(() => {\n var rafId4;\n if (isActive) {\n setStayInLayer(true);\n rafId4 = requestAnimationFrame(() => {\n setHasMountedActive(true);\n });\n } else {\n setHasMountedActive(false);\n }\n return () => {\n cancelAnimationFrame(rafId4);\n };\n }, [isActive]);\n var handleTransitionEnd = (0, import_react61.useCallback)(() => {\n if (!isActive) {\n setStayInLayer(false);\n }\n }, [isActive]);\n var isVisuallyActive = isActive && hasMountedActive;\n var shouldRenderInLayer = isActive || stayInLayer;\n var option;\n if (isActive) {\n if (activeBar === true) {\n option = shape;\n } else {\n option = activeBar;\n }\n } else {\n option = shape;\n }\n var content = /* @__PURE__ */ React111.createElement(BarRectangle, _extends36({}, baseProps, {\n name: String(baseProps.name)\n }, entry, {\n isActive: isVisuallyActive,\n option,\n index: index2,\n dataKey,\n onTransitionEnd: handleTransitionEnd\n }));\n if (shouldRenderInLayer) {\n return /* @__PURE__ */ React111.createElement(ZIndexLayer, {\n zIndex: DefaultZIndexes.activeBar\n }, /* @__PURE__ */ React111.createElement(BarStackClipLayer, {\n index: entry.originalDataIndex\n }, content));\n }\n return content;\n }\n function BarRectangleNeverActive(props) {\n var {\n shape,\n baseProps,\n entry,\n index: index2,\n dataKey\n } = props;\n return /* @__PURE__ */ React111.createElement(BarRectangle, _extends36({}, baseProps, {\n name: String(baseProps.name)\n }, entry, {\n isActive: false,\n option: shape,\n index: index2,\n dataKey\n }));\n }\n function BarRectangles(_ref3) {\n var _svgPropertiesNoEvent;\n var {\n data,\n props\n } = _ref3;\n var _ref4 = (_svgPropertiesNoEvent = svgPropertiesNoEvents(props)) !== null && _svgPropertiesNoEvent !== void 0 ? _svgPropertiesNoEvent : {}, {\n id\n } = _ref4, baseProps = _objectWithoutProperties26(_ref4, _excluded310);\n var {\n shape,\n dataKey,\n activeBar\n } = props;\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = props, restOfAllOtherProps = _objectWithoutProperties26(props, _excluded44);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, id);\n if (!data) {\n return null;\n }\n return /* @__PURE__ */ React111.createElement(React111.Fragment, null, data.map((entry, i) => {\n return /* @__PURE__ */ React111.createElement(BarStackClipLayer, _extends36({\n index: entry.originalDataIndex,\n key: \"rectangle-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value, \"-\").concat(i),\n className: \"recharts-bar-rectangle\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), activeBar ? /* @__PURE__ */ React111.createElement(BarRectangleWithActiveState, {\n shape,\n activeBar,\n baseProps,\n entry,\n index: i,\n dataKey\n }) : (\n /*\n * If the `activeBar` prop is falsy, then let's call the variant without hooks.\n * Using the `selectActiveTooltipIndex` selector is usually fast\n * but in charts with large-ish amount of data even the few nanoseconds add up to a noticeable jank.\n * If the activeBar is false then we don't need to know which index is active - because we won't use it anyway.\n * So let's just skip the hooks altogether. That way, React can skip rendering the component,\n * and can skip the tree reconciliation for its children too.\n * Because we can't call hooks conditionally, we need to have a separate component for that.\n */\n /* @__PURE__ */ React111.createElement(BarRectangleNeverActive, {\n shape,\n baseProps,\n entry,\n index: i,\n dataKey\n })\n ));\n }));\n }\n function RectanglesWithAnimation(_ref5) {\n var {\n props,\n previousRectanglesRef\n } = _ref5;\n var {\n data,\n layout,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevData = previousRectanglesRef.current;\n var animationId = useAnimationId(props, \"recharts-bar-\");\n var [isAnimating, setIsAnimating] = (0, import_react61.useState)(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = (0, import_react61.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react61.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React111.createElement(BarLabelListProvider, {\n showLabels,\n rects: data\n }, /* @__PURE__ */ React111.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? data : data === null || data === void 0 ? void 0 : data.map((entry, index2) => {\n var prev = prevData && prevData[index2];\n if (prev) {\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2),\n width: interpolate(prev.width, entry.width, t2),\n height: interpolate(prev.height, entry.height, t2)\n });\n }\n if (layout === \"horizontal\") {\n var height = interpolate(0, entry.height, t2);\n var y2 = interpolate(entry.stackedBarStart, entry.y, t2);\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n y: y2,\n height\n });\n }\n var w = interpolate(0, entry.width, t2);\n var x2 = interpolate(entry.stackedBarStart, entry.x, t2);\n return _objectSpread53(_objectSpread53({}, entry), {}, {\n width: w,\n x: x2\n });\n });\n if (t2 > 0) {\n previousRectanglesRef.current = stepData !== null && stepData !== void 0 ? stepData : null;\n }\n if (stepData == null) {\n return null;\n }\n return /* @__PURE__ */ React111.createElement(Layer, null, /* @__PURE__ */ React111.createElement(BarRectangles, {\n props,\n data: stepData\n }));\n }), /* @__PURE__ */ React111.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderRectangles(props) {\n var previousRectanglesRef = (0, import_react61.useRef)(null);\n return /* @__PURE__ */ React111.createElement(RectanglesWithAnimation, {\n previousRectanglesRef,\n props\n });\n }\n var defaultMinPointSize = 0;\n var errorBarDataPointFormatter2 = (dataPoint, dataKey) => {\n var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n var BarWithState = class extends import_react61.PureComponent {\n render() {\n var {\n hide: hide4,\n data,\n dataKey,\n className,\n xAxisId,\n yAxisId,\n needClip,\n background,\n id\n } = this.props;\n if (hide4 || data == null) {\n return null;\n }\n var layerClass = clsx(\"recharts-bar\", className);\n var clipPathId = id;\n return /* @__PURE__ */ React111.createElement(Layer, {\n className: layerClass,\n id\n }, needClip && /* @__PURE__ */ React111.createElement(\"defs\", null, /* @__PURE__ */ React111.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n })), /* @__PURE__ */ React111.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0\n }, /* @__PURE__ */ React111.createElement(BarBackground, {\n data,\n dataKey,\n background,\n allOtherBarProps: this.props\n }), /* @__PURE__ */ React111.createElement(RenderRectangles, this.props)));\n }\n };\n var defaultBarProps = {\n activeBar: false,\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: \"ease\",\n background: false,\n hide: false,\n isAnimationActive: \"auto\",\n label: false,\n legendType: \"rect\",\n minPointSize: defaultMinPointSize,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.bar\n };\n function BarImpl(props) {\n var {\n xAxisId,\n yAxisId,\n hide: hide4,\n legendType,\n minPointSize,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive\n } = props;\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var cells = findAllByType(props.children, Cell);\n var rects = useAppSelector((state2) => selectBarRectangles(state2, props.id, isPanorama, cells));\n if (layout !== \"vertical\" && layout !== \"horizontal\") {\n return null;\n }\n var errorBarOffset;\n var firstDataPoint = rects === null || rects === void 0 ? void 0 : rects[0];\n if (firstDataPoint == null || firstDataPoint.height == null || firstDataPoint.width == null) {\n errorBarOffset = 0;\n } else {\n errorBarOffset = layout === \"vertical\" ? firstDataPoint.height / 2 : firstDataPoint.width / 2;\n }\n return /* @__PURE__ */ React111.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: rects,\n dataPointFormatter: errorBarDataPointFormatter2,\n errorBarOffset\n }, /* @__PURE__ */ React111.createElement(BarWithState, _extends36({}, props, {\n layout,\n needClip,\n data: rects,\n xAxisId,\n yAxisId,\n hide: hide4,\n legendType,\n minPointSize,\n activeBar,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive\n })));\n }\n function computeBarRectangles(_ref6) {\n var {\n layout,\n barSettings: {\n dataKey,\n minPointSize: minPointSizeProp,\n hasCustomShape\n },\n pos,\n bandSize,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n stackedData,\n displayedData,\n offset: offset4,\n cells,\n parentViewBox,\n dataStartIndex\n } = _ref6;\n var numericAxis = layout === \"horizontal\" ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n numericAxis\n });\n var stackedBarStart = numericAxis.scale.map(baseValue);\n return displayedData.map((entry, index2) => {\n var value, x2, y2, width, height, background;\n if (stackedData) {\n var untruncatedValue = stackedData[index2 + dataStartIndex];\n if (untruncatedValue == null) {\n return null;\n }\n value = truncateByDomain(untruncatedValue, stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n var minPointSize = minPointSizeCallback(minPointSizeProp, defaultMinPointSize)(value[1], index2);\n if (layout === \"horizontal\") {\n var _ref7;\n var baseValueScale = yAxis.scale.map(value[0]);\n var currentValueScale = yAxis.scale.map(value[1]);\n if (baseValueScale == null || currentValueScale == null) {\n return null;\n }\n x2 = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n y2 = (_ref7 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref7 !== void 0 ? _ref7 : void 0;\n width = pos.size;\n var computedHeight = baseValueScale - currentValueScale;\n height = isNan(computedHeight) ? 0 : computedHeight;\n background = {\n x: x2,\n y: offset4.top,\n width,\n height: offset4.height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y2 -= delta;\n height += delta;\n }\n } else {\n var _baseValueScale = xAxis.scale.map(value[0]);\n var _currentValueScale = xAxis.scale.map(value[1]);\n if (_baseValueScale == null || _currentValueScale == null) {\n return null;\n }\n x2 = _baseValueScale;\n y2 = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n offset: pos.offset,\n entry,\n index: index2\n });\n width = _currentValueScale - _baseValueScale;\n height = pos.size;\n background = {\n x: offset4.left,\n y: y2,\n width: offset4.width,\n height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n width += _delta;\n }\n }\n if (x2 == null || y2 == null || width == null || height == null || !hasCustomShape && (width === 0 || height === 0)) {\n return null;\n }\n var barRectangleItem = _objectSpread53(_objectSpread53({}, entry), {}, {\n stackedBarStart,\n x: x2,\n y: y2,\n width,\n height,\n value: stackedData ? value : value[1],\n payload: entry,\n background,\n tooltipPosition: {\n x: x2 + width / 2,\n y: y2 + height / 2\n },\n parentViewBox,\n originalDataIndex: index2\n }, cells && cells[index2] && cells[index2].props);\n return barRectangleItem;\n }).filter(Boolean);\n }\n function BarFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultBarProps);\n var stackId = useStackId(props.stackId);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React111.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"bar\"\n }, (id) => /* @__PURE__ */ React111.createElement(React111.Fragment, null, /* @__PURE__ */ React111.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromBarData(props)\n }), /* @__PURE__ */ React111.createElement(SetBarTooltipEntrySettings, {\n dataKey: props.dataKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id\n }), /* @__PURE__ */ React111.createElement(SetCartesianGraphicalItem, {\n type: \"bar\",\n id,\n data: void 0,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n stackId,\n hide: props.hide,\n barSize: props.barSize,\n minPointSize: props.minPointSize,\n maxBarSize: props.maxBarSize,\n isPanorama,\n hasCustomShape: props.shape != null\n }), /* @__PURE__ */ React111.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React111.createElement(BarImpl, _extends36({}, props, {\n id\n })))));\n }\n var Bar = /* @__PURE__ */ React111.memo(BarFn, propsAreEqual);\n Bar.displayName = \"Bar\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Scatter.js\n var React113 = __toESM(require_react());\n var import_react62 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/ScatterUtils.js\n var React112 = __toESM(require_react());\n var _excluded40 = [\"option\", \"isActive\"];\n function _extends37() {\n return _extends37 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends37.apply(null, arguments);\n }\n function _objectWithoutProperties27(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose27(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose27(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ScatterSymbol(_ref2) {\n var {\n option,\n isActive\n } = _ref2, props = _objectWithoutProperties27(_ref2, _excluded40);\n if (typeof option === \"string\") {\n return /* @__PURE__ */ React112.createElement(Shape, _extends37({\n option: /* @__PURE__ */ React112.createElement(Symbols, _extends37({\n type: option\n }, props)),\n isActive,\n shapeType: \"symbols\"\n }, props));\n }\n return /* @__PURE__ */ React112.createElement(Shape, _extends37({\n option,\n isActive,\n shapeType: \"symbols\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/scatterSelectors.js\n var selectXAxisWithScale4 = (state2, xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectAxisWithScale(state2, \"xAxis\", xAxisId, isPanorama);\n var selectXAxisTicks4 = (state2, xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectTicksOfGraphicalItem(state2, \"xAxis\", xAxisId, isPanorama);\n var selectYAxisWithScale4 = (state2, _xAxisId, yAxisId, _zAxisId, _id, _cells, isPanorama) => selectAxisWithScale(state2, \"yAxis\", yAxisId, isPanorama);\n var selectYAxisTicks4 = (state2, _xAxisId, yAxisId, _zAxisId, _id, _cells, isPanorama) => selectTicksOfGraphicalItem(state2, \"yAxis\", yAxisId, isPanorama);\n var selectZAxis = (state2, _xAxisId, _yAxisId, zAxisId) => selectZAxisWithScale(state2, \"zAxis\", zAxisId, false);\n var pickScatterId = (_state, _xAxisId, _yAxisId, _zAxisId, id) => id;\n var pickCells4 = (_state, _xAxisId, _yAxisId, _zAxisId, _id, cells) => cells;\n var scatterChartDataSelector = (state2, _xAxisId, _yAxisId, _zAxisId, _id, _cells, isPanorama) => selectChartDataWithIndexesIfNotInPanoramaPosition4(state2, void 0, void 0, isPanorama);\n var selectSynchronisedScatterSettings = createSelector([selectUnfilteredCartesianItems, pickScatterId], (graphicalItems, id) => {\n return graphicalItems.filter((item) => item.type === \"scatter\").find((item) => item.id === id);\n });\n var selectScatterPoints = createSelector([scatterChartDataSelector, selectXAxisWithScale4, selectXAxisTicks4, selectYAxisWithScale4, selectYAxisTicks4, selectZAxis, selectSynchronisedScatterSettings, pickCells4], (_ref2, xAxis, xAxisTicks, yAxis, yAxisTicks, zAxis, scatterSettings, cells) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref2;\n if (scatterSettings == null) {\n return void 0;\n }\n var displayedData;\n if ((scatterSettings === null || scatterSettings === void 0 ? void 0 : scatterSettings.data) != null && scatterSettings.data.length > 0) {\n displayedData = scatterSettings.data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || (xAxisTicks === null || xAxisTicks === void 0 ? void 0 : xAxisTicks.length) === 0 || (yAxisTicks === null || yAxisTicks === void 0 ? void 0 : yAxisTicks.length) === 0) {\n return void 0;\n }\n return computeScatterPoints({\n displayedData,\n xAxis,\n yAxis,\n zAxis,\n scatterSettings,\n xAxisTicks,\n yAxisTicks,\n cells\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Scatter.js\n var _excluded41 = [\"id\"];\n var _excluded214 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\"];\n var _excluded311 = [\"animationBegin\", \"animationDuration\", \"animationEasing\", \"hide\", \"isAnimationActive\", \"legendType\", \"lineJointType\", \"lineType\", \"shape\", \"xAxisId\", \"yAxisId\", \"zAxisId\"];\n function _objectWithoutProperties28(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose28(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose28(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends38() {\n return _extends38 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends38.apply(null, arguments);\n }\n function ownKeys54(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread54(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys54(Object(t2), true).forEach(function(r3) {\n _defineProperty56(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys54(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty56(e, r2, t2) {\n return (r2 = _toPropertyKey56(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey56(t2) {\n var i = _toPrimitive56(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive56(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var computeLegendPayloadFromScatterProps = (props) => {\n var {\n dataKey,\n name,\n fill,\n legendType,\n hide: hide4\n } = props;\n return [{\n inactive: hide4,\n dataKey,\n type: legendType,\n color: fill,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n };\n var SetScatterTooltipEntrySettings = /* @__PURE__ */ React113.memo((_ref2) => {\n var {\n dataKey,\n points,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: points === null || points === void 0 ? void 0 : points.map((p) => p.tooltipPayload),\n getPosition: (index2) => {\n var _points$Number;\n return points === null || points === void 0 || (_points$Number = points[Number(index2)]) === null || _points$Number === void 0 ? void 0 : _points$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n nameKey: void 0,\n dataKey,\n name: getTooltipNameProp(name, dataKey),\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // why doesn't Scatter support unit?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React113.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function ScatterLine(_ref2) {\n var {\n points,\n props\n } = _ref2;\n var {\n line,\n lineType,\n lineJointType\n } = props;\n if (!line) {\n return null;\n }\n var scatterProps = svgPropertiesNoEvents(props);\n var customLineProps = svgPropertiesNoEventsFromUnknown(line);\n var linePoints, lineItem;\n if (lineType === \"joint\") {\n linePoints = points.map((entry) => {\n var _entry$cx, _entry$cy;\n return {\n x: (_entry$cx = entry.cx) !== null && _entry$cx !== void 0 ? _entry$cx : null,\n y: (_entry$cy = entry.cy) !== null && _entry$cy !== void 0 ? _entry$cy : null\n };\n });\n } else if (lineType === \"fitting\") {\n var {\n xmin,\n xmax,\n a: a2,\n b\n } = getLinearRegression(points);\n var linearExp = (x2) => a2 * x2 + b;\n linePoints = [{\n x: xmin,\n y: linearExp(xmin)\n }, {\n x: xmax,\n y: linearExp(xmax)\n }];\n }\n var lineProps = _objectSpread54(_objectSpread54(_objectSpread54({}, scatterProps), {}, {\n // @ts-expect-error customLineProps is contributing unknown props\n fill: \"none\",\n // @ts-expect-error customLineProps is contributing unknown props\n stroke: scatterProps && scatterProps.fill\n }, customLineProps), {}, {\n // @ts-expect-error linePoints is used before it is assigned (???)\n points: linePoints\n });\n if (/* @__PURE__ */ React113.isValidElement(line)) {\n lineItem = /* @__PURE__ */ React113.cloneElement(line, lineProps);\n } else if (typeof line === \"function\") {\n lineItem = line(lineProps);\n } else {\n lineItem = /* @__PURE__ */ React113.createElement(Curve, _extends38({}, lineProps, {\n type: lineJointType\n }));\n }\n return /* @__PURE__ */ React113.createElement(Layer, {\n className: \"recharts-scatter-line\",\n key: \"recharts-scatter-line\"\n }, lineItem);\n }\n function ScatterLabelListProvider(_ref3) {\n var {\n showLabels,\n points,\n children\n } = _ref3;\n var chartViewBox = useViewBox();\n var labelListEntries = (0, import_react62.useMemo)(() => {\n return points === null || points === void 0 ? void 0 : points.map((point4) => {\n var _point$x, _point$y;\n var viewBox = {\n /*\n * Scatter label uses x and y as the reference point for the label,\n * not cx and cy.\n */\n x: (_point$x = point4.x) !== null && _point$x !== void 0 ? _point$x : 0,\n /*\n * Scatter label uses x and y as the reference point for the label,\n * not cx and cy.\n */\n y: (_point$y = point4.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: point4.width,\n height: point4.height,\n lowerWidth: point4.width,\n upperWidth: point4.width\n };\n return _objectSpread54(_objectSpread54({}, viewBox), {}, {\n /*\n * Here we put undefined because Scatter shows two values usually, one for X and one for Y.\n * LabelList will see this undefined and will use its own `dataKey` prop to determine which value to show,\n * using the payload below.\n */\n value: void 0,\n payload: point4.payload,\n viewBox,\n parentViewBox: chartViewBox,\n fill: void 0\n });\n });\n }, [chartViewBox, points]);\n return /* @__PURE__ */ React113.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : void 0\n }, children);\n }\n function ScatterSymbols(props) {\n var {\n points,\n allOtherScatterProps\n } = props;\n var {\n shape,\n activeShape,\n dataKey\n } = allOtherScatterProps;\n var {\n id\n } = allOtherScatterProps, allOtherPropsWithoutId = _objectWithoutProperties28(allOtherScatterProps, _excluded41);\n var activeIndex = useAppSelector(selectActiveTooltipIndex);\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = allOtherScatterProps, restOfAllOtherProps = _objectWithoutProperties28(allOtherScatterProps, _excluded214);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, dataKey, id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, dataKey, id);\n if (!isNonEmptyArray(points)) {\n return null;\n }\n var baseProps = svgPropertiesNoEvents(allOtherPropsWithoutId);\n return /* @__PURE__ */ React113.createElement(React113.Fragment, null, /* @__PURE__ */ React113.createElement(ScatterLine, {\n points,\n props: allOtherPropsWithoutId\n }), points.map((entry, i) => {\n var hasActiveShape = activeShape != null && activeShape !== false;\n var isActive = hasActiveShape && activeIndex === String(i);\n var option = hasActiveShape && isActive ? activeShape : shape;\n var symbolProps = _objectSpread54(_objectSpread54(_objectSpread54({}, baseProps), entry), {}, {\n index: i,\n [DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME]: String(id)\n });\n return /* @__PURE__ */ React113.createElement(ZIndexLayer, {\n key: \"symbol-\".concat(entry === null || entry === void 0 ? void 0 : entry.cx, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.cy, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.size, \"-\").concat(i),\n zIndex: isActive ? DefaultZIndexes.activeDot : void 0\n }, /* @__PURE__ */ React113.createElement(Layer, _extends38({\n className: \"recharts-scatter-symbol\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React113.createElement(ScatterSymbol, _extends38({\n option,\n isActive\n }, symbolProps))));\n }));\n }\n function SymbolsWithAnimation(_ref4) {\n var {\n previousPointsRef,\n props\n } = _ref4;\n var {\n points,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(props, \"recharts-scatter-\");\n var [isAnimating, setIsAnimating] = (0, import_react62.useState)(false);\n var handleAnimationEnd = (0, import_react62.useCallback)(() => {\n setIsAnimating(false);\n }, []);\n var handleAnimationStart = (0, import_react62.useCallback)(() => {\n setIsAnimating(true);\n }, []);\n var showLabels = !isAnimating;\n return /* @__PURE__ */ React113.createElement(ScatterLabelListProvider, {\n showLabels,\n points\n }, props.children, /* @__PURE__ */ React113.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, (t2) => {\n var stepData = t2 === 1 ? points : points === null || points === void 0 ? void 0 : points.map((entry, index2) => {\n var prev = prevPoints && prevPoints[index2];\n if (prev) {\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n cx: entry.cx == null ? void 0 : interpolate(prev.cx, entry.cx, t2),\n cy: entry.cy == null ? void 0 : interpolate(prev.cy, entry.cy, t2),\n size: interpolate(prev.size, entry.size, t2)\n });\n }\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n size: interpolate(0, entry.size, t2)\n });\n });\n if (t2 > 0) {\n previousPointsRef.current = stepData;\n }\n return /* @__PURE__ */ React113.createElement(Layer, null, /* @__PURE__ */ React113.createElement(ScatterSymbols, {\n points: stepData,\n allOtherScatterProps: props,\n showLabels\n }));\n }), /* @__PURE__ */ React113.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n }\n function computeScatterPoints(_ref5) {\n var {\n displayedData,\n xAxis,\n yAxis,\n zAxis,\n scatterSettings,\n xAxisTicks,\n yAxisTicks,\n cells\n } = _ref5;\n var xAxisDataKey = isNullish(xAxis.dataKey) ? scatterSettings.dataKey : xAxis.dataKey;\n var yAxisDataKey = isNullish(yAxis.dataKey) ? scatterSettings.dataKey : yAxis.dataKey;\n var zAxisDataKey = zAxis && zAxis.dataKey;\n var defaultRangeZ = zAxis ? zAxis.range : implicitZAxis.range;\n var defaultZ = defaultRangeZ && defaultRangeZ[0];\n var xBandSize = xAxis.scale.bandwidth ? xAxis.scale.bandwidth() : 0;\n var yBandSize = yAxis.scale.bandwidth ? yAxis.scale.bandwidth() : 0;\n return displayedData.map((entry, index2) => {\n var x2 = getValueByDataKey(entry, xAxisDataKey);\n var y2 = getValueByDataKey(entry, yAxisDataKey);\n var z = !isNullish(zAxisDataKey) && getValueByDataKey(entry, zAxisDataKey) || \"-\";\n var tooltipPayload = [{\n name: isNullish(xAxis.dataKey) ? scatterSettings.name : xAxis.name || String(xAxis.dataKey),\n unit: xAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: x2,\n payload: entry,\n dataKey: xAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n }, {\n name: isNullish(yAxis.dataKey) ? scatterSettings.name : yAxis.name || String(yAxis.dataKey),\n unit: yAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: y2,\n payload: entry,\n dataKey: yAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n }];\n if (z !== \"-\" && zAxis != null) {\n tooltipPayload.push({\n // @ts-expect-error name prop should not have dataKey in it\n name: zAxis.name || zAxis.dataKey,\n unit: zAxis.unit || \"\",\n // @ts-expect-error getValueByDataKey does not validate the output type\n value: z,\n payload: entry,\n dataKey: zAxisDataKey,\n type: scatterSettings.tooltipType,\n graphicalItemId: scatterSettings.id\n });\n }\n var cx2 = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: xBandSize,\n entry,\n index: index2,\n dataKey: xAxisDataKey\n });\n var cy = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: yBandSize,\n entry,\n index: index2,\n dataKey: yAxisDataKey\n });\n var size4 = z !== \"-\" && zAxis != null ? zAxis.scale.map(z) : defaultZ;\n var radius = size4 == null ? 0 : Math.sqrt(Math.max(size4, 0) / Math.PI);\n return _objectSpread54(_objectSpread54({}, entry), {}, {\n cx: cx2,\n cy,\n x: cx2 == null ? void 0 : cx2 - radius,\n y: cy == null ? void 0 : cy - radius,\n width: 2 * radius,\n height: 2 * radius,\n size: size4,\n node: {\n x: x2,\n y: y2,\n z\n },\n tooltipPayload,\n tooltipPosition: {\n x: cx2,\n y: cy\n },\n payload: entry\n }, cells && cells[index2] && cells[index2].props);\n });\n }\n var errorBarDataPointFormatter3 = (dataPoint, dataKey, direction) => {\n return {\n x: dataPoint.cx,\n y: dataPoint.cy,\n value: direction === \"x\" ? Number(dataPoint.node.x) : Number(dataPoint.node.y),\n // @ts-expect-error getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n function ScatterWithId(props) {\n var {\n hide: hide4,\n points,\n className,\n needClip,\n xAxisId,\n yAxisId,\n id\n } = props;\n var previousPointsRef = (0, import_react62.useRef)(null);\n if (hide4) {\n return null;\n }\n var layerClass = clsx(\"recharts-scatter\", className);\n var clipPathId = id;\n return /* @__PURE__ */ React113.createElement(ZIndexLayer, {\n zIndex: props.zIndex\n }, /* @__PURE__ */ React113.createElement(Layer, {\n className: layerClass,\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : void 0,\n id\n }, needClip && /* @__PURE__ */ React113.createElement(\"defs\", null, /* @__PURE__ */ React113.createElement(GraphicalItemClipPath, {\n clipPathId,\n xAxisId,\n yAxisId\n })), /* @__PURE__ */ React113.createElement(SetErrorBarContext, {\n xAxisId,\n yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter3,\n errorBarOffset: 0\n }, /* @__PURE__ */ React113.createElement(Layer, {\n key: \"recharts-scatter-symbols\"\n }, /* @__PURE__ */ React113.createElement(SymbolsWithAnimation, {\n props,\n previousPointsRef\n })))));\n }\n var defaultScatterProps = {\n xAxisId: 0,\n yAxisId: 0,\n zAxisId: 0,\n label: false,\n line: false,\n legendType: \"circle\",\n lineType: \"joint\",\n lineJointType: \"linear\",\n shape: \"circle\",\n hide: false,\n isAnimationActive: \"auto\",\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: \"linear\",\n zIndex: DefaultZIndexes.scatter\n };\n function ScatterImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultScatterProps), {\n animationBegin,\n animationDuration,\n animationEasing,\n hide: hide4,\n isAnimationActive,\n legendType,\n lineJointType,\n lineType,\n shape,\n xAxisId,\n yAxisId,\n zAxisId\n } = _resolveDefaultProps, everythingElse = _objectWithoutProperties28(_resolveDefaultProps, _excluded311);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var cells = (0, import_react62.useMemo)(() => findAllByType(props.children, Cell), [props.children]);\n var isPanorama = useIsPanorama();\n var points = useAppSelector((state2) => {\n return selectScatterPoints(state2, xAxisId, yAxisId, zAxisId, props.id, cells, isPanorama);\n });\n if (needClip == null) {\n return null;\n }\n if (points == null) {\n return null;\n }\n return /* @__PURE__ */ React113.createElement(React113.Fragment, null, /* @__PURE__ */ React113.createElement(SetScatterTooltipEntrySettings, {\n dataKey: props.dataKey,\n points,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n id: props.id\n }), /* @__PURE__ */ React113.createElement(ScatterWithId, _extends38({}, everythingElse, {\n xAxisId,\n yAxisId,\n zAxisId,\n lineType,\n lineJointType,\n legendType,\n shape,\n hide: hide4,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n points,\n needClip\n })));\n }\n function ScatterFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultScatterProps);\n var isPanorama = useIsPanorama();\n return /* @__PURE__ */ React113.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"scatter\"\n }, (id) => /* @__PURE__ */ React113.createElement(React113.Fragment, null, /* @__PURE__ */ React113.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromScatterProps(props)\n }), /* @__PURE__ */ React113.createElement(SetCartesianGraphicalItem, {\n type: \"scatter\",\n id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: props.zAxisId,\n dataKey: props.dataKey,\n hide: props.hide,\n name: props.name,\n tooltipType: props.tooltipType,\n isPanorama\n }), /* @__PURE__ */ React113.createElement(ScatterImpl, _extends38({}, props, {\n id\n }))));\n }\n var Scatter = /* @__PURE__ */ React113.memo(ScatterFn, propsAreEqual);\n Scatter.displayName = \"Scatter\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/XAxis.js\n var React114 = __toESM(require_react());\n var import_react63 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/axisPropsAreEqual.js\n var _excluded45 = [\"domain\", \"range\"];\n var _excluded215 = [\"domain\", \"range\"];\n function _objectWithoutProperties29(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose29(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose29(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function shortArraysAreEqual(arr1, arr2) {\n if (arr1 === arr2) {\n return true;\n }\n if (Array.isArray(arr1) && arr1.length === 2 && Array.isArray(arr2) && arr2.length === 2) {\n return arr1[0] === arr2[0] && arr1[1] === arr2[1];\n }\n return false;\n }\n function axisPropsAreEqual(prevProps, nextProps) {\n if (prevProps === nextProps) {\n return true;\n }\n var {\n domain: prevDomain,\n range: prevRange\n } = prevProps, prevRest = _objectWithoutProperties29(prevProps, _excluded45);\n var {\n domain: nextDomain,\n range: nextRange\n } = nextProps, nextRest = _objectWithoutProperties29(nextProps, _excluded215);\n if (!shortArraysAreEqual(prevDomain, nextDomain)) {\n return false;\n }\n if (!shortArraysAreEqual(prevRange, nextRange)) {\n return false;\n }\n return propsAreEqual(prevRest, nextRest);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/XAxis.js\n var _excluded46 = [\"type\"];\n var _excluded216 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"];\n var _excluded312 = [\"id\", \"scale\"];\n function _extends39() {\n return _extends39 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends39.apply(null, arguments);\n }\n function ownKeys55(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread55(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys55(Object(t2), true).forEach(function(r3) {\n _defineProperty57(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys55(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty57(e, r2, t2) {\n return (r2 = _toPropertyKey57(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey57(t2) {\n var i = _toPrimitive57(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive57(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties30(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose30(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose30(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function SetXAxisSettings(props) {\n var dispatch = useAppDispatch();\n var prevSettingsRef = (0, import_react63.useRef)(null);\n var layout = useCartesianChartLayout();\n var {\n type: typeFromProps\n } = props, restProps = _objectWithoutProperties30(props, _excluded46);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"xAxis\", typeFromProps);\n var settings = (0, import_react63.useMemo)(() => {\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread55(_objectSpread55({}, restProps), {}, {\n type: evaluatedType\n });\n }, [restProps, evaluatedType]);\n (0, import_react63.useLayoutEffect)(() => {\n if (settings == null) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addXAxis(settings));\n } else if (prevSettingsRef.current !== settings) {\n dispatch(replaceXAxis({\n prev: prevSettingsRef.current,\n next: settings\n }));\n }\n prevSettingsRef.current = settings;\n }, [settings, dispatch]);\n (0, import_react63.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeXAxis(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n var XAxisImpl = (props) => {\n var {\n xAxisId,\n className\n } = props;\n var viewBox = useAppSelector(selectAxisViewBox);\n var isPanorama = useIsPanorama();\n var axisType = \"xAxis\";\n var cartesianTickItems = useAppSelector((state2) => selectTicksOfAxis(state2, axisType, xAxisId, isPanorama));\n var axisSize = useAppSelector((state2) => selectXAxisSize(state2, xAxisId));\n var position2 = useAppSelector((state2) => selectXAxisPosition(state2, xAxisId));\n var synchronizedSettings = useAppSelector((state2) => selectXAxisSettingsNoDefaults(state2, xAxisId));\n if (axisSize == null || position2 == null || synchronizedSettings == null) {\n return null;\n }\n var {\n dangerouslySetInnerHTML,\n ticks: ticks2,\n scale: del\n } = props, allOtherProps = _objectWithoutProperties30(props, _excluded216);\n var {\n id,\n scale: del2\n } = synchronizedSettings, restSynchronizedSettings = _objectWithoutProperties30(synchronizedSettings, _excluded312);\n return /* @__PURE__ */ React114.createElement(CartesianAxis, _extends39({}, allOtherProps, restSynchronizedSettings, {\n x: position2.x,\n y: position2.y,\n width: axisSize.width,\n height: axisSize.height,\n className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n viewBox,\n ticks: cartesianTickItems,\n axisType,\n axisId: xAxisId\n }));\n };\n var xAxisDefaultProps = {\n allowDataOverflow: implicitXAxis.allowDataOverflow,\n allowDecimals: implicitXAxis.allowDecimals,\n allowDuplicatedCategory: implicitXAxis.allowDuplicatedCategory,\n angle: implicitXAxis.angle,\n axisLine: defaultCartesianAxisProps.axisLine,\n height: implicitXAxis.height,\n hide: false,\n includeHidden: implicitXAxis.includeHidden,\n interval: implicitXAxis.interval,\n label: false,\n minTickGap: implicitXAxis.minTickGap,\n mirror: implicitXAxis.mirror,\n orientation: implicitXAxis.orientation,\n padding: implicitXAxis.padding,\n reversed: implicitXAxis.reversed,\n scale: implicitXAxis.scale,\n tick: implicitXAxis.tick,\n tickCount: implicitXAxis.tickCount,\n tickLine: defaultCartesianAxisProps.tickLine,\n tickSize: defaultCartesianAxisProps.tickSize,\n type: implicitXAxis.type,\n niceTicks: implicitXAxis.niceTicks,\n xAxisId: 0\n };\n var XAxisSettingsDispatcher = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, xAxisDefaultProps);\n return /* @__PURE__ */ React114.createElement(React114.Fragment, null, /* @__PURE__ */ React114.createElement(SetXAxisSettings, {\n allowDataOverflow: props.allowDataOverflow,\n allowDecimals: props.allowDecimals,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n angle: props.angle,\n dataKey: props.dataKey,\n domain: props.domain,\n height: props.height,\n hide: props.hide,\n id: props.xAxisId,\n includeHidden: props.includeHidden,\n interval: props.interval,\n minTickGap: props.minTickGap,\n mirror: props.mirror,\n name: props.name,\n orientation: props.orientation,\n padding: props.padding,\n reversed: props.reversed,\n scale: props.scale,\n tick: props.tick,\n tickCount: props.tickCount,\n tickFormatter: props.tickFormatter,\n ticks: props.ticks,\n type: props.type,\n unit: props.unit,\n niceTicks: props.niceTicks\n }), /* @__PURE__ */ React114.createElement(XAxisImpl, props));\n };\n var XAxis = /* @__PURE__ */ React114.memo(XAxisSettingsDispatcher, axisPropsAreEqual);\n XAxis.displayName = \"XAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/YAxis.js\n var React115 = __toESM(require_react());\n var import_react64 = __toESM(require_react());\n var _excluded47 = [\"type\"];\n var _excluded217 = [\"dangerouslySetInnerHTML\", \"ticks\", \"scale\"];\n var _excluded313 = [\"id\", \"scale\"];\n function _extends40() {\n return _extends40 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends40.apply(null, arguments);\n }\n function ownKeys56(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread56(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys56(Object(t2), true).forEach(function(r3) {\n _defineProperty58(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys56(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty58(e, r2, t2) {\n return (r2 = _toPropertyKey58(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey58(t2) {\n var i = _toPrimitive58(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive58(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _objectWithoutProperties31(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose31(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose31(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function SetYAxisSettings(props) {\n var dispatch = useAppDispatch();\n var prevSettingsRef = (0, import_react64.useRef)(null);\n var layout = useCartesianChartLayout();\n var {\n type: typeFromProps\n } = props, restProps = _objectWithoutProperties31(props, _excluded47);\n var evaluatedType = getAxisTypeBasedOnLayout(layout, \"yAxis\", typeFromProps);\n var settings = (0, import_react64.useMemo)(() => {\n if (evaluatedType == null) {\n return void 0;\n }\n return _objectSpread56(_objectSpread56({}, restProps), {}, {\n type: evaluatedType\n });\n }, [evaluatedType, restProps]);\n (0, import_react64.useLayoutEffect)(() => {\n if (settings == null) {\n return;\n }\n if (prevSettingsRef.current === null) {\n dispatch(addYAxis(settings));\n } else if (prevSettingsRef.current !== settings) {\n dispatch(replaceYAxis({\n prev: prevSettingsRef.current,\n next: settings\n }));\n }\n prevSettingsRef.current = settings;\n }, [settings, dispatch]);\n (0, import_react64.useLayoutEffect)(() => {\n return () => {\n if (prevSettingsRef.current) {\n dispatch(removeYAxis(prevSettingsRef.current));\n prevSettingsRef.current = null;\n }\n };\n }, [dispatch]);\n return null;\n }\n function YAxisImpl(props) {\n var {\n yAxisId,\n className,\n width,\n label\n } = props;\n var cartesianAxisRef = (0, import_react64.useRef)(null);\n var labelRef = (0, import_react64.useRef)(null);\n var viewBox = useAppSelector(selectAxisViewBox);\n var isPanorama = useIsPanorama();\n var dispatch = useAppDispatch();\n var axisType = \"yAxis\";\n var axisSize = useAppSelector((state2) => selectYAxisSize(state2, yAxisId));\n var position2 = useAppSelector((state2) => selectYAxisPosition(state2, yAxisId));\n var cartesianTickItems = useAppSelector((state2) => selectTicksOfAxis(state2, axisType, yAxisId, isPanorama));\n var synchronizedSettings = useAppSelector((state2) => selectYAxisSettingsNoDefaults(state2, yAxisId));\n (0, import_react64.useLayoutEffect)(() => {\n if (width !== \"auto\" || !axisSize || isLabelContentAFunction(label) || /* @__PURE__ */ (0, import_react64.isValidElement)(label) || synchronizedSettings == null) {\n return;\n }\n var axisComponent = cartesianAxisRef.current;\n if (!axisComponent) {\n return;\n }\n var updatedYAxisWidth = axisComponent.getCalculatedWidth();\n if (Math.round(axisSize.width) !== Math.round(updatedYAxisWidth)) {\n dispatch(updateYAxisWidth({\n id: yAxisId,\n width: updatedYAxisWidth\n }));\n }\n }, [\n // The dependency on cartesianAxisRef.current is not needed because useLayoutEffect will run after every render.\n // The ref will be populated by then.\n // To re-run this effect when ticks change, we can depend on the ticks array from the store.\n cartesianTickItems,\n axisSize,\n dispatch,\n label,\n yAxisId,\n width,\n synchronizedSettings\n ]);\n if (axisSize == null || position2 == null || synchronizedSettings == null) {\n return null;\n }\n var {\n dangerouslySetInnerHTML,\n ticks: ticks2,\n scale: del\n } = props, allOtherProps = _objectWithoutProperties31(props, _excluded217);\n var {\n id,\n scale: del2\n } = synchronizedSettings, restSynchronizedSettings = _objectWithoutProperties31(synchronizedSettings, _excluded313);\n return /* @__PURE__ */ React115.createElement(CartesianAxis, _extends40({}, allOtherProps, restSynchronizedSettings, {\n ref: cartesianAxisRef,\n labelRef,\n x: position2.x,\n y: position2.y,\n tickTextProps: width === \"auto\" ? {\n width: void 0\n } : {\n width\n },\n width: axisSize.width,\n height: axisSize.height,\n className: clsx(\"recharts-\".concat(axisType, \" \").concat(axisType), className),\n viewBox,\n ticks: cartesianTickItems,\n axisType,\n axisId: yAxisId\n }));\n }\n var yAxisDefaultProps = {\n allowDataOverflow: implicitYAxis.allowDataOverflow,\n allowDecimals: implicitYAxis.allowDecimals,\n allowDuplicatedCategory: implicitYAxis.allowDuplicatedCategory,\n angle: implicitYAxis.angle,\n axisLine: defaultCartesianAxisProps.axisLine,\n hide: false,\n includeHidden: implicitYAxis.includeHidden,\n interval: implicitYAxis.interval,\n label: false,\n minTickGap: implicitYAxis.minTickGap,\n mirror: implicitYAxis.mirror,\n orientation: implicitYAxis.orientation,\n padding: implicitYAxis.padding,\n reversed: implicitYAxis.reversed,\n scale: implicitYAxis.scale,\n tick: implicitYAxis.tick,\n tickCount: implicitYAxis.tickCount,\n tickLine: defaultCartesianAxisProps.tickLine,\n tickSize: defaultCartesianAxisProps.tickSize,\n type: implicitYAxis.type,\n niceTicks: implicitYAxis.niceTicks,\n width: implicitYAxis.width,\n yAxisId: 0\n };\n var YAxisSettingsDispatcher = (outsideProps) => {\n var props = resolveDefaultProps(outsideProps, yAxisDefaultProps);\n return /* @__PURE__ */ React115.createElement(React115.Fragment, null, /* @__PURE__ */ React115.createElement(SetYAxisSettings, {\n interval: props.interval,\n id: props.yAxisId,\n scale: props.scale,\n type: props.type,\n domain: props.domain,\n allowDataOverflow: props.allowDataOverflow,\n dataKey: props.dataKey,\n allowDuplicatedCategory: props.allowDuplicatedCategory,\n allowDecimals: props.allowDecimals,\n tickCount: props.tickCount,\n padding: props.padding,\n includeHidden: props.includeHidden,\n reversed: props.reversed,\n ticks: props.ticks,\n width: props.width,\n orientation: props.orientation,\n mirror: props.mirror,\n hide: props.hide,\n unit: props.unit,\n name: props.name,\n angle: props.angle,\n minTickGap: props.minTickGap,\n tick: props.tick,\n tickFormatter: props.tickFormatter,\n niceTicks: props.niceTicks\n }), /* @__PURE__ */ React115.createElement(YAxisImpl, props));\n };\n var YAxis = /* @__PURE__ */ React115.memo(YAxisSettingsDispatcher, axisPropsAreEqual);\n YAxis.displayName = \"YAxis\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/animation/CSSTransitionAnimate.js\n var import_react65 = __toESM(require_react());\n var defaultProps = {\n begin: 0,\n duration: 1e3,\n easing: \"ease\",\n isActive: true,\n canBegin: true,\n onAnimationEnd: () => {\n },\n onAnimationStart: () => {\n }\n };\n function CSSTransitionAnimate(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultProps);\n var {\n animationId,\n from: from2,\n to: to2,\n attributeName,\n isActive: isActiveProp,\n canBegin,\n duration,\n easing,\n begin,\n onAnimationEnd,\n onAnimationStart: onAnimationStartFromProps,\n children\n } = props;\n var prefersReducedMotion = usePrefersReducedMotion();\n var isActive = isActiveProp === \"auto\" ? !Global.isSsr && !prefersReducedMotion : isActiveProp;\n var animationManager = useAnimationManager(animationId + attributeName, props.animationManager);\n var [style, setStyle] = (0, import_react65.useState)(() => {\n if (!isActive) {\n return to2;\n }\n return from2;\n });\n var initialized = (0, import_react65.useRef)(false);\n var onAnimationStart = (0, import_react65.useCallback)(() => {\n setStyle(from2);\n onAnimationStartFromProps();\n }, [from2, onAnimationStartFromProps]);\n (0, import_react65.useEffect)(() => {\n if (!isActive || !canBegin) {\n return noop4;\n }\n initialized.current = true;\n var unsubscribe = animationManager.subscribe(setStyle);\n animationManager.start([onAnimationStart, begin, to2, duration, onAnimationEnd]);\n return () => {\n animationManager.stop();\n if (unsubscribe) {\n unsubscribe();\n }\n onAnimationEnd();\n };\n }, [isActive, canBegin, duration, easing, begin, onAnimationStart, onAnimationEnd, animationManager, to2, from2]);\n if (!isActive) {\n return children({\n [attributeName]: to2\n });\n }\n if (!canBegin) {\n return children({\n [attributeName]: from2\n });\n }\n if (initialized.current) {\n var transition = getTransitionVal([attributeName], duration, easing);\n return children({\n transition,\n [attributeName]: style\n });\n }\n return children({\n [attributeName]: from2\n });\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/LineChart.js\n var React122 = __toESM(require_react());\n var import_react76 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CartesianChart.js\n var React121 = __toESM(require_react());\n var import_react75 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsStoreProvider.js\n var React116 = __toESM(require_react());\n var import_react66 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/selectActivePropsFromChartPointer.js\n var pickChartPointer = (_state, chartPointer) => chartPointer;\n var selectActivePropsFromChartPointer = createSelector([pickChartPointer, selectChartLayout, selectPolarViewBox, selectTooltipAxisType, selectTooltipAxisRangeWithReverse, selectTooltipAxisTicks, selectOrderedTooltipTicks, selectChartOffsetInternal], combineActiveProps);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/getRelativeCoordinate.js\n function isSvgPointer(pointer) {\n return \"getBBox\" in pointer.currentTarget && typeof pointer.currentTarget.getBBox === \"function\";\n }\n function getRelativeCoordinate(event) {\n var rect = event.currentTarget.getBoundingClientRect();\n var scaleX, scaleY;\n if (isSvgPointer(event)) {\n var bbox = event.currentTarget.getBBox();\n scaleX = bbox.width > 0 ? rect.width / bbox.width : 1;\n scaleY = bbox.height > 0 ? rect.height / bbox.height : 1;\n } else {\n var element = event.currentTarget;\n scaleX = element.offsetWidth > 0 ? rect.width / element.offsetWidth : 1;\n scaleY = element.offsetHeight > 0 ? rect.height / element.offsetHeight : 1;\n }\n var getCoordinates = (clientX, clientY) => ({\n /*\n * Here it's important to use:\n * - event.clientX and event.clientY to get the mouse position relative to the viewport, including scroll.\n * - pageX and pageY are not used because they are relative to the whole document, and ignore scroll.\n * - rect.left and rect.top are used to get the position of the chart relative to the viewport.\n * - offsetX and offsetY are not used because they are relative to the offset parent\n * which may or may not be the same as the clientX and clientY, depending on the position of the chart in the DOM\n * and surrounding element styles. CSS position: relative, absolute, fixed, will change the offset parent.\n * - scaleX and scaleY are necessary for when the chart element is scaled using CSS `transform: scale(N)`.\n */\n relativeX: Math.round((clientX - rect.left) / scaleX),\n relativeY: Math.round((clientY - rect.top) / scaleY)\n });\n if (\"touches\" in event) {\n return Array.from(event.touches).map((touch) => getCoordinates(touch.clientX, touch.clientY));\n }\n return getCoordinates(event.clientX, event.clientY);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/mouseEventsMiddleware.js\n var mouseClickAction = createAction(\"mouseClick\");\n var mouseClickMiddleware = createListenerMiddleware();\n mouseClickMiddleware.startListening({\n actionCreator: mouseClickAction,\n effect: (action, listenerApi) => {\n var mousePointer = action.payload;\n var activeProps = selectActivePropsFromChartPointer(listenerApi.getState(), getRelativeCoordinate(mousePointer));\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseClickAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n }\n }\n });\n var mouseMoveAction = createAction(\"mouseMove\");\n var mouseMoveMiddleware = createListenerMiddleware();\n var rafId = null;\n var timeoutId = null;\n var latestChartPointer = null;\n mouseMoveMiddleware.startListening({\n actionCreator: mouseMoveAction,\n effect: (action, listenerApi) => {\n var mousePointer = action.payload;\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || (throttledEvents === null || throttledEvents === void 0 ? void 0 : throttledEvents.includes(\"mousemove\"));\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n rafId = null;\n }\n if (timeoutId !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n latestChartPointer = getRelativeCoordinate(mousePointer);\n var callback = () => {\n var currentState = listenerApi.getState();\n var tooltipEventType = selectTooltipEventType(currentState, currentState.tooltip.settings.shared);\n if (!latestChartPointer) {\n rafId = null;\n timeoutId = null;\n return;\n }\n if (tooltipEventType === \"axis\") {\n var activeProps = selectActivePropsFromChartPointer(currentState, latestChartPointer);\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseOverAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n } else {\n listenerApi.dispatch(mouseLeaveChart());\n }\n }\n rafId = null;\n timeoutId = null;\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId === null) {\n timeoutId = setTimeout(callback, throttleDelay);\n }\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/reduxDevtoolsJsonStringifyReplacer.js\n function reduxDevtoolsJsonStringifyReplacer(key, value) {\n if (value instanceof HTMLElement) {\n return \"HTMLElement <\".concat(value.tagName, ' class=\"').concat(value.className, '\">');\n }\n if (value === window) {\n return \"global.window\";\n }\n if (key === \"children\" && typeof value === \"object\" && value !== null) {\n return \"<<CHILDREN>>\";\n }\n return value;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/rootPropsSlice.js\n var initialState13 = {\n accessibilityLayer: true,\n barCategoryGap: \"10%\",\n barGap: 4,\n barSize: void 0,\n className: void 0,\n maxBarSize: void 0,\n stackOffset: \"none\",\n syncId: void 0,\n syncMethod: \"index\",\n baseValue: void 0,\n reverseStackOrder: false\n };\n var rootPropsSlice = createSlice({\n name: \"rootProps\",\n initialState: initialState13,\n reducers: {\n updateOptions: (state2, action) => {\n var _action$payload$barGa;\n state2.accessibilityLayer = action.payload.accessibilityLayer;\n state2.barCategoryGap = action.payload.barCategoryGap;\n state2.barGap = (_action$payload$barGa = action.payload.barGap) !== null && _action$payload$barGa !== void 0 ? _action$payload$barGa : initialState13.barGap;\n state2.barSize = action.payload.barSize;\n state2.maxBarSize = action.payload.maxBarSize;\n state2.stackOffset = action.payload.stackOffset;\n state2.syncId = action.payload.syncId;\n state2.syncMethod = action.payload.syncMethod;\n state2.className = action.payload.className;\n state2.baseValue = action.payload.baseValue;\n state2.reverseStackOrder = action.payload.reverseStackOrder;\n }\n }\n });\n var rootPropsReducer = rootPropsSlice.reducer;\n var {\n updateOptions\n } = rootPropsSlice.actions;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/polarOptionsSlice.js\n var initialState14 = null;\n var reducers = {\n updatePolarOptions: (state2, action) => {\n if (state2 === null) {\n return action.payload;\n }\n state2.startAngle = action.payload.startAngle;\n state2.endAngle = action.payload.endAngle;\n state2.cx = action.payload.cx;\n state2.cy = action.payload.cy;\n state2.innerRadius = action.payload.innerRadius;\n state2.outerRadius = action.payload.outerRadius;\n return state2;\n }\n };\n var polarOptionsSlice = createSlice({\n name: \"polarOptions\",\n initialState: initialState14,\n reducers\n });\n var {\n updatePolarOptions\n } = polarOptionsSlice.actions;\n var polarOptionsReducer = polarOptionsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/keyboardEventsMiddleware.js\n var keyDownAction = createAction(\"keyDown\");\n var focusAction = createAction(\"focus\");\n var blurAction = createAction(\"blur\");\n var keyboardEventsMiddleware = createListenerMiddleware();\n var rafId2 = null;\n var timeoutId2 = null;\n var latestKeyboardActionPayload = null;\n keyboardEventsMiddleware.startListening({\n actionCreator: keyDownAction,\n effect: (action, listenerApi) => {\n latestKeyboardActionPayload = action.payload;\n if (rafId2 !== null) {\n cancelAnimationFrame(rafId2);\n rafId2 = null;\n }\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || throttledEvents.includes(\"keydown\");\n if (timeoutId2 !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId2);\n timeoutId2 = null;\n }\n var callback = () => {\n try {\n var currentState = listenerApi.getState();\n var accessibilityLayerIsActive = currentState.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = currentState.tooltip;\n var key = latestKeyboardActionPayload;\n if (key !== \"ArrowRight\" && key !== \"ArrowLeft\" && key !== \"Enter\") {\n return;\n }\n var resolvedIndex = combineActiveTooltipIndex(keyboardInteraction, selectTooltipDisplayedData(currentState), selectTooltipAxisDataKey(currentState), selectTooltipAxisDomain(currentState));\n var currentIndex = resolvedIndex == null ? -1 : Number(resolvedIndex);\n if (!Number.isFinite(currentIndex) || currentIndex < 0) {\n return;\n }\n var tooltipTicks = selectTooltipAxisTicks(currentState);\n if (key === \"Enter\") {\n var _coordinate = selectCoordinateForDefaultIndex(currentState, \"axis\", \"hover\", String(keyboardInteraction.index));\n listenerApi.dispatch(setKeyboardInteraction({\n active: !keyboardInteraction.active,\n activeIndex: keyboardInteraction.index,\n activeCoordinate: _coordinate\n }));\n return;\n }\n var direction = selectChartDirection(currentState);\n var directionMultiplier = direction === \"left-to-right\" ? 1 : -1;\n var movement = key === \"ArrowRight\" ? 1 : -1;\n var nextIndex = currentIndex + movement * directionMultiplier;\n if (tooltipTicks == null || nextIndex >= tooltipTicks.length || nextIndex < 0) {\n return;\n }\n var coordinate = selectCoordinateForDefaultIndex(currentState, \"axis\", \"hover\", String(nextIndex));\n listenerApi.dispatch(setKeyboardInteraction({\n active: true,\n activeIndex: nextIndex.toString(),\n activeCoordinate: coordinate\n }));\n } finally {\n rafId2 = null;\n timeoutId2 = null;\n }\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId2 = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId2 === null) {\n callback();\n latestKeyboardActionPayload = null;\n timeoutId2 = setTimeout(() => {\n if (latestKeyboardActionPayload) {\n callback();\n } else {\n timeoutId2 = null;\n rafId2 = null;\n }\n }, throttleDelay);\n }\n }\n }\n });\n keyboardEventsMiddleware.startListening({\n actionCreator: focusAction,\n effect: (_action, listenerApi) => {\n var state2 = listenerApi.getState();\n var accessibilityLayerIsActive = state2.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = state2.tooltip;\n if (keyboardInteraction.active) {\n return;\n }\n if (keyboardInteraction.index == null) {\n var nextIndex = \"0\";\n var coordinate = selectCoordinateForDefaultIndex(state2, \"axis\", \"hover\", String(nextIndex));\n listenerApi.dispatch(setKeyboardInteraction({\n active: true,\n activeIndex: nextIndex,\n activeCoordinate: coordinate\n }));\n }\n }\n });\n keyboardEventsMiddleware.startListening({\n actionCreator: blurAction,\n effect: (_action, listenerApi) => {\n var state2 = listenerApi.getState();\n var accessibilityLayerIsActive = state2.rootProps.accessibilityLayer !== false;\n if (!accessibilityLayerIsActive) {\n return;\n }\n var {\n keyboardInteraction\n } = state2.tooltip;\n if (keyboardInteraction.active) {\n listenerApi.dispatch(setKeyboardInteraction({\n active: false,\n activeIndex: keyboardInteraction.index,\n activeCoordinate: keyboardInteraction.coordinate\n }));\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/createEventProxy.js\n function createEventProxy(reactEvent) {\n reactEvent.persist();\n var {\n currentTarget\n } = reactEvent;\n return new Proxy(reactEvent, {\n get: (target, prop) => {\n if (prop === \"currentTarget\") {\n return currentTarget;\n }\n var value = Reflect.get(target, prop);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n });\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/externalEventsMiddleware.js\n var externalEventAction = createAction(\"externalEvent\");\n var externalEventsMiddleware = createListenerMiddleware();\n var rafIdMap = /* @__PURE__ */ new Map();\n var timeoutIdMap = /* @__PURE__ */ new Map();\n var latestEventMap = /* @__PURE__ */ new Map();\n externalEventsMiddleware.startListening({\n actionCreator: externalEventAction,\n effect: (action, listenerApi) => {\n var {\n handler,\n reactEvent\n } = action.payload;\n if (handler == null) {\n return;\n }\n var eventType = reactEvent.type;\n var eventProxy = createEventProxy(reactEvent);\n latestEventMap.set(eventType, {\n handler,\n reactEvent: eventProxy\n });\n var existingRafId = rafIdMap.get(eventType);\n if (existingRafId !== void 0) {\n cancelAnimationFrame(existingRafId);\n rafIdMap.delete(eventType);\n }\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var eventListAsString = throttledEvents;\n var isThrottled = eventListAsString === \"all\" || (eventListAsString === null || eventListAsString === void 0 ? void 0 : eventListAsString.includes(eventType));\n var existingTimeoutId = timeoutIdMap.get(eventType);\n if (existingTimeoutId !== void 0 && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(existingTimeoutId);\n timeoutIdMap.delete(eventType);\n }\n var callback = () => {\n var latestAction = latestEventMap.get(eventType);\n try {\n if (!latestAction) {\n return;\n }\n var {\n handler: latestHandler,\n reactEvent: latestEvent\n } = latestAction;\n var currentState = listenerApi.getState();\n var nextState = {\n activeCoordinate: selectActiveTooltipCoordinate(currentState),\n activeDataKey: selectActiveTooltipDataKey(currentState),\n activeIndex: selectActiveTooltipIndex(currentState),\n activeLabel: selectActiveLabel(currentState),\n activeTooltipIndex: selectActiveTooltipIndex(currentState),\n isTooltipActive: selectIsTooltipActive(currentState)\n };\n if (latestHandler) {\n latestHandler(nextState, latestEvent);\n }\n } finally {\n rafIdMap.delete(eventType);\n timeoutIdMap.delete(eventType);\n latestEventMap.delete(eventType);\n }\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n var rafId4 = requestAnimationFrame(callback);\n rafIdMap.set(eventType, rafId4);\n } else if (typeof throttleDelay === \"number\") {\n if (!timeoutIdMap.has(eventType)) {\n callback();\n var timeoutId4 = setTimeout(callback, throttleDelay);\n timeoutIdMap.set(eventType, timeoutId4);\n }\n } else {\n callback();\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/touchSelectors.js\n var selectAllTooltipPayloadConfiguration = createSelector([selectTooltipState], (tooltipState) => tooltipState.tooltipItemPayloads);\n var selectTooltipCoordinate = createSelector([selectAllTooltipPayloadConfiguration, (_state, tooltipIndex) => tooltipIndex, (_state, _tooltipIndex, graphicalItemId) => graphicalItemId], (allTooltipConfigurations, tooltipIndex, graphicalItemId) => {\n if (tooltipIndex == null) {\n return void 0;\n }\n var mostRelevantTooltipConfiguration = allTooltipConfigurations.find((tooltipConfiguration) => {\n return tooltipConfiguration.settings.graphicalItemId === graphicalItemId;\n });\n if (mostRelevantTooltipConfiguration == null) {\n return void 0;\n }\n var {\n getPosition\n } = mostRelevantTooltipConfiguration;\n if (getPosition == null) {\n return void 0;\n }\n return getPosition(tooltipIndex);\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/touchEventsMiddleware.js\n var touchEventAction = createAction(\"touchMove\");\n var touchEventMiddleware = createListenerMiddleware();\n var rafId3 = null;\n var timeoutId3 = null;\n var latestChartPointers = null;\n var latestTouchEvent = null;\n touchEventMiddleware.startListening({\n actionCreator: touchEventAction,\n effect: (action, listenerApi) => {\n var touchEvent = action.payload;\n if (touchEvent.touches == null || touchEvent.touches.length === 0) {\n return;\n }\n latestTouchEvent = createEventProxy(touchEvent);\n var state2 = listenerApi.getState();\n var {\n throttleDelay,\n throttledEvents\n } = state2.eventSettings;\n var isThrottled = throttledEvents === \"all\" || throttledEvents.includes(\"touchmove\");\n if (rafId3 !== null) {\n cancelAnimationFrame(rafId3);\n rafId3 = null;\n }\n if (timeoutId3 !== null && (typeof throttleDelay !== \"number\" || !isThrottled)) {\n clearTimeout(timeoutId3);\n timeoutId3 = null;\n }\n latestChartPointers = Array.from(touchEvent.touches).map((touch) => getRelativeCoordinate({\n clientX: touch.clientX,\n clientY: touch.clientY,\n currentTarget: touchEvent.currentTarget\n }));\n var callback = () => {\n if (latestTouchEvent == null) {\n return;\n }\n var currentState = listenerApi.getState();\n var tooltipEventType = selectTooltipEventType(currentState, currentState.tooltip.settings.shared);\n if (tooltipEventType === \"axis\") {\n var _latestChartPointers;\n var latestTouchPointer = (_latestChartPointers = latestChartPointers) === null || _latestChartPointers === void 0 ? void 0 : _latestChartPointers[0];\n if (latestTouchPointer == null) {\n rafId3 = null;\n timeoutId3 = null;\n return;\n }\n var activeProps = selectActivePropsFromChartPointer(currentState, latestTouchPointer);\n if ((activeProps === null || activeProps === void 0 ? void 0 : activeProps.activeIndex) != null) {\n listenerApi.dispatch(setMouseOverAxisIndex({\n activeIndex: activeProps.activeIndex,\n activeDataKey: void 0,\n activeCoordinate: activeProps.activeCoordinate\n }));\n }\n } else if (tooltipEventType === \"item\") {\n var _target$getAttribute;\n var touch = latestTouchEvent.touches[0];\n if (document.elementFromPoint == null || touch == null) {\n return;\n }\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n if (!target || !target.getAttribute) {\n return;\n }\n var itemIndex = target.getAttribute(DATA_ITEM_INDEX_ATTRIBUTE_NAME);\n var graphicalItemId = (_target$getAttribute = target.getAttribute(DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME)) !== null && _target$getAttribute !== void 0 ? _target$getAttribute : void 0;\n var settings = selectAllGraphicalItemsSettings(currentState).find((item) => item.id === graphicalItemId);\n if (itemIndex == null || settings == null || graphicalItemId == null) {\n return;\n }\n var {\n dataKey\n } = settings;\n var coordinate = selectTooltipCoordinate(currentState, itemIndex, graphicalItemId);\n listenerApi.dispatch(setActiveMouseOverItemIndex({\n activeDataKey: dataKey,\n activeIndex: itemIndex,\n activeCoordinate: coordinate,\n activeGraphicalItemId: graphicalItemId\n }));\n }\n rafId3 = null;\n timeoutId3 = null;\n };\n if (!isThrottled) {\n callback();\n return;\n }\n if (throttleDelay === \"raf\") {\n rafId3 = requestAnimationFrame(callback);\n } else if (typeof throttleDelay === \"number\") {\n if (timeoutId3 === null) {\n callback();\n latestTouchEvent = null;\n timeoutId3 = setTimeout(() => {\n if (latestTouchEvent) {\n callback();\n } else {\n timeoutId3 = null;\n rafId3 = null;\n }\n }, throttleDelay);\n }\n }\n }\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/eventSettingsSlice.js\n var initialEventSettingsState = {\n throttleDelay: \"raf\",\n throttledEvents: [\"mousemove\", \"touchmove\", \"pointermove\", \"scroll\", \"wheel\"]\n };\n var eventSettingsSlice = createSlice({\n name: \"eventSettings\",\n initialState: initialEventSettingsState,\n reducers: {\n setEventSettings: (state2, action) => {\n if (action.payload.throttleDelay != null) {\n state2.throttleDelay = action.payload.throttleDelay;\n }\n if (action.payload.throttledEvents != null) {\n state2.throttledEvents = castDraft(action.payload.throttledEvents);\n }\n }\n }\n });\n var {\n setEventSettings\n } = eventSettingsSlice.actions;\n var eventSettingsReducer = eventSettingsSlice.reducer;\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/store.js\n var rootReducer = combineReducers({\n brush: brushReducer,\n cartesianAxis: cartesianAxisReducer,\n chartData: chartDataReducer,\n errorBars: errorBarReducer,\n eventSettings: eventSettingsReducer,\n graphicalItems: graphicalItemsReducer,\n layout: chartLayoutReducer,\n legend: legendReducer,\n options: optionsReducer,\n polarAxis: polarAxisReducer,\n polarOptions: polarOptionsReducer,\n referenceElements: referenceElementsReducer,\n renderedTicks: renderedTicksReducer,\n rootProps: rootPropsReducer,\n tooltip: tooltipReducer,\n zIndex: zIndexReducer\n });\n var createRechartsStore = function createRechartsStore2(preloadedState) {\n var chartName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"Chart\";\n return configureStore({\n reducer: rootReducer,\n // redux-toolkit v1 types are unhappy with the preloadedState type. Remove the `as any` when bumping to v2\n preloadedState,\n // @ts-expect-error redux-toolkit v1 types are unhappy with the middleware array. Remove this comment when bumping to v2\n middleware: (getDefaultMiddleware) => {\n var _process$env$NODE_ENV;\n return getDefaultMiddleware({\n serializableCheck: false,\n immutableCheck: ![\"commonjs\", \"es6\", \"production\"].includes((_process$env$NODE_ENV = \"es6\") !== null && _process$env$NODE_ENV !== void 0 ? _process$env$NODE_ENV : \"\")\n }).concat([mouseClickMiddleware.middleware, mouseMoveMiddleware.middleware, keyboardEventsMiddleware.middleware, externalEventsMiddleware.middleware, touchEventMiddleware.middleware]);\n },\n /*\n * I can't find out how to satisfy typescript here.\n * We return `EnhancerArray<[StoreEnhancer<{}, {}>, StoreEnhancer]>` from this function,\n * but the types say we should return `EnhancerArray<StoreEnhancer<{}, {}>`.\n * Looks like it's badly inferred generics, but it won't allow me to provide the correct type manually either.\n * So let's just ignore the error for now.\n */\n // @ts-expect-error mismatched generics\n enhancers: (getDefaultEnhancers) => {\n var enhancers = getDefaultEnhancers;\n if (typeof getDefaultEnhancers === \"function\") {\n enhancers = getDefaultEnhancers();\n }\n return enhancers.concat(autoBatchEnhancer({\n type: \"raf\"\n }));\n },\n devTools: Global.devToolsEnabled && {\n serialize: {\n replacer: reduxDevtoolsJsonStringifyReplacer\n },\n name: \"recharts-\".concat(chartName)\n }\n });\n };\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/RechartsStoreProvider.js\n function RechartsStoreProvider(_ref2) {\n var {\n preloadedState,\n children,\n reduxStoreName\n } = _ref2;\n var isPanorama = useIsPanorama();\n var storeRef = (0, import_react66.useRef)(null);\n if (isPanorama) {\n return children;\n }\n if (storeRef.current == null) {\n storeRef.current = createRechartsStore(preloadedState, reduxStoreName);\n }\n var nonNullContext = RechartsReduxContext;\n return /* @__PURE__ */ React116.createElement(Provider_default, {\n context: nonNullContext,\n store: storeRef.current\n }, children);\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportMainChartProps.js\n var import_react67 = __toESM(require_react());\n function ReportMainChartPropsImpl(_ref2) {\n var {\n layout,\n margin\n } = _ref2;\n var dispatch = useAppDispatch();\n var isPanorama = useIsPanorama();\n (0, import_react67.useEffect)(() => {\n if (!isPanorama) {\n dispatch(setLayout(layout));\n dispatch(setMargin(margin));\n }\n }, [dispatch, isPanorama, layout, margin]);\n return null;\n }\n var ReportMainChartProps = /* @__PURE__ */ (0, import_react67.memo)(ReportMainChartPropsImpl, propsAreEqual);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportChartProps.js\n var import_react68 = __toESM(require_react());\n function ReportChartProps(props) {\n var dispatch = useAppDispatch();\n (0, import_react68.useEffect)(() => {\n dispatch(updateOptions(props));\n }, [dispatch, props]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportEventSettings.js\n var import_react69 = __toESM(require_react());\n var ReportEventSettingsImpl = (props) => {\n var dispatch = useAppDispatch();\n (0, import_react69.useEffect)(() => {\n dispatch(setEventSettings(props));\n }, [dispatch, props]);\n return null;\n };\n var ReportEventSettings = /* @__PURE__ */ (0, import_react69.memo)(ReportEventSettingsImpl, propsAreEqual);\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CategoricalChart.js\n var React120 = __toESM(require_react());\n var import_react74 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/RootSurface.js\n var React118 = __toESM(require_react());\n var import_react71 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/zIndex/ZIndexPortal.js\n var React117 = __toESM(require_react());\n var import_react70 = __toESM(require_react());\n function ZIndexSvgPortal(_ref2) {\n var {\n zIndex,\n isPanorama\n } = _ref2;\n var ref = (0, import_react70.useRef)(null);\n var dispatch = useAppDispatch();\n (0, import_react70.useLayoutEffect)(() => {\n if (ref.current) {\n dispatch(registerZIndexPortalElement({\n zIndex,\n element: ref.current,\n isPanorama\n }));\n }\n return () => {\n dispatch(unregisterZIndexPortalElement({\n zIndex,\n isPanorama\n }));\n };\n }, [dispatch, zIndex, isPanorama]);\n return /* @__PURE__ */ React117.createElement(\"g\", {\n tabIndex: -1,\n ref,\n className: \"recharts-zIndex-layer_\".concat(zIndex)\n });\n }\n function AllZIndexPortals(_ref2) {\n var {\n children,\n isPanorama\n } = _ref2;\n var allRegisteredZIndexes = useAppSelector(selectAllRegisteredZIndexes);\n if (!allRegisteredZIndexes || allRegisteredZIndexes.length === 0) {\n return children;\n }\n var allNegativeZIndexes = allRegisteredZIndexes.filter((zIndex) => zIndex < 0);\n var allPositiveZIndexes = allRegisteredZIndexes.filter((zIndex) => zIndex > 0);\n return /* @__PURE__ */ React117.createElement(React117.Fragment, null, allNegativeZIndexes.map((zIndex) => /* @__PURE__ */ React117.createElement(ZIndexSvgPortal, {\n key: zIndex,\n zIndex,\n isPanorama\n })), children, allPositiveZIndexes.map((zIndex) => /* @__PURE__ */ React117.createElement(ZIndexSvgPortal, {\n key: zIndex,\n zIndex,\n isPanorama\n })));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/container/RootSurface.js\n var _excluded48 = [\"children\"];\n function _objectWithoutProperties32(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose32(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose32(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends41() {\n return _extends41 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends41.apply(null, arguments);\n }\n var FULL_WIDTH_AND_HEIGHT = {\n width: \"100%\",\n height: \"100%\",\n /*\n * display: block is necessary here because the default for an SVG is display: inline,\n * which in some browsers (Chrome) adds a little bit of extra space above and below the SVG\n * to make space for the descender of letters like \"g\" and \"y\". This throws off the height calculation\n * and causes the container to grow indefinitely on each render with responsive=true.\n * Display: block removes that extra space.\n *\n * Interestingly, Firefox does not have this problem, but it doesn't hurt to add the style anyway.\n */\n display: \"block\"\n };\n var MainChartSurface = /* @__PURE__ */ (0, import_react71.forwardRef)((props, ref) => {\n var width = useChartWidth();\n var height = useChartHeight();\n var hasAccessibilityLayer = useAccessibilityLayer();\n if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n return null;\n }\n var {\n children,\n otherAttributes,\n title,\n desc\n } = props;\n var tabIndex, role;\n if (otherAttributes != null) {\n if (typeof otherAttributes.tabIndex === \"number\") {\n tabIndex = otherAttributes.tabIndex;\n } else {\n tabIndex = hasAccessibilityLayer ? 0 : void 0;\n }\n if (typeof otherAttributes.role === \"string\") {\n role = otherAttributes.role;\n } else {\n role = hasAccessibilityLayer ? \"application\" : void 0;\n }\n }\n return /* @__PURE__ */ React118.createElement(Surface, _extends41({}, otherAttributes, {\n title,\n desc,\n role,\n tabIndex,\n width,\n height,\n style: FULL_WIDTH_AND_HEIGHT,\n ref\n }), children);\n });\n var BrushPanoramaSurface = (_ref2) => {\n var {\n children\n } = _ref2;\n var brushDimensions = useAppSelector(selectBrushDimensions);\n if (!brushDimensions) {\n return null;\n }\n var {\n width,\n height,\n y: y2,\n x: x2\n } = brushDimensions;\n return /* @__PURE__ */ React118.createElement(Surface, {\n width,\n height,\n x: x2,\n y: y2\n }, children);\n };\n var RootSurface = /* @__PURE__ */ (0, import_react71.forwardRef)((_ref2, ref) => {\n var {\n children\n } = _ref2, rest = _objectWithoutProperties32(_ref2, _excluded48);\n var isPanorama = useIsPanorama();\n if (isPanorama) {\n return /* @__PURE__ */ React118.createElement(BrushPanoramaSurface, null, /* @__PURE__ */ React118.createElement(AllZIndexPortals, {\n isPanorama: true\n }, children));\n }\n return /* @__PURE__ */ React118.createElement(MainChartSurface, _extends41({\n ref\n }, rest), /* @__PURE__ */ React118.createElement(AllZIndexPortals, {\n isPanorama: false\n }, children));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RechartsWrapper.js\n var React119 = __toESM(require_react());\n var import_react73 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/useReportScale.js\n var import_react72 = __toESM(require_react());\n function useReportScale() {\n var dispatch = useAppDispatch();\n var [ref, setRef2] = (0, import_react72.useState)(null);\n var scale = useAppSelector(selectContainerScale);\n (0, import_react72.useEffect)(() => {\n if (ref == null) {\n return;\n }\n var rect = ref.getBoundingClientRect();\n var newScale = rect.width / ref.offsetWidth;\n if (isWellBehavedNumber(newScale) && newScale !== scale) {\n dispatch(setScale(newScale));\n }\n }, [ref, dispatch, scale]);\n return setRef2;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RechartsWrapper.js\n function ownKeys57(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread57(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys57(Object(t2), true).forEach(function(r3) {\n _defineProperty59(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys57(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty59(e, r2, t2) {\n return (r2 = _toPropertyKey59(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey59(t2) {\n var i = _toPrimitive59(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive59(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n function _extends42() {\n return _extends42 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends42.apply(null, arguments);\n }\n var EventSynchronizer = () => {\n useSynchronisedEventsFromOtherCharts();\n return null;\n };\n function getNumberOrZero(value) {\n if (typeof value === \"number\") {\n return value;\n }\n if (typeof value === \"string\") {\n var parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return 0;\n }\n var ResponsiveDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var _props$style, _props$style2;\n var observerRef = (0, import_react73.useRef)(null);\n var [sizes, setSizes] = (0, import_react73.useState)({\n containerWidth: getNumberOrZero((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width),\n containerHeight: getNumberOrZero((_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.height)\n });\n var setContainerSize = (0, import_react73.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n var innerRef = (0, import_react73.useCallback)((node) => {\n if (typeof ref === \"function\") {\n ref(node);\n }\n if (node != null && typeof ResizeObserver !== \"undefined\") {\n var {\n width: containerWidth,\n height: containerHeight\n } = node.getBoundingClientRect();\n setContainerSize(containerWidth, containerHeight);\n var callback = (entries) => {\n var entry = entries[0];\n if (entry == null) {\n return;\n }\n var {\n width,\n height\n } = entry.contentRect;\n setContainerSize(width, height);\n };\n var observer = new ResizeObserver(callback);\n observer.observe(node);\n observerRef.current = observer;\n }\n }, [ref, setContainerSize]);\n (0, import_react73.useEffect)(() => {\n return () => {\n var observer = observerRef.current;\n if (observer != null) {\n observer.disconnect();\n }\n };\n }, [setContainerSize]);\n return /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(ReportChartSize, {\n width: sizes.containerWidth,\n height: sizes.containerHeight\n }), /* @__PURE__ */ React119.createElement(\"div\", _extends42({\n ref: innerRef\n }, props)));\n });\n var ReadSizeOnceDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n var [sizes, setSizes] = (0, import_react73.useState)({\n containerWidth: getNumberOrZero(width),\n containerHeight: getNumberOrZero(height)\n });\n var setContainerSize = (0, import_react73.useCallback)((newWidth, newHeight) => {\n setSizes((prevState) => {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n var innerRef = (0, import_react73.useCallback)((node) => {\n if (typeof ref === \"function\") {\n ref(node);\n }\n if (node != null) {\n var {\n width: containerWidth,\n height: containerHeight\n } = node.getBoundingClientRect();\n setContainerSize(containerWidth, containerHeight);\n }\n }, [ref, setContainerSize]);\n return /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(ReportChartSize, {\n width: sizes.containerWidth,\n height: sizes.containerHeight\n }), /* @__PURE__ */ React119.createElement(\"div\", _extends42({\n ref: innerRef\n }, props)));\n });\n var StaticDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n return /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React119.createElement(\"div\", _extends42({\n ref\n }, props)));\n });\n var NonResponsiveDiv = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n width,\n height\n } = props;\n if (typeof width === \"string\" || typeof height === \"string\") {\n return /* @__PURE__ */ React119.createElement(ReadSizeOnceDiv, _extends42({}, props, {\n ref\n }));\n }\n if (typeof width === \"number\" && typeof height === \"number\") {\n return /* @__PURE__ */ React119.createElement(StaticDiv, _extends42({}, props, {\n width,\n height,\n ref\n }));\n }\n return /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React119.createElement(\"div\", _extends42({\n ref\n }, props)));\n });\n function getWrapperDivComponent(responsive) {\n return responsive ? ResponsiveDiv : NonResponsiveDiv;\n }\n var RechartsWrapper = /* @__PURE__ */ (0, import_react73.forwardRef)((props, ref) => {\n var {\n children,\n className,\n height: heightFromProps,\n onClick,\n onContextMenu,\n onDoubleClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n style,\n width: widthFromProps,\n responsive,\n dispatchTouchEvents = true\n } = props;\n var containerRef = (0, import_react73.useRef)(null);\n var dispatch = useAppDispatch();\n var [tooltipPortal, setTooltipPortal] = (0, import_react73.useState)(null);\n var [legendPortal, setLegendPortal] = (0, import_react73.useState)(null);\n var setScaleRef = useReportScale();\n var responsiveContainerCalculations = useResponsiveContainerContext();\n var width = (responsiveContainerCalculations === null || responsiveContainerCalculations === void 0 ? void 0 : responsiveContainerCalculations.width) > 0 ? responsiveContainerCalculations.width : widthFromProps;\n var height = (responsiveContainerCalculations === null || responsiveContainerCalculations === void 0 ? void 0 : responsiveContainerCalculations.height) > 0 ? responsiveContainerCalculations.height : heightFromProps;\n var innerRef = (0, import_react73.useCallback)((node) => {\n setScaleRef(node);\n if (typeof ref === \"function\") {\n ref(node);\n }\n setTooltipPortal(node);\n setLegendPortal(node);\n if (node != null) {\n containerRef.current = node;\n }\n }, [setScaleRef, ref, setTooltipPortal, setLegendPortal]);\n var myOnClick = (0, import_react73.useCallback)((e) => {\n dispatch(mouseClickAction(e));\n dispatch(externalEventAction({\n handler: onClick,\n reactEvent: e\n }));\n }, [dispatch, onClick]);\n var myOnMouseEnter = (0, import_react73.useCallback)((e) => {\n dispatch(mouseMoveAction(e));\n dispatch(externalEventAction({\n handler: onMouseEnter,\n reactEvent: e\n }));\n }, [dispatch, onMouseEnter]);\n var myOnMouseLeave = (0, import_react73.useCallback)((e) => {\n dispatch(mouseLeaveChart());\n dispatch(externalEventAction({\n handler: onMouseLeave,\n reactEvent: e\n }));\n }, [dispatch, onMouseLeave]);\n var myOnMouseMove = (0, import_react73.useCallback)((e) => {\n dispatch(mouseMoveAction(e));\n dispatch(externalEventAction({\n handler: onMouseMove,\n reactEvent: e\n }));\n }, [dispatch, onMouseMove]);\n var onFocus = (0, import_react73.useCallback)(() => {\n dispatch(focusAction());\n }, [dispatch]);\n var onBlur = (0, import_react73.useCallback)(() => {\n dispatch(blurAction());\n }, [dispatch]);\n var onKeyDown = (0, import_react73.useCallback)((e) => {\n dispatch(keyDownAction(e.key));\n }, [dispatch]);\n var myOnContextMenu = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onContextMenu,\n reactEvent: e\n }));\n }, [dispatch, onContextMenu]);\n var myOnDoubleClick = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onDoubleClick,\n reactEvent: e\n }));\n }, [dispatch, onDoubleClick]);\n var myOnMouseDown = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onMouseDown,\n reactEvent: e\n }));\n }, [dispatch, onMouseDown]);\n var myOnMouseUp = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onMouseUp,\n reactEvent: e\n }));\n }, [dispatch, onMouseUp]);\n var myOnTouchStart = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onTouchStart,\n reactEvent: e\n }));\n }, [dispatch, onTouchStart]);\n var myOnTouchMove = (0, import_react73.useCallback)((e) => {\n if (dispatchTouchEvents) {\n dispatch(touchEventAction(e));\n }\n dispatch(externalEventAction({\n handler: onTouchMove,\n reactEvent: e\n }));\n }, [dispatch, dispatchTouchEvents, onTouchMove]);\n var myOnTouchEnd = (0, import_react73.useCallback)((e) => {\n dispatch(externalEventAction({\n handler: onTouchEnd,\n reactEvent: e\n }));\n }, [dispatch, onTouchEnd]);\n var WrapperDiv = getWrapperDivComponent(responsive);\n return /* @__PURE__ */ React119.createElement(TooltipPortalContext.Provider, {\n value: tooltipPortal\n }, /* @__PURE__ */ React119.createElement(LegendPortalContext.Provider, {\n value: legendPortal\n }, /* @__PURE__ */ React119.createElement(WrapperDiv, {\n width: width !== null && width !== void 0 ? width : style === null || style === void 0 ? void 0 : style.width,\n height: height !== null && height !== void 0 ? height : style === null || style === void 0 ? void 0 : style.height,\n className: clsx(\"recharts-wrapper\", className),\n style: _objectSpread57({\n position: \"relative\",\n cursor: \"default\",\n width,\n height\n }, style),\n onClick: myOnClick,\n onContextMenu: myOnContextMenu,\n onDoubleClick: myOnDoubleClick,\n onFocus,\n onBlur,\n onKeyDown,\n onMouseDown: myOnMouseDown,\n onMouseEnter: myOnMouseEnter,\n onMouseLeave: myOnMouseLeave,\n onMouseMove: myOnMouseMove,\n onMouseUp: myOnMouseUp,\n onTouchEnd: myOnTouchEnd,\n onTouchMove: myOnTouchMove,\n onTouchStart: myOnTouchStart,\n ref: innerRef\n }, /* @__PURE__ */ React119.createElement(EventSynchronizer, null), children)));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CategoricalChart.js\n var _excluded49 = [\"width\", \"height\", \"responsive\", \"children\", \"className\", \"style\", \"compact\", \"title\", \"desc\"];\n function _objectWithoutProperties33(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose33(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose33(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n var CategoricalChart = /* @__PURE__ */ (0, import_react74.forwardRef)((props, ref) => {\n var {\n width,\n height,\n responsive,\n children,\n className,\n style,\n compact,\n title,\n desc\n } = props, others = _objectWithoutProperties33(props, _excluded49);\n var attrs = svgPropertiesNoEvents(others);\n if (compact) {\n return /* @__PURE__ */ React120.createElement(React120.Fragment, null, /* @__PURE__ */ React120.createElement(ReportChartSize, {\n width,\n height\n }), /* @__PURE__ */ React120.createElement(RootSurface, {\n otherAttributes: attrs,\n title,\n desc\n }, children));\n }\n return /* @__PURE__ */ React120.createElement(RechartsWrapper, {\n className,\n style,\n width,\n height,\n responsive: responsive !== null && responsive !== void 0 ? responsive : false,\n onClick: props.onClick,\n onMouseLeave: props.onMouseLeave,\n onMouseEnter: props.onMouseEnter,\n onMouseMove: props.onMouseMove,\n onMouseDown: props.onMouseDown,\n onMouseUp: props.onMouseUp,\n onContextMenu: props.onContextMenu,\n onDoubleClick: props.onDoubleClick,\n onTouchStart: props.onTouchStart,\n onTouchMove: props.onTouchMove,\n onTouchEnd: props.onTouchEnd\n }, /* @__PURE__ */ React120.createElement(RootSurface, {\n otherAttributes: attrs,\n title,\n desc,\n ref\n }, /* @__PURE__ */ React120.createElement(ClipPathProvider, null, children)));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/CartesianChart.js\n function _extends43() {\n return _extends43 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends43.apply(null, arguments);\n }\n function ownKeys58(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread58(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys58(Object(t2), true).forEach(function(r3) {\n _defineProperty60(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys58(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty60(e, r2, t2) {\n return (r2 = _toPropertyKey60(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey60(t2) {\n var i = _toPrimitive60(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive60(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultMargin = {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n };\n var defaultCartesianChartProps = _objectSpread58({\n accessibilityLayer: true,\n barCategoryGap: \"10%\",\n barGap: 4,\n layout: \"horizontal\",\n margin: defaultMargin,\n responsive: false,\n reverseStackOrder: false,\n stackOffset: \"none\",\n syncMethod: \"index\"\n }, initialEventSettingsState);\n var CartesianChart = /* @__PURE__ */ (0, import_react75.forwardRef)(function CartesianChart2(props, ref) {\n var _categoricalChartProp;\n var rootChartProps = resolveDefaultProps(props.categoricalChartProps, defaultCartesianChartProps);\n var {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n categoricalChartProps\n } = props;\n var options2 = {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n eventEmitter: void 0\n };\n return /* @__PURE__ */ React121.createElement(RechartsStoreProvider, {\n preloadedState: {\n options: options2\n },\n reduxStoreName: (_categoricalChartProp = categoricalChartProps.id) !== null && _categoricalChartProp !== void 0 ? _categoricalChartProp : chartName\n }, /* @__PURE__ */ React121.createElement(ChartDataContextProvider, {\n chartData: categoricalChartProps.data\n }), /* @__PURE__ */ React121.createElement(ReportMainChartProps, {\n layout: rootChartProps.layout,\n margin: rootChartProps.margin\n }), /* @__PURE__ */ React121.createElement(ReportEventSettings, {\n throttleDelay: rootChartProps.throttleDelay,\n throttledEvents: rootChartProps.throttledEvents\n }), /* @__PURE__ */ React121.createElement(ReportChartProps, {\n baseValue: rootChartProps.baseValue,\n accessibilityLayer: rootChartProps.accessibilityLayer,\n barCategoryGap: rootChartProps.barCategoryGap,\n maxBarSize: rootChartProps.maxBarSize,\n stackOffset: rootChartProps.stackOffset,\n barGap: rootChartProps.barGap,\n barSize: rootChartProps.barSize,\n syncId: rootChartProps.syncId,\n syncMethod: rootChartProps.syncMethod,\n className: rootChartProps.className,\n reverseStackOrder: rootChartProps.reverseStackOrder\n }), /* @__PURE__ */ React121.createElement(CategoricalChart, _extends43({}, rootChartProps, {\n ref\n })));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/LineChart.js\n var allowedTooltipTypes = [\"axis\"];\n var LineChart = /* @__PURE__ */ (0, import_react76.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React122.createElement(CartesianChart, {\n chartName: \"LineChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/BarChart.js\n var React123 = __toESM(require_react());\n var import_react77 = __toESM(require_react());\n var allowedTooltipTypes2 = [\"axis\", \"item\"];\n var BarChart = /* @__PURE__ */ (0, import_react77.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React123.createElement(CartesianChart, {\n chartName: \"BarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes2,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PieChart.js\n var React125 = __toESM(require_react());\n var import_react80 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PolarChart.js\n var import_react79 = __toESM(require_react());\n var React124 = __toESM(require_react());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/ReportPolarOptions.js\n var import_react78 = __toESM(require_react());\n function ReportPolarOptions(props) {\n var dispatch = useAppDispatch();\n (0, import_react78.useEffect)(() => {\n dispatch(updatePolarOptions(props));\n }, [dispatch, props]);\n return null;\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PolarChart.js\n var _excluded50 = [\"layout\"];\n function _extends44() {\n return _extends44 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends44.apply(null, arguments);\n }\n function _objectWithoutProperties34(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose34(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose34(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys59(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread59(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys59(Object(t2), true).forEach(function(r3) {\n _defineProperty61(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys59(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty61(e, r2, t2) {\n return (r2 = _toPropertyKey61(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey61(t2) {\n var i = _toPrimitive61(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive61(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var defaultMargin2 = {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n };\n var defaultPolarChartProps = _objectSpread59({\n accessibilityLayer: true,\n stackOffset: \"none\",\n barCategoryGap: \"10%\",\n barGap: 4,\n margin: defaultMargin2,\n reverseStackOrder: false,\n syncMethod: \"index\",\n layout: \"radial\",\n responsive: false,\n cx: \"50%\",\n cy: \"50%\",\n innerRadius: 0,\n outerRadius: \"80%\"\n }, initialEventSettingsState);\n var PolarChart = /* @__PURE__ */ (0, import_react79.forwardRef)(function PolarChart2(props, ref) {\n var _polarChartProps$id;\n var polarChartProps = resolveDefaultProps(props.categoricalChartProps, defaultPolarChartProps);\n var {\n layout\n } = polarChartProps, otherCategoricalProps = _objectWithoutProperties34(polarChartProps, _excluded50);\n var {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher\n } = props;\n var options2 = {\n chartName,\n defaultTooltipEventType,\n validateTooltipEventTypes,\n tooltipPayloadSearcher,\n eventEmitter: void 0\n };\n return /* @__PURE__ */ React124.createElement(RechartsStoreProvider, {\n preloadedState: {\n options: options2\n },\n reduxStoreName: (_polarChartProps$id = polarChartProps.id) !== null && _polarChartProps$id !== void 0 ? _polarChartProps$id : chartName\n }, /* @__PURE__ */ React124.createElement(ChartDataContextProvider, {\n chartData: polarChartProps.data\n }), /* @__PURE__ */ React124.createElement(ReportMainChartProps, {\n layout,\n margin: polarChartProps.margin\n }), /* @__PURE__ */ React124.createElement(ReportEventSettings, {\n throttleDelay: polarChartProps.throttleDelay,\n throttledEvents: polarChartProps.throttledEvents\n }), /* @__PURE__ */ React124.createElement(ReportChartProps, {\n baseValue: void 0,\n accessibilityLayer: polarChartProps.accessibilityLayer,\n barCategoryGap: polarChartProps.barCategoryGap,\n maxBarSize: polarChartProps.maxBarSize,\n stackOffset: polarChartProps.stackOffset,\n barGap: polarChartProps.barGap,\n barSize: polarChartProps.barSize,\n syncId: polarChartProps.syncId,\n syncMethod: polarChartProps.syncMethod,\n className: polarChartProps.className,\n reverseStackOrder: polarChartProps.reverseStackOrder\n }), /* @__PURE__ */ React124.createElement(ReportPolarOptions, {\n cx: polarChartProps.cx,\n cy: polarChartProps.cy,\n startAngle: polarChartProps.startAngle,\n endAngle: polarChartProps.endAngle,\n innerRadius: polarChartProps.innerRadius,\n outerRadius: polarChartProps.outerRadius\n }), /* @__PURE__ */ React124.createElement(CategoricalChart, _extends44({}, otherCategoricalProps, {\n ref\n })));\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/PieChart.js\n function ownKeys60(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread60(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys60(Object(t2), true).forEach(function(r3) {\n _defineProperty62(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys60(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty62(e, r2, t2) {\n return (r2 = _toPropertyKey62(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey62(t2) {\n var i = _toPrimitive62(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive62(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes3 = [\"item\"];\n var defaultPieChartProps = _objectSpread60(_objectSpread60({}, defaultPolarChartProps), {}, {\n layout: \"centric\",\n startAngle: 0,\n endAngle: 360\n });\n var PieChart = /* @__PURE__ */ (0, import_react80.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultPieChartProps);\n return /* @__PURE__ */ React125.createElement(PolarChart, {\n chartName: \"PieChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes3,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/Treemap.js\n var React126 = __toESM(require_react());\n var import_react81 = __toESM(require_react());\n var import_omit = __toESM(require_omit2());\n var import_get6 = __toESM(require_get2());\n var _excluded51 = [\"width\", \"height\", \"className\", \"style\", \"children\", \"type\"];\n function _objectWithoutProperties35(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose35(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose35(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function _extends45() {\n return _extends45 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends45.apply(null, arguments);\n }\n function ownKeys61(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread61(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys61(Object(t2), true).forEach(function(r3) {\n _defineProperty63(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys61(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty63(e, r2, t2) {\n return (r2 = _toPropertyKey63(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey63(t2) {\n var i = _toPrimitive63(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive63(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var NODE_VALUE_KEY = \"value\";\n function isTreemapNode(value) {\n return value != null && typeof value === \"object\" && \"x\" in value && \"y\" in value && \"width\" in value && \"height\" in value && typeof value.x === \"number\" && typeof value.y === \"number\" && typeof value.width === \"number\" && typeof value.height === \"number\";\n }\n var treemapPayloadSearcher = (data, activeIndex) => {\n if (!data || !activeIndex) {\n return void 0;\n }\n return (0, import_get6.default)(data, activeIndex);\n };\n var addToTreemapNodeIndex = function addToTreemapNodeIndex2(indexInChildrenArr) {\n var activeTooltipIndexSoFar = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n return \"\".concat(activeTooltipIndexSoFar, \"children[\").concat(indexInChildrenArr, \"]\");\n };\n var options = {\n chartName: \"Treemap\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: [\"item\"],\n tooltipPayloadSearcher: treemapPayloadSearcher,\n eventEmitter: void 0\n };\n var computeNode = (_ref2) => {\n var {\n depth,\n node,\n index: index2,\n dataKey,\n nameKey,\n nestedActiveTooltipIndex\n } = _ref2;\n var currentTooltipIndex = depth === 0 ? \"\" : addToTreemapNodeIndex(index2, nestedActiveTooltipIndex);\n var {\n children\n } = node;\n var childDepth = depth + 1;\n var computedChildren = children && children.length ? children.map((child, i) => computeNode({\n depth: childDepth,\n node: child,\n index: i,\n dataKey,\n nameKey,\n nestedActiveTooltipIndex: currentTooltipIndex\n })) : null;\n var nodeValue;\n if (computedChildren && computedChildren.length) {\n nodeValue = computedChildren.reduce((result, child) => result + child.value, 0);\n } else {\n var rawNodeValue = node[dataKey];\n var numericValue = typeof rawNodeValue === \"number\" ? rawNodeValue : 0;\n nodeValue = isNan(numericValue) || numericValue <= 0 ? 0 : numericValue;\n }\n return _objectSpread61(_objectSpread61({}, node), {}, {\n children: computedChildren,\n // @ts-expect-error getValueByDataKey does not validate the output type\n name: getValueByDataKey(node, nameKey, \"\"),\n [NODE_VALUE_KEY]: nodeValue,\n depth,\n index: index2,\n tooltipIndex: currentTooltipIndex\n });\n };\n var filterRect = (node) => ({\n x: node.x,\n y: node.y,\n width: node.width,\n height: node.height\n });\n var getAreaOfChildren = (children, areaValueRatio) => {\n var ratio = areaValueRatio < 0 ? 0 : areaValueRatio;\n return children.map((child) => {\n var area = child[NODE_VALUE_KEY] * ratio;\n return _objectSpread61(_objectSpread61({}, child), {}, {\n area: isNan(area) || area <= 0 ? 0 : area\n });\n });\n };\n var getWorstScore = (row, parentSize, aspectRatio) => {\n var parentArea = parentSize * parentSize;\n var rowArea = row.area * row.area;\n var {\n min: min3,\n max: max3\n } = row.reduce((result, child) => ({\n min: Math.min(result.min, child.area),\n max: Math.max(result.max, child.area)\n }), {\n min: Infinity,\n max: 0\n });\n return rowArea ? Math.max(parentArea * max3 * aspectRatio / rowArea, rowArea / (parentArea * min3 * aspectRatio)) : Infinity;\n };\n var horizontalPosition = (row, parentSize, parentRect, isFlush) => {\n var rowHeight = parentSize ? Math.round(row.area / parentSize) : 0;\n if (isFlush || rowHeight > parentRect.height) {\n rowHeight = parentRect.height;\n }\n var curX = parentRect.x;\n var child;\n for (var i = 0, len = row.length; i < len; i++) {\n child = row[i];\n if (child == null) {\n continue;\n }\n child.x = curX;\n child.y = parentRect.y;\n child.height = rowHeight;\n child.width = Math.min(rowHeight ? Math.round(child.area / rowHeight) : 0, parentRect.x + parentRect.width - curX);\n curX += child.width;\n }\n if (child != null) {\n child.width += parentRect.x + parentRect.width - curX;\n }\n return _objectSpread61(_objectSpread61({}, parentRect), {}, {\n y: parentRect.y + rowHeight,\n height: parentRect.height - rowHeight\n });\n };\n var verticalPosition = (row, parentSize, parentRect, isFlush) => {\n var rowWidth = parentSize ? Math.round(row.area / parentSize) : 0;\n if (isFlush || rowWidth > parentRect.width) {\n rowWidth = parentRect.width;\n }\n var curY = parentRect.y;\n var child;\n for (var i = 0, len = row.length; i < len; i++) {\n child = row[i];\n if (child == null) {\n continue;\n }\n child.x = parentRect.x;\n child.y = curY;\n child.width = rowWidth;\n child.height = Math.min(rowWidth ? Math.round(child.area / rowWidth) : 0, parentRect.y + parentRect.height - curY);\n curY += child.height;\n }\n if (child) {\n child.height += parentRect.y + parentRect.height - curY;\n }\n return _objectSpread61(_objectSpread61({}, parentRect), {}, {\n x: parentRect.x + rowWidth,\n width: parentRect.width - rowWidth\n });\n };\n var position = (row, parentSize, parentRect, isFlush) => {\n if (parentSize === parentRect.width) {\n return horizontalPosition(row, parentSize, parentRect, isFlush);\n }\n return verticalPosition(row, parentSize, parentRect, isFlush);\n };\n var squarify = (node, aspectRatio) => {\n var {\n children\n } = node;\n if (children && children.length) {\n var rect = filterRect(node);\n var row = [];\n var best = Infinity;\n var child, score;\n var size4 = Math.min(rect.width, rect.height);\n var scaleChildren = getAreaOfChildren(children, rect.width * rect.height / node[NODE_VALUE_KEY]);\n var tempChildren = scaleChildren.slice();\n row.area = 0;\n while (tempChildren.length > 0) {\n [child] = tempChildren;\n if (child == null) {\n continue;\n }\n row.push(child);\n row.area += child.area;\n score = getWorstScore(row, size4, aspectRatio);\n if (score <= best) {\n tempChildren.shift();\n best = score;\n } else {\n var _row$pop$area, _row$pop;\n row.area -= (_row$pop$area = (_row$pop = row.pop()) === null || _row$pop === void 0 ? void 0 : _row$pop.area) !== null && _row$pop$area !== void 0 ? _row$pop$area : 0;\n rect = position(row, size4, rect, false);\n size4 = Math.min(rect.width, rect.height);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n rect = position(row, size4, rect, true);\n row.length = row.area = 0;\n }\n return _objectSpread61(_objectSpread61({}, node), {}, {\n children: scaleChildren.map((c2) => squarify(c2, aspectRatio))\n });\n }\n return node;\n };\n var defaultTreeMapProps = _objectSpread61({\n aspectRatio: 0.5 * (1 + Math.sqrt(5)),\n dataKey: \"value\",\n nameKey: \"name\",\n type: \"flat\",\n isAnimationActive: \"auto\",\n isUpdateAnimationActive: \"auto\",\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: \"linear\"\n }, initialEventSettingsState);\n var defaultState = {\n isAnimationFinished: false,\n formatRoot: null,\n currentRoot: void 0,\n nestIndex: [],\n prevAspectRatio: defaultTreeMapProps.aspectRatio,\n prevDataKey: defaultTreeMapProps.dataKey\n };\n function ContentItem(_ref2) {\n var {\n content,\n nodeProps,\n type,\n colorPanel,\n onMouseEnter,\n onMouseLeave,\n onClick\n } = _ref2;\n if (/* @__PURE__ */ React126.isValidElement(content)) {\n return /* @__PURE__ */ React126.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }, /* @__PURE__ */ React126.cloneElement(content, nodeProps));\n }\n if (typeof content === \"function\") {\n return /* @__PURE__ */ React126.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }, content(nodeProps));\n }\n var {\n x: x2,\n y: y2,\n width,\n height,\n index: index2\n } = nodeProps;\n var arrow4 = null;\n if (width > 10 && height > 10 && nodeProps.children && type === \"nest\") {\n arrow4 = /* @__PURE__ */ React126.createElement(Polygon, {\n points: [{\n x: x2 + 2,\n y: y2 + height / 2\n }, {\n x: x2 + 6,\n y: y2 + height / 2 + 3\n }, {\n x: x2 + 2,\n y: y2 + height / 2 + 6\n }]\n });\n }\n var text = null;\n var nameSize = getStringSize(nodeProps.name);\n if (width > 20 && height > 20 && nameSize.width < width && nameSize.height < height) {\n text = /* @__PURE__ */ React126.createElement(\"text\", {\n x: x2 + 8,\n y: y2 + height / 2 + 7,\n fontSize: 14\n }, nodeProps.name);\n }\n var colors = colorPanel || COLOR_PANEL;\n return /* @__PURE__ */ React126.createElement(\"g\", null, /* @__PURE__ */ React126.createElement(Rectangle, _extends45({\n fill: nodeProps.depth < 2 ? colors[index2 % colors.length] : \"rgba(255,255,255,0)\",\n stroke: \"#fff\"\n }, (0, import_omit.default)(nodeProps, [\"children\"]), {\n onMouseEnter,\n onMouseLeave,\n onClick,\n \"data-recharts-item-index\": nodeProps.tooltipIndex\n })), arrow4, text);\n }\n function ContentItemWithEvents(props) {\n var dispatch = useAppDispatch();\n var activeCoordinate = {\n x: props.nodeProps.x + props.nodeProps.width / 2,\n y: props.nodeProps.y + props.nodeProps.height / 2\n };\n var onMouseEnter = () => {\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: props.nodeProps.tooltipIndex,\n activeDataKey: props.dataKey,\n activeCoordinate,\n activeGraphicalItemId: props.id\n }));\n };\n var onMouseLeave = () => {\n };\n var onClick = () => {\n dispatch(setActiveClickItemIndex({\n activeIndex: props.nodeProps.tooltipIndex,\n activeDataKey: props.dataKey,\n activeCoordinate,\n activeGraphicalItemId: props.id\n }));\n };\n return /* @__PURE__ */ React126.createElement(ContentItem, _extends45({}, props, {\n onMouseEnter,\n onMouseLeave,\n onClick\n }));\n }\n var SetTreemapTooltipEntrySettings = /* @__PURE__ */ React126.memo((_ref3) => {\n var {\n dataKey,\n nameKey,\n stroke,\n fill,\n currentRoot,\n id\n } = _ref3;\n var tooltipEntrySettings = {\n dataDefinedOnItem: currentRoot,\n getPosition: noop4,\n // TODO I think Treemap has the capability of computing positions and supporting defaultIndex? Except it doesn't yet\n settings: {\n stroke,\n strokeWidth: void 0,\n fill,\n dataKey,\n nameKey,\n name: void 0,\n // Each TreemapNode has its own name\n hide: false,\n type: void 0,\n color: fill,\n unit: \"\",\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React126.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n var defaultTreemapMargin = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n function TreemapItem(_ref4) {\n var {\n content,\n nodeProps,\n isLeaf,\n treemapProps,\n onNestClick\n } = _ref4;\n var {\n id,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n isUpdateAnimationActive,\n type,\n colorPanel,\n dataKey,\n onAnimationStart,\n onAnimationEnd,\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps\n } = treemapProps;\n var {\n width,\n height,\n x: x2,\n y: y2\n } = nodeProps;\n var translateX = -x2 - width;\n var translateY = 0;\n var onMouseEnter = (e) => {\n if ((isLeaf || type === \"nest\") && typeof onMouseEnterFromProps === \"function\") {\n onMouseEnterFromProps(nodeProps, e);\n }\n };\n var onMouseLeave = (e) => {\n if ((isLeaf || type === \"nest\") && typeof onMouseLeaveFromProps === \"function\") {\n onMouseLeaveFromProps(nodeProps, e);\n }\n };\n var onClick = () => {\n if (type === \"nest\") {\n onNestClick(nodeProps);\n }\n if ((isLeaf || type === \"nest\") && typeof onItemClickFromProps === \"function\") {\n onItemClickFromProps(nodeProps);\n }\n };\n var handleAnimationEnd = (0, import_react81.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react81.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n }, [onAnimationStart]);\n return /* @__PURE__ */ React126.createElement(CSSTransitionAnimate, {\n animationId: \"treemap-\".concat(nodeProps.tooltipIndex),\n from: \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\"),\n to: \"translate(0, 0)\",\n attributeName: \"transform\",\n begin: animationBegin,\n easing: animationEasing,\n isActive: isAnimationActive,\n duration: animationDuration,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd\n }, (style) => /* @__PURE__ */ React126.createElement(Layer, {\n onMouseEnter,\n onMouseLeave,\n onClick,\n style: _objectSpread61(_objectSpread61({}, style), {}, {\n transformOrigin: \"\".concat(x2, \" \").concat(y2)\n })\n }, /* @__PURE__ */ React126.createElement(ContentItemWithEvents, {\n id,\n content,\n dataKey,\n nodeProps: _objectSpread61(_objectSpread61({}, nodeProps), {}, {\n isAnimationActive,\n isUpdateAnimationActive: !isUpdateAnimationActive,\n width,\n height,\n x: x2,\n y: y2\n }),\n type,\n colorPanel\n })));\n }\n var TreemapWithState = class extends import_react81.PureComponent {\n constructor() {\n super(...arguments);\n _defineProperty63(this, \"state\", _objectSpread61({}, defaultState));\n _defineProperty63(this, \"handleClick\", (node) => {\n var {\n onClick,\n type\n } = this.props;\n if (type === \"nest\" && node.children) {\n var {\n width,\n height,\n dataKey,\n nameKey,\n aspectRatio\n } = this.props;\n var root = computeNode({\n depth: 0,\n node: _objectSpread61(_objectSpread61({}, node), {}, {\n x: 0,\n y: 0,\n width,\n height\n }),\n index: 0,\n dataKey,\n nameKey,\n // with Treemap nesting, should this continue nesting the index or start from empty string?\n nestedActiveTooltipIndex: node.tooltipIndex\n });\n var formatRoot = squarify(root, aspectRatio);\n var {\n nestIndex\n } = this.state;\n nestIndex.push(node);\n this.setState({\n formatRoot,\n currentRoot: root,\n nestIndex\n });\n }\n if (onClick) {\n onClick(node);\n }\n });\n _defineProperty63(this, \"handleTouchMove\", (e) => {\n var touchEvent = e.touches[0];\n if (touchEvent == null) {\n return;\n }\n var target = document.elementFromPoint(touchEvent.clientX, touchEvent.clientY);\n if (!target || !target.getAttribute || this.state.formatRoot == null) {\n return;\n }\n var itemIndex = target.getAttribute(\"data-recharts-item-index\");\n var activeNode = treemapPayloadSearcher(this.state.formatRoot, itemIndex);\n if (!isTreemapNode(activeNode)) {\n return;\n }\n var {\n dataKey,\n dispatch\n } = this.props;\n var activeCoordinate = {\n x: activeNode.x + activeNode.width / 2,\n y: activeNode.y + activeNode.height / 2\n };\n dispatch(setActiveMouseOverItemIndex({\n activeIndex: itemIndex,\n activeDataKey: dataKey,\n activeCoordinate,\n activeGraphicalItemId: this.props.id\n }));\n });\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.data !== prevState.prevData || nextProps.type !== prevState.prevType || nextProps.width !== prevState.prevWidth || nextProps.height !== prevState.prevHeight || nextProps.dataKey !== prevState.prevDataKey || nextProps.aspectRatio !== prevState.prevAspectRatio) {\n var root = computeNode({\n depth: 0,\n // @ts-expect-error missing properties\n node: {\n children: nextProps.data,\n x: 0,\n y: 0,\n width: nextProps.width,\n height: nextProps.height\n },\n index: 0,\n dataKey: nextProps.dataKey,\n nameKey: nextProps.nameKey\n });\n var formatRoot = squarify(root, nextProps.aspectRatio);\n return _objectSpread61(_objectSpread61({}, prevState), {}, {\n formatRoot,\n currentRoot: root,\n nestIndex: [root],\n prevAspectRatio: nextProps.aspectRatio,\n prevData: nextProps.data,\n prevWidth: nextProps.width,\n prevHeight: nextProps.height,\n prevDataKey: nextProps.dataKey,\n prevType: nextProps.type\n });\n }\n return null;\n }\n handleNestIndex(node, i) {\n var {\n nestIndex\n } = this.state;\n var {\n width,\n height,\n dataKey,\n nameKey,\n aspectRatio\n } = this.props;\n var root = computeNode({\n depth: 0,\n node: _objectSpread61(_objectSpread61({}, node), {}, {\n x: 0,\n y: 0,\n width,\n height\n }),\n index: 0,\n dataKey,\n nameKey,\n // with Treemap nesting, should this continue nesting the index or start from empty string?\n nestedActiveTooltipIndex: node.tooltipIndex\n });\n var formatRoot = squarify(root, aspectRatio);\n nestIndex = nestIndex.slice(0, i + 1);\n this.setState({\n formatRoot,\n currentRoot: node,\n nestIndex\n });\n }\n renderNode(root, node) {\n var {\n content,\n type\n } = this.props;\n var nodeProps = _objectSpread61(_objectSpread61(_objectSpread61({}, svgPropertiesNoEvents(this.props)), node), {}, {\n root\n });\n var isLeaf = !node.children || !node.children.length;\n var {\n currentRoot\n } = this.state;\n var isCurrentRootChild = ((currentRoot === null || currentRoot === void 0 ? void 0 : currentRoot.children) || []).filter((item) => item.depth === node.depth && item.name === node.name);\n if (!isCurrentRootChild.length && root.depth && type === \"nest\") {\n return null;\n }\n return /* @__PURE__ */ React126.createElement(Layer, {\n key: \"recharts-treemap-node-\".concat(nodeProps.x, \"-\").concat(nodeProps.y, \"-\").concat(nodeProps.name),\n className: \"recharts-treemap-depth-\".concat(node.depth)\n }, /* @__PURE__ */ React126.createElement(TreemapItem, {\n isLeaf,\n content,\n nodeProps,\n treemapProps: this.props,\n onNestClick: this.handleClick\n }), node.children && node.children.length ? node.children.map((child) => this.renderNode(node, child)) : null);\n }\n renderAllNodes() {\n var {\n formatRoot\n } = this.state;\n if (!formatRoot) {\n return null;\n }\n return this.renderNode(formatRoot, formatRoot);\n }\n // render nest treemap\n renderNestIndex() {\n var {\n nameKey,\n nestIndexContent\n } = this.props;\n var {\n nestIndex\n } = this.state;\n return /* @__PURE__ */ React126.createElement(\"div\", {\n className: \"recharts-treemap-nest-index-wrapper\",\n style: {\n marginTop: \"8px\",\n textAlign: \"center\"\n }\n }, nestIndex.map((item, i) => {\n var rawName = (0, import_get6.default)(item, nameKey, \"root\");\n var name = typeof rawName === \"string\" ? rawName : \"root\";\n var content;\n if (/* @__PURE__ */ React126.isValidElement(nestIndexContent)) {\n content = /* @__PURE__ */ React126.cloneElement(nestIndexContent, item, i);\n }\n if (typeof nestIndexContent === \"function\") {\n content = nestIndexContent(item, i);\n } else {\n content = name;\n }\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n /* @__PURE__ */ React126.createElement(\"div\", {\n onClick: this.handleNestIndex.bind(this, item, i),\n key: \"nest-index-\".concat(uniqueId()),\n className: \"recharts-treemap-nest-index-box\",\n style: {\n cursor: \"pointer\",\n display: \"inline-block\",\n padding: \"0 7px\",\n background: \"#000\",\n color: \"#fff\",\n marginRight: \"3px\"\n }\n }, content)\n );\n }));\n }\n render() {\n var _this$props = this.props, {\n width,\n height,\n className,\n style,\n children,\n type\n } = _this$props, others = _objectWithoutProperties35(_this$props, _excluded51);\n var attrs = svgPropertiesNoEvents(others);\n return /* @__PURE__ */ React126.createElement(React126.Fragment, null, /* @__PURE__ */ React126.createElement(SetTreemapTooltipEntrySettings, {\n dataKey: this.props.dataKey,\n nameKey: this.props.nameKey,\n stroke: this.props.stroke,\n fill: this.props.fill,\n currentRoot: this.state.currentRoot,\n id: this.props.id\n }), /* @__PURE__ */ React126.createElement(Surface, _extends45({}, attrs, {\n width,\n height: type === \"nest\" ? height - 30 : height,\n onTouchMove: this.handleTouchMove\n }), this.renderAllNodes(), children), type === \"nest\" && this.renderNestIndex());\n }\n };\n _defineProperty63(TreemapWithState, \"displayName\", \"Treemap\");\n function TreemapDispatchInject(props) {\n var dispatch = useAppDispatch();\n var width = useChartWidth();\n var height = useChartHeight();\n if (!isPositiveNumber(width) || !isPositiveNumber(height)) {\n return null;\n }\n var {\n id: externalId\n } = props;\n return /* @__PURE__ */ React126.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"treemap\"\n }, (id) => /* @__PURE__ */ React126.createElement(TreemapWithState, _extends45({}, props, {\n id,\n width,\n height,\n dispatch\n })));\n }\n function Treemap(outsideProps) {\n var _props$className;\n var props = resolveDefaultProps(outsideProps, defaultTreeMapProps);\n var {\n className,\n style,\n width,\n height,\n throttleDelay,\n throttledEvents\n } = props;\n var [tooltipPortal, setTooltipPortal] = (0, import_react81.useState)(null);\n return /* @__PURE__ */ React126.createElement(RechartsStoreProvider, {\n preloadedState: {\n options\n },\n reduxStoreName: (_props$className = props.className) !== null && _props$className !== void 0 ? _props$className : \"Treemap\"\n }, /* @__PURE__ */ React126.createElement(ReportChartMargin, {\n margin: defaultTreemapMargin\n }), /* @__PURE__ */ React126.createElement(ReportEventSettings, {\n throttleDelay,\n throttledEvents\n }), /* @__PURE__ */ React126.createElement(RechartsWrapper, {\n dispatchTouchEvents: false,\n className,\n style,\n width,\n height,\n responsive: false,\n ref: (node) => {\n if (tooltipPortal == null && node != null) {\n setTooltipPortal(node);\n }\n },\n onMouseEnter: void 0,\n onMouseLeave: void 0,\n onClick: void 0,\n onMouseMove: void 0,\n onMouseDown: void 0,\n onMouseUp: void 0,\n onContextMenu: void 0,\n onDoubleClick: void 0,\n onTouchStart: void 0,\n onTouchMove: void 0,\n onTouchEnd: void 0\n }, /* @__PURE__ */ React126.createElement(TooltipPortalContext.Provider, {\n value: tooltipPortal\n }, /* @__PURE__ */ React126.createElement(TreemapDispatchInject, props))));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RadarChart.js\n var React127 = __toESM(require_react());\n var import_react82 = __toESM(require_react());\n function ownKeys62(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread62(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys62(Object(t2), true).forEach(function(r3) {\n _defineProperty64(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys62(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty64(e, r2, t2) {\n return (r2 = _toPropertyKey64(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey64(t2) {\n var i = _toPrimitive64(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive64(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes4 = [\"axis\"];\n var defaultRadarChartProps = _objectSpread62(_objectSpread62({}, defaultPolarChartProps), {}, {\n layout: \"centric\",\n startAngle: 90,\n endAngle: -270\n });\n var RadarChart = /* @__PURE__ */ (0, import_react82.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultRadarChartProps);\n return /* @__PURE__ */ React127.createElement(PolarChart, {\n chartName: \"RadarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes4,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/ScatterChart.js\n var React128 = __toESM(require_react());\n var import_react83 = __toESM(require_react());\n var allowedTooltipTypes5 = [\"item\"];\n var ScatterChart = /* @__PURE__ */ (0, import_react83.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React128.createElement(CartesianChart, {\n chartName: \"ScatterChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes5,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/AreaChart.js\n var React129 = __toESM(require_react());\n var import_react84 = __toESM(require_react());\n var allowedTooltipTypes6 = [\"axis\"];\n var AreaChart = /* @__PURE__ */ (0, import_react84.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React129.createElement(CartesianChart, {\n chartName: \"AreaChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes6,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/RadialBarChart.js\n var React130 = __toESM(require_react());\n var import_react85 = __toESM(require_react());\n function ownKeys63(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread63(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys63(Object(t2), true).forEach(function(r3) {\n _defineProperty65(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys63(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty65(e, r2, t2) {\n return (r2 = _toPropertyKey65(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey65(t2) {\n var i = _toPrimitive65(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive65(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var allowedTooltipTypes7 = [\"axis\", \"item\"];\n var defaultRadialBarChartProps = _objectSpread63(_objectSpread63({}, defaultPolarChartProps), {}, {\n layout: \"radial\",\n startAngle: 0,\n endAngle: 360\n });\n var RadialBarChart = /* @__PURE__ */ (0, import_react85.forwardRef)((props, ref) => {\n var propsWithDefaults = resolveDefaultProps(props, defaultRadialBarChartProps);\n return /* @__PURE__ */ React130.createElement(PolarChart, {\n chartName: \"RadialBarChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes7,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: propsWithDefaults,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/ComposedChart.js\n var React131 = __toESM(require_react());\n var import_react86 = __toESM(require_react());\n var allowedTooltipTypes8 = [\"axis\"];\n var ComposedChart = /* @__PURE__ */ (0, import_react86.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React131.createElement(CartesianChart, {\n chartName: \"ComposedChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes8,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Funnel.js\n var React133 = __toESM(require_react());\n var import_react87 = __toESM(require_react());\n var import_omit2 = __toESM(require_omit2());\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/util/FunnelUtils.js\n var React132 = __toESM(require_react());\n function _extends46() {\n return _extends46 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends46.apply(null, arguments);\n }\n function FunnelTrapezoid(props) {\n return /* @__PURE__ */ React132.createElement(Shape, _extends46({\n shapeType: \"trapezoid\"\n }, props));\n }\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/state/selectors/funnelSelectors.js\n function ownKeys64(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread64(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys64(Object(t2), true).forEach(function(r3) {\n _defineProperty66(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys64(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty66(e, r2, t2) {\n return (r2 = _toPropertyKey66(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey66(t2) {\n var i = _toPrimitive66(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive66(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var pickFunnelSettings = (_state, funnelSettings) => funnelSettings;\n var selectFunnelTrapezoids = createSelector([selectChartOffsetInternal, pickFunnelSettings, selectChartDataAndAlwaysIgnoreIndexes], (offset4, _ref2, _ref22) => {\n var {\n data,\n dataKey,\n nameKey,\n tooltipType,\n lastShapeType,\n reversed,\n customWidth,\n cells,\n presentationProps,\n id: graphicalItemId\n } = _ref2;\n var {\n chartData\n } = _ref22;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else if (chartData != null && chartData.length > 0) {\n displayedData = chartData;\n }\n if (displayedData && displayedData.length) {\n displayedData = displayedData.map((entry, index2) => _objectSpread64(_objectSpread64(_objectSpread64({\n payload: entry\n }, presentationProps), entry), cells && cells[index2] && cells[index2].props));\n } else if (cells && cells.length) {\n displayedData = cells.map((cell) => _objectSpread64(_objectSpread64({}, presentationProps), cell.props));\n } else {\n return [];\n }\n return computeFunnelTrapezoids({\n dataKey,\n nameKey,\n displayedData,\n tooltipType,\n lastShapeType,\n reversed,\n offset: offset4,\n customWidth,\n graphicalItemId\n });\n });\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/cartesian/Funnel.js\n var _excluded52 = [\"onMouseEnter\", \"onClick\", \"onMouseLeave\", \"shape\", \"activeShape\"];\n var _excluded218 = [\"id\"];\n var _excluded314 = [\"stroke\", \"fill\", \"legendType\", \"hide\", \"isAnimationActive\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"nameKey\", \"lastShapeType\", \"id\"];\n var _excluded410 = [\"id\"];\n function _extends47() {\n return _extends47 = Object.assign ? Object.assign.bind() : function(n) {\n for (var e = 1; e < arguments.length; e++) {\n var t2 = arguments[e];\n for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n[r2] = t2[r2]);\n }\n return n;\n }, _extends47.apply(null, arguments);\n }\n function _objectWithoutProperties36(e, t2) {\n if (null == e) return {};\n var o, r2, i = _objectWithoutPropertiesLoose36(e, t2);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t2.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n }\n function _objectWithoutPropertiesLoose36(r2, e) {\n if (null == r2) return {};\n var t2 = {};\n for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t2[n] = r2[n];\n }\n return t2;\n }\n function ownKeys65(e, r2) {\n var t2 = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r2 && (o = o.filter(function(r3) {\n return Object.getOwnPropertyDescriptor(e, r3).enumerable;\n })), t2.push.apply(t2, o);\n }\n return t2;\n }\n function _objectSpread65(e) {\n for (var r2 = 1; r2 < arguments.length; r2++) {\n var t2 = null != arguments[r2] ? arguments[r2] : {};\n r2 % 2 ? ownKeys65(Object(t2), true).forEach(function(r3) {\n _defineProperty67(e, r3, t2[r3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys65(Object(t2)).forEach(function(r3) {\n Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t2, r3));\n });\n }\n return e;\n }\n function _defineProperty67(e, r2, t2) {\n return (r2 = _toPropertyKey67(r2)) in e ? Object.defineProperty(e, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r2] = t2, e;\n }\n function _toPropertyKey67(t2) {\n var i = _toPrimitive67(t2, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _toPrimitive67(t2, r2) {\n if (\"object\" != typeof t2 || !t2) return t2;\n var e = t2[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t2, r2 || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r2 ? String : Number)(t2);\n }\n var SetFunnelTooltipEntrySettings = /* @__PURE__ */ React133.memo((_ref2) => {\n var {\n dataKey,\n nameKey,\n stroke,\n strokeWidth,\n fill,\n name,\n hide: hide4,\n tooltipType,\n data,\n trapezoids,\n id\n } = _ref2;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: (index2) => {\n var _trapezoids$Number;\n return (_trapezoids$Number = trapezoids[Number(index2)]) === null || _trapezoids$Number === void 0 ? void 0 : _trapezoids$Number.tooltipPosition;\n },\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n name,\n nameKey,\n hide: hide4,\n type: tooltipType,\n color: fill,\n unit: \"\",\n // Funnel does not have unit, why?\n graphicalItemId: id\n }\n };\n return /* @__PURE__ */ React133.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings\n });\n });\n function FunnelLabelListProvider(_ref2) {\n var {\n showLabels,\n trapezoids,\n children\n } = _ref2;\n var labelListEntries = (0, import_react87.useMemo)(() => {\n if (!showLabels) {\n return void 0;\n }\n return trapezoids === null || trapezoids === void 0 ? void 0 : trapezoids.map((entry) => {\n var viewBox = entry.labelViewBox;\n return _objectSpread65(_objectSpread65({}, viewBox), {}, {\n value: entry.name,\n payload: entry.payload,\n parentViewBox: entry.parentViewBox,\n viewBox,\n fill: entry.fill\n });\n });\n }, [showLabels, trapezoids]);\n return /* @__PURE__ */ React133.createElement(CartesianLabelListContextProvider, {\n value: labelListEntries\n }, children);\n }\n function FunnelTrapezoids(props) {\n var {\n trapezoids,\n allOtherFunnelProps\n } = props;\n var activeItemIndex = useAppSelector((state2) => selectActiveIndex(state2, \"item\", state2.tooltip.settings.trigger, void 0));\n var {\n onMouseEnter: onMouseEnterFromProps,\n onClick: onItemClickFromProps,\n onMouseLeave: onMouseLeaveFromProps,\n shape,\n activeShape\n } = allOtherFunnelProps, restOfAllOtherProps = _objectWithoutProperties36(allOtherFunnelProps, _excluded52);\n var onMouseEnterFromContext = useMouseEnterItemDispatch(onMouseEnterFromProps, allOtherFunnelProps.dataKey, allOtherFunnelProps.id);\n var onMouseLeaveFromContext = useMouseLeaveItemDispatch(onMouseLeaveFromProps);\n var onClickFromContext = useMouseClickItemDispatch(onItemClickFromProps, allOtherFunnelProps.dataKey, allOtherFunnelProps.id);\n return /* @__PURE__ */ React133.createElement(React133.Fragment, null, trapezoids.map((entry, i) => {\n var isActiveIndex = Boolean(activeShape) && activeItemIndex === String(i);\n var trapezoidOptions = isActiveIndex ? activeShape : shape;\n var _entry$option$isActiv = _objectSpread65(_objectSpread65({}, entry), {}, {\n option: trapezoidOptions,\n isActive: isActiveIndex,\n stroke: entry.stroke\n }), {\n id\n } = _entry$option$isActiv, trapezoidProps = _objectWithoutProperties36(_entry$option$isActiv, _excluded218);\n return /* @__PURE__ */ React133.createElement(Layer, _extends47({\n key: \"trapezoid-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.name, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value),\n className: \"recharts-funnel-trapezoid\"\n }, adaptEventsOfChild(restOfAllOtherProps, entry, i), {\n onMouseEnter: onMouseEnterFromContext(entry, i),\n onMouseLeave: onMouseLeaveFromContext(entry, i),\n onClick: onClickFromContext(entry, i)\n }), /* @__PURE__ */ React133.createElement(FunnelTrapezoid, trapezoidProps));\n }));\n }\n function TrapezoidsWithAnimation(_ref3) {\n var {\n previousTrapezoidsRef,\n props\n } = _ref3;\n var {\n trapezoids,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevTrapezoids = previousTrapezoidsRef.current;\n var [isAnimating, setIsAnimating] = (0, import_react87.useState)(false);\n var showLabels = !isAnimating;\n var animationId = useAnimationId(trapezoids, \"recharts-funnel-\");\n var handleAnimationEnd = (0, import_react87.useCallback)(() => {\n if (typeof onAnimationEnd === \"function\") {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = (0, import_react87.useCallback)(() => {\n if (typeof onAnimationStart === \"function\") {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n return /* @__PURE__ */ React133.createElement(FunnelLabelListProvider, {\n showLabels,\n trapezoids\n }, /* @__PURE__ */ React133.createElement(JavascriptAnimate, {\n animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n key: animationId,\n onAnimationStart: handleAnimationStart,\n onAnimationEnd: handleAnimationEnd\n }, (t2) => {\n var stepData = t2 === 1 ? trapezoids : trapezoids.map((entry, index2) => {\n var prev = prevTrapezoids && prevTrapezoids[index2];\n if (prev) {\n return _objectSpread65(_objectSpread65({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t2),\n y: interpolate(prev.y, entry.y, t2),\n upperWidth: interpolate(prev.upperWidth, entry.upperWidth, t2),\n lowerWidth: interpolate(prev.lowerWidth, entry.lowerWidth, t2),\n height: interpolate(prev.height, entry.height, t2)\n });\n }\n return _objectSpread65(_objectSpread65({}, entry), {}, {\n x: interpolate(entry.x + entry.upperWidth / 2, entry.x, t2),\n y: interpolate(entry.y + entry.height / 2, entry.y, t2),\n upperWidth: interpolate(0, entry.upperWidth, t2),\n lowerWidth: interpolate(0, entry.lowerWidth, t2),\n height: interpolate(0, entry.height, t2)\n });\n });\n if (t2 > 0) {\n previousTrapezoidsRef.current = stepData;\n }\n return /* @__PURE__ */ React133.createElement(Layer, null, /* @__PURE__ */ React133.createElement(FunnelTrapezoids, {\n trapezoids: stepData,\n allOtherFunnelProps: props\n }));\n }), /* @__PURE__ */ React133.createElement(LabelListFromLabelProp, {\n label: props.label\n }), props.children);\n }\n function RenderTrapezoids(props) {\n var previousTrapezoidsRef = (0, import_react87.useRef)(void 0);\n return /* @__PURE__ */ React133.createElement(TrapezoidsWithAnimation, {\n props,\n previousTrapezoidsRef\n });\n }\n var getRealWidthHeight = (customWidth, offset4) => {\n var {\n width,\n height,\n left,\n top\n } = offset4;\n var realWidth = getPercentValue(customWidth, width, width);\n return {\n realWidth,\n realHeight: height,\n offsetX: left,\n offsetY: top\n };\n };\n var defaultFunnelProps = {\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: \"ease\",\n fill: \"#808080\",\n hide: false,\n isAnimationActive: \"auto\",\n lastShapeType: \"triangle\",\n legendType: \"rect\",\n nameKey: \"name\",\n reversed: false,\n stroke: \"#fff\"\n };\n function FunnelImpl(props) {\n var plotArea = usePlotArea();\n var {\n stroke,\n fill,\n legendType,\n hide: hide4,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n nameKey,\n lastShapeType,\n id\n } = props, everythingElse = _objectWithoutProperties36(props, _excluded314);\n var presentationProps = svgPropertiesNoEvents(props);\n var cells = findAllByType(props.children, Cell);\n var funnelSettings = (0, import_react87.useMemo)(() => ({\n dataKey: props.dataKey,\n nameKey,\n data: props.data,\n tooltipType: props.tooltipType,\n lastShapeType,\n reversed: props.reversed,\n customWidth: props.width,\n cells,\n presentationProps,\n id\n }), [props.dataKey, nameKey, props.data, props.tooltipType, lastShapeType, props.reversed, props.width, cells, presentationProps, id]);\n var trapezoids = useAppSelector((state2) => selectFunnelTrapezoids(state2, funnelSettings));\n if (hide4 || !trapezoids || !trapezoids.length || !plotArea) {\n return null;\n }\n var {\n height,\n width\n } = plotArea;\n var layerClass = clsx(\"recharts-trapezoids\", props.className);\n return /* @__PURE__ */ React133.createElement(React133.Fragment, null, /* @__PURE__ */ React133.createElement(SetFunnelTooltipEntrySettings, {\n dataKey: props.dataKey,\n nameKey: props.nameKey,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n tooltipType: props.tooltipType,\n data: props.data,\n trapezoids,\n id\n }), /* @__PURE__ */ React133.createElement(Layer, {\n className: layerClass\n }, /* @__PURE__ */ React133.createElement(RenderTrapezoids, _extends47({}, everythingElse, {\n id,\n stroke,\n fill,\n nameKey,\n lastShapeType,\n animationBegin,\n animationDuration,\n animationEasing,\n isAnimationActive,\n hide: hide4,\n legendType,\n height,\n width,\n trapezoids\n }))));\n }\n function computeFunnelTrapezoids(_ref4) {\n var {\n dataKey,\n nameKey,\n displayedData,\n tooltipType,\n lastShapeType,\n reversed,\n offset: offset4,\n customWidth,\n graphicalItemId\n } = _ref4;\n var {\n realHeight,\n realWidth,\n offsetX,\n offsetY\n } = getRealWidthHeight(customWidth, offset4);\n var values = displayedData.map((entry) => {\n var val = getValueByDataKey(entry, dataKey, 0);\n return typeof val === \"number\" ? val : 0;\n });\n var maxValue = Math.max.apply(null, values);\n var len = displayedData.length;\n var rowHeight = realHeight / len;\n var parentViewBox = {\n x: offset4.left,\n y: offset4.top,\n width: offset4.width,\n height: offset4.height\n };\n var trapezoids = displayedData.map((entry, i) => {\n var rawVal = getValueByDataKey(entry, dataKey, 0);\n var name = String(getValueByDataKey(entry, nameKey, i));\n var val = rawVal;\n var nextVal;\n if (i !== len - 1) {\n var nextDataValue = getValueByDataKey(displayedData[i + 1], dataKey, 0);\n if (typeof nextDataValue === \"number\") {\n nextVal = nextDataValue;\n } else if (Array.isArray(nextDataValue)) {\n var [first, second2] = nextDataValue;\n if (typeof first === \"number\") {\n val = first;\n }\n if (typeof second2 === \"number\") {\n nextVal = second2;\n }\n }\n } else if (rawVal instanceof Array && rawVal.length === 2) {\n var [_first, _second] = rawVal;\n if (typeof _first === \"number\") {\n val = _first;\n }\n if (typeof _second === \"number\") {\n nextVal = _second;\n }\n } else if (lastShapeType === \"rectangle\") {\n nextVal = val;\n } else {\n nextVal = 0;\n }\n var x2 = (maxValue - val) * realWidth / (2 * maxValue) + offsetX;\n var y2 = rowHeight * i + offsetY;\n var upperWidth = val / maxValue * realWidth;\n var lowerWidth = nextVal / maxValue * realWidth;\n var tooltipPayload = [{\n name,\n value: val,\n payload: entry,\n dataKey,\n type: tooltipType,\n graphicalItemId\n }];\n var tooltipPosition = {\n x: x2 + upperWidth / 2,\n y: y2 + rowHeight / 2\n };\n var trapezoidViewBox = {\n x: x2,\n y: y2,\n upperWidth,\n lowerWidth,\n width: Math.max(upperWidth, lowerWidth),\n height: rowHeight\n };\n return _objectSpread65(_objectSpread65(_objectSpread65({}, trapezoidViewBox), {}, {\n name,\n val,\n tooltipPayload,\n tooltipPosition\n }, entry != null && typeof entry === \"object\" ? (0, import_omit2.default)(entry, [\"width\"]) : {}), {}, {\n payload: entry,\n parentViewBox,\n labelViewBox: trapezoidViewBox\n });\n });\n if (reversed) {\n trapezoids = trapezoids.map((entry, index2) => {\n var reversedViewBox = {\n x: entry.x - (entry.lowerWidth - entry.upperWidth) / 2,\n y: entry.y - index2 * rowHeight + (len - 1 - index2) * rowHeight,\n upperWidth: entry.lowerWidth,\n lowerWidth: entry.upperWidth,\n width: Math.max(entry.lowerWidth, entry.upperWidth),\n height: rowHeight\n };\n return _objectSpread65(_objectSpread65(_objectSpread65({}, entry), reversedViewBox), {}, {\n tooltipPosition: _objectSpread65(_objectSpread65({}, entry.tooltipPosition), {}, {\n y: entry.y - index2 * rowHeight + (len - 1 - index2) * rowHeight + rowHeight / 2\n }),\n labelViewBox: reversedViewBox\n });\n });\n }\n return trapezoids;\n }\n function FunnelFn(outsideProps) {\n var _resolveDefaultProps = resolveDefaultProps(outsideProps, defaultFunnelProps), {\n id: externalId\n } = _resolveDefaultProps, props = _objectWithoutProperties36(_resolveDefaultProps, _excluded410);\n return /* @__PURE__ */ React133.createElement(RegisterGraphicalItemId, {\n id: externalId,\n type: \"funnel\"\n }, (id) => /* @__PURE__ */ React133.createElement(FunnelImpl, _extends47({}, props, {\n id\n })));\n }\n var Funnel2 = FunnelFn;\n Funnel2.displayName = \"Funnel\";\n\n // ../../../node_modules/.bun/recharts@3.8.0+b5e8364610c38f34/node_modules/recharts/es6/chart/FunnelChart.js\n var React134 = __toESM(require_react());\n var import_react88 = __toESM(require_react());\n var allowedTooltipTypes9 = [\"item\"];\n var FunnelChart = /* @__PURE__ */ (0, import_react88.forwardRef)((props, ref) => {\n return /* @__PURE__ */ React134.createElement(CartesianChart, {\n chartName: \"FunnelChart\",\n defaultTooltipEventType: \"item\",\n validateTooltipEventTypes: allowedTooltipTypes9,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref\n });\n });\n\n // ../../react/src/components/chart.tsx\n var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);\n var THEMES = { light: \"\", dark: \".dark\" };\n var INITIAL_DIMENSION = { width: 320, height: 200 };\n var cssIdentifierPattern = /^[A-Za-z_][A-Za-z0-9_-]*$/;\n var cssColorPattern = /^(?:#[0-9A-Fa-f]{3,8}|(?:rgb|hsl)a?\\(\\s*[-+0-9.%]+\\s*(?:,\\s*[-+0-9.%]+\\s*){2}(?:,\\s*[-+0-9.]+\\s*)?\\)|(?:rgb|hsl)a?\\(\\s*[-+0-9.%]+\\s+[-+0-9.%]+\\s+[-+0-9.%]+(?:\\s*\\/\\s*[-+0-9.%]+)?\\s*\\)|[A-Za-z]+|var\\(--[A-Za-z0-9_-]+\\))$/;\n var chartCssVariableName = (key) => cssIdentifierPattern.test(key) ? `--color-${key}` : null;\n var chartCssColorValue = (color2) => {\n const trimmed = color2.trim();\n return cssColorPattern.test(trimmed) ? trimmed : null;\n };\n var ChartContext = React135.createContext(null);\n function useChart() {\n const context = React135.useContext(ChartContext);\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n return context;\n }\n function ChartContainer({\n id,\n className,\n children,\n config,\n initialDimension = INITIAL_DIMENSION,\n ...props\n }) {\n const uniqueId2 = React135.useId();\n const chartId = `chart-${id ?? uniqueId2.replace(/:/g, \"\")}`;\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n \"data-slot\": \"chart\",\n \"data-chart\": chartId,\n className: cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ChartStyle, { id: chartId, config }),\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ResponsiveContainer, { initialDimension, children })\n ]\n }\n ) });\n }\n var ChartStyle = ({ id, config }) => {\n const colorConfig = Object.entries(config).filter(([, config2]) => config2.theme ?? config2.color);\n if (!colorConfig.length) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: Object.entries(THEMES).map(\n ([theme, prefix2]) => `\n${prefix2} [data-chart=${id}] {\n${colorConfig.map(([key, itemConfig]) => {\n const color2 = itemConfig.theme?.[theme] ?? itemConfig.color;\n const variableName = chartCssVariableName(key);\n const colorValue = color2 ? chartCssColorValue(color2) : null;\n return variableName && colorValue ? ` ${variableName}: ${colorValue};` : null;\n }).filter((line) => line !== null).join(\"\\n\")}\n}\n`\n ).join(\"\\n\")\n }\n }\n );\n };\n var ChartTooltip = Tooltip3;\n function ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color: color2,\n nameKey,\n labelKey\n }) {\n const { config } = useChart();\n const tooltipLabel = React135.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n const [item] = payload;\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === \"string\" ? config[label]?.label ?? label : itemConfig?.label;\n if (labelFormatter) {\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: cn(\"font-medium\", labelClassName), children: labelFormatter(value, payload) });\n }\n if (!value) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: cn(\"font-medium\", labelClassName), children: value });\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n if (!active || !payload?.length) {\n return null;\n }\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n ),\n children: [\n !nestLabel ? tooltipLabel : null,\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"div\", { className: \"grid gap-1.5\", children: payload.filter((item) => item.type !== \"none\").map((item, index2) => {\n const key = `${nameKey ?? item.name ?? item.dataKey ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color2 ?? item.payload?.fill ?? item.color;\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n ),\n children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index2, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [\n itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\"\n }\n ),\n style: {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\"div\", { className: \"grid gap-1.5\", children: [\n nestLabel ? tooltipLabel : null,\n /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"span\", { className: \"text-muted-foreground\", children: itemConfig?.label ?? item.name })\n ] }),\n item.value != null && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\"span\", { className: \"font-mono font-medium text-foreground tabular-nums\", children: typeof item.value === \"number\" ? item.value.toLocaleString() : String(item.value) })\n ]\n }\n )\n ] })\n },\n index2\n );\n }) })\n ]\n }\n );\n }\n var ChartLegend = Legend;\n function ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey\n }) {\n const { config } = useChart();\n if (!payload?.length) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n ),\n children: payload.filter((item) => item.type !== \"none\").map((item, index2) => {\n const key = `${nameKey ?? item.dataKey ?? \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n ),\n children: [\n itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(\n \"div\",\n {\n className: \"h-2 w-2 shrink-0 rounded-[2px]\",\n style: {\n backgroundColor: item.color\n }\n }\n ),\n itemConfig?.label\n ]\n },\n index2\n );\n })\n }\n );\n }\n var isRecord = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value);\n function getPayloadConfigFromPayload(config, payload, key) {\n if (!isRecord(payload)) {\n return void 0;\n }\n const payloadPayload = isRecord(payload.payload) ? payload.payload : void 0;\n let configLabelKey = key;\n if (typeof payload[key] === \"string\") {\n configLabelKey = payload[key];\n } else if (payloadPayload && typeof payloadPayload[key] === \"string\") {\n configLabelKey = payloadPayload[key];\n }\n return configLabelKey in config ? config[configLabelKey] : config[key];\n }\n\n // src/shell/component-runtime.ts\n var createGeneratedCodeRequire = () => (specifier) => {\n if (specifier === \"react\") return import_react89.default;\n if (specifier === \"@tanstack/react-query\") return hooks_exports;\n if (specifier === \"recharts\" || specifier === \"lucide-react\" || specifier === \"./components\") {\n return components_exports;\n }\n throw new Error(\n `Generated UI cannot import \"${specifier}\". Everything needed is already in scope; remove the import.`\n );\n };\n var blockedNetworkPrimitive = (name) => function blockedNetworkPrimitive2() {\n throw new Error(`${name} is disabled in generated UI. Use tools.* via useQuery/useMutation.`);\n };\n function compileJsx(code) {\n const result = transform(code, {\n transforms: [\"jsx\", \"typescript\", \"imports\"],\n jsxRuntime: \"classic\",\n production: true\n });\n return result.code;\n }\n function evaluateComponent(compiled, tools) {\n const module = { exports: {} };\n const exports = module.exports;\n const scope = buildGeneratedCodeScope({ module, exports, tools });\n const scopeKeys = Object.keys(scope);\n const scopeValues = scopeKeys.map((k2) => scope[k2]);\n const wrappedCode = `\n \"use strict\";\n ${compiled}\n var __moduleExports = module && module.exports;\n var __defaultExport =\n __moduleExports && typeof __moduleExports === \"object\" && \"default\" in __moduleExports\n ? __moduleExports.default\n : exports && exports.default;\n var __comp = null;\n if (typeof App === \"function\") __comp = App;\n else if (typeof Component === \"function\") __comp = Component;\n else if (typeof Main === \"function\") __comp = Main;\n else if (typeof __defaultExport === \"function\") __comp = __defaultExport;\n else if (typeof __moduleExports === \"function\") __comp = __moduleExports;\n else if (exports && typeof exports.App === \"function\") __comp = exports.App;\n else if (exports && typeof exports.Component === \"function\") __comp = exports.Component;\n else if (exports && typeof exports.Main === \"function\") __comp = exports.Main;\n var __cfg = typeof config === \"object\" && config !== null ? config : {};\n return { component: __comp, config: __cfg };\n `;\n try {\n const factory = new Function(...scopeKeys, wrappedCode);\n const result = factory(...scopeValues);\n if (!result.component) {\n return { error: \"No component found. Export a function named App.\" };\n }\n return { component: result.component, config: result.config };\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n console.error(\"[executor-shell] Failed to evaluate component:\", err);\n return { error: `Evaluation error: ${msg}` };\n }\n }\n function buildGeneratedCodeScope(bindings) {\n const { module, exports, tools } = bindings;\n return {\n // React core\n React: import_react89.default,\n useState: import_react89.useState,\n useEffect: import_react89.useEffect,\n useRef: import_react89.useRef,\n useCallback: import_react89.useCallback,\n useMemo: import_react89.useMemo,\n useContext: import_react89.useContext,\n Fragment: import_react89.Fragment,\n createContext: import_react89.createContext,\n // Common module globals for resilient generated code evaluation.\n module,\n exports,\n require: createGeneratedCodeRequire(),\n // Defense in depth for direct network attempts. The inner iframe CSP is\n // the browser boundary; these shadows produce clearer runtime errors.\n fetch: blockedNetworkPrimitive(\"fetch\"),\n XMLHttpRequest: blockedNetworkPrimitive(\"XMLHttpRequest\"),\n WebSocket: blockedNetworkPrimitive(\"WebSocket\"),\n EventSource: blockedNetworkPrimitive(\"EventSource\"),\n Worker: blockedNetworkPrimitive(\"Worker\"),\n SharedWorker: blockedNetworkPrimitive(\"SharedWorker\"),\n // Data fetching\n useQuery: useQuery2,\n useInfiniteQuery: useInfiniteQuery2,\n useMutation: useMutation2,\n useQueryClient: useQueryClient2,\n queryOptions,\n infiniteQueryOptions,\n mutationOptions,\n skipToken,\n // The tools proxy is the ONLY way generated code reaches an integration.\n // There is deliberately no `run(code)` escape hatch: arbitrary code is\n // opaque to the invalidation helpers (a hand-rolled `queryKey` defeats\n // `queryFilter`) and to artifact analysis, which reads `tools.<path>`\n // references out of the source. Pagination, the one thing `run` was\n // reached for, is declarative through `.infiniteQueryOptions(...)`.\n tools,\n // All UI components, icons, chart primitives\n ...components_exports\n };\n }\n var PROVIDED_SCOPE_NAMES = Object.keys(\n buildGeneratedCodeScope({\n module: { exports: {} },\n exports: {},\n tools: {}\n })\n );\n\n // src/shell/tools-proxy.ts\n var toolScope = (path2, role) => role === void 0 ? [\"executor-tool\", path2] : [\"executor-tool\", path2, { role }];\n var toolQueryKey = (path2, role, input2) => [...toolScope(path2, role), { input: input2, type: \"query\" }];\n var toolInfiniteQueryKey = (path2, role, input2) => [...toolScope(path2, role), { input: input2, type: \"infinite\" }];\n var toolPathKey = (path2, role) => toolScope(path2, role);\n var toolMutationKey = (path2, role) => [\n ...toolScope(path2, role),\n { type: \"mutation\" }\n ];\n var queryFilter = (path2, role, input2, filters) => ({\n ...filters,\n queryKey: toolQueryKey(path2, role, input2)\n });\n var pathFilter = (path2, role, filters) => ({\n ...filters,\n queryKey: toolPathKey(path2, role)\n });\n var DEFAULT_CURSOR_KEY = \"cursor\";\n var withCursor = (input2, cursorKey, pageParam) => {\n const base = input2 === void 0 ? {} : input2;\n if (pageParam === null || pageParam === void 0) return base;\n const assign2 = (target, [segment, ...rest]) => {\n if (segment === void 0) return pageParam;\n const record = typeof target === \"object\" && target !== null && !Array.isArray(target) ? { ...target } : {};\n record[segment] = rest.length === 0 ? pageParam : assign2(record[segment], rest);\n return record;\n };\n return assign2(base, cursorKey.split(\".\"));\n };\n var createToolsProxy = (request) => {\n const nest = (path2, role) => new Proxy(function() {\n }, {\n get(_target, key) {\n if (key === \"then\" || key === \"toJSON\" || key === Symbol.toPrimitive) return void 0;\n if (typeof key !== \"string\") return void 0;\n if (key === \"queryOptions\") {\n return (input2, options2) => queryOptions({\n ...options2,\n queryKey: toolQueryKey(path2, role, input2 === skipToken ? void 0 : input2),\n queryFn: input2 === skipToken ? skipToken : () => request({\n path: path2,\n args: [input2 ?? {}],\n ...role === void 0 ? {} : { role }\n })\n });\n }\n if (key === \"infiniteQueryOptions\") {\n return (input2, options2) => {\n const {\n cursorKey = DEFAULT_CURSOR_KEY,\n initialPageParam = null,\n ...rest\n } = options2 ?? {};\n return infiniteQueryOptions({\n ...rest,\n initialPageParam,\n queryKey: toolInfiniteQueryKey(path2, role, input2 === skipToken ? void 0 : input2),\n queryFn: input2 === skipToken ? skipToken : ({ pageParam }) => request({\n path: path2,\n args: [withCursor(input2, cursorKey, pageParam)],\n ...role === void 0 ? {} : { role }\n })\n // oxlint-disable-next-line executor/no-double-cast -- boundary: TanStack's option types are generic over the page-param type the model supplies at runtime\n });\n };\n }\n if (key === \"infiniteQueryKey\") {\n return (input2) => toolInfiniteQueryKey(path2, role, input2);\n }\n if (key === \"infiniteQueryFilter\") {\n return (input2, filters) => ({\n ...filters,\n queryKey: toolInfiniteQueryKey(path2, role, input2)\n });\n }\n if (key === \"queryKey\") {\n return (input2) => toolQueryKey(path2, role, input2);\n }\n if (key === \"queryFilter\") {\n return (input2, filters) => queryFilter(path2, role, input2, filters);\n }\n if (key === \"pathKey\") {\n return () => toolPathKey(path2, role);\n }\n if (key === \"pathFilter\") {\n return (filters) => pathFilter(path2, role, filters);\n }\n if (key === \"mutationOptions\") {\n return (options2) => mutationOptions({\n ...options2,\n mutationKey: toolMutationKey(path2, role),\n mutationFn: (input2) => request({\n path: path2,\n args: [input2 ?? {}],\n ...role === void 0 ? {} : { role }\n })\n });\n }\n if (key === \"mutationKey\") {\n return () => toolMutationKey(path2, role);\n }\n return nest([...path2, key], role);\n },\n apply(_target, _thisArg, args) {\n const [only] = args;\n if (path2.length === 1 && role === void 0 && args.length === 1 && typeof only === \"string\") {\n return nest(path2, only);\n }\n return request({\n path: path2,\n args,\n ...role === void 0 ? {} : { role }\n });\n }\n });\n return nest([], void 0);\n };\n\n // src/shell/smoke-harness.tsx\n var sandboxGlobal2 = globalThis;\n var makeQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: { retry: false, refetchOnWindowFocus: false },\n mutations: { retry: false }\n }\n });\n var neverSettles = () => new Promise(() => {\n });\n var MARKUP_LIMIT_BYTES = 128 * 1024;\n var messageOf2 = (error) => error instanceof Error ? error.message : String(error);\n var render = async (code) => {\n try {\n const compiled = compileJsx(code);\n const evaluated = evaluateComponent(compiled, createToolsProxy(neverSettles));\n if (\"error\" in evaluated) return { status: \"failed\", message: evaluated.error };\n let failure;\n const tree = (0, import_react90.createElement)(\n import_react90.StrictMode,\n null,\n (0, import_react90.createElement)(\n TooltipProvider2,\n null,\n (0, import_react90.createElement)(\n QueryClientProvider,\n { client: makeQueryClient() },\n (0, import_react90.createElement)(evaluated.component)\n )\n )\n );\n const decoder = new TextDecoder();\n let markup = \"\";\n let truncated = false;\n try {\n const stream = await (0, import_server2.renderToReadableStream)(tree, {\n onError: (error, info) => {\n failure ??= {\n message: messageOf2(error),\n ...info.componentStack === void 0 ? {} : { componentStack: info.componentStack }\n };\n }\n });\n const reader = stream.getReader();\n for (; ; ) {\n const { done, value } = await reader.read();\n if (done) break;\n if (truncated) continue;\n markup += typeof value === \"string\" ? value : decoder.decode(value);\n if (markup.length > MARKUP_LIMIT_BYTES) {\n truncated = true;\n markup = \"\";\n }\n }\n } catch {\n if (failure) return { status: \"failed\", ...failure };\n return { status: \"ok\" };\n }\n if (failure) return { status: \"failed\", ...failure };\n return markup === \"\" ? { status: \"ok\" } : { status: \"ok\", markup };\n } catch (error) {\n return { status: \"failed\", message: messageOf2(error) };\n }\n };\n sandboxGlobal2[\"__executorSmokeRender\"] = async (code) => JSON.stringify(await render(code));\n})();\n/*! Bundled license information:\n\nreact/cjs/react.production.js:\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\nreact-dom/cjs/react-dom.production.js:\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\nreact-dom/cjs/react-dom-server-legacy.browser.production.js:\n (**\n * @license React\n * react-dom-server-legacy.browser.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\nreact-dom/cjs/react-dom-server.browser.production.js:\n (**\n * @license React\n * react-dom-server.browser.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\nreact/cjs/react-jsx-runtime.production.js:\n (**\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\nuse-sync-external-store/cjs/use-sync-external-store-shim.production.js:\n (**\n * @license React\n * use-sync-external-store-shim.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\nuse-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-shim/with-selector.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\nuse-sync-external-store/cjs/use-sync-external-store-with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-with-selector.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\ndecimal.js-light/decimal.js:\n (*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE *)\n\nreact-is/cjs/react-is.production.min.js:\n (**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils/mergeClasses.js:\nlucide-react/dist/esm/shared/src/utils/toKebabCase.js:\nlucide-react/dist/esm/shared/src/utils/toCamelCase.js:\nlucide-react/dist/esm/shared/src/utils/toPascalCase.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/shared/src/utils/hasA11yProp.js:\nlucide-react/dist/esm/context.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/activity.js:\nlucide-react/dist/esm/icons/arrow-down-wide-narrow.js:\nlucide-react/dist/esm/icons/arrow-down.js:\nlucide-react/dist/esm/icons/arrow-left.js:\nlucide-react/dist/esm/icons/arrow-right.js:\nlucide-react/dist/esm/icons/arrow-up-narrow-wide.js:\nlucide-react/dist/esm/icons/arrow-up-right.js:\nlucide-react/dist/esm/icons/arrow-up.js:\nlucide-react/dist/esm/icons/at-sign.js:\nlucide-react/dist/esm/icons/battery.js:\nlucide-react/dist/esm/icons/bookmark.js:\nlucide-react/dist/esm/icons/box.js:\nlucide-react/dist/esm/icons/calendar.js:\nlucide-react/dist/esm/icons/chart-column.js:\nlucide-react/dist/esm/icons/chart-pie.js:\nlucide-react/dist/esm/icons/check.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-left.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/chevron-up.js:\nlucide-react/dist/esm/icons/chevrons-up-down.js:\nlucide-react/dist/esm/icons/circle-alert.js:\nlucide-react/dist/esm/icons/circle.js:\nlucide-react/dist/esm/icons/clock.js:\nlucide-react/dist/esm/icons/cloud-rain.js:\nlucide-react/dist/esm/icons/code.js:\nlucide-react/dist/esm/icons/copy.js:\nlucide-react/dist/esm/icons/cpu.js:\nlucide-react/dist/esm/icons/database.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/ellipsis-vertical.js:\nlucide-react/dist/esm/icons/ellipsis.js:\nlucide-react/dist/esm/icons/external-link.js:\nlucide-react/dist/esm/icons/eye-off.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/file.js:\nlucide-react/dist/esm/icons/folder-open.js:\nlucide-react/dist/esm/icons/folder.js:\nlucide-react/dist/esm/icons/funnel.js:\nlucide-react/dist/esm/icons/git-commit-horizontal.js:\nlucide-react/dist/esm/icons/git-branch.js:\nlucide-react/dist/esm/icons/git-pull-request.js:\nlucide-react/dist/esm/icons/globe.js:\nlucide-react/dist/esm/icons/grip.js:\nlucide-react/dist/esm/icons/grip-vertical.js:\nlucide-react/dist/esm/icons/hash.js:\nlucide-react/dist/esm/icons/heart.js:\nlucide-react/dist/esm/icons/hexagon.js:\nlucide-react/dist/esm/icons/house.js:\nlucide-react/dist/esm/icons/image.js:\nlucide-react/dist/esm/icons/info.js:\nlucide-react/dist/esm/icons/key.js:\nlucide-react/dist/esm/icons/link.js:\nlucide-react/dist/esm/icons/loader-circle.js:\nlucide-react/dist/esm/icons/lock-open.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/mail.js:\nlucide-react/dist/esm/icons/map-pin.js:\nlucide-react/dist/esm/icons/menu.js:\nlucide-react/dist/esm/icons/message-square.js:\nlucide-react/dist/esm/icons/mic.js:\nlucide-react/dist/esm/icons/minus.js:\nlucide-react/dist/esm/icons/moon.js:\nlucide-react/dist/esm/icons/package.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/pause.js:\nlucide-react/dist/esm/icons/phone.js:\nlucide-react/dist/esm/icons/play.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/refresh-cw.js:\nlucide-react/dist/esm/icons/rotate-ccw.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/send.js:\nlucide-react/dist/esm/icons/server.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield.js:\nlucide-react/dist/esm/icons/square-pen.js:\nlucide-react/dist/esm/icons/square.js:\nlucide-react/dist/esm/icons/star.js:\nlucide-react/dist/esm/icons/sun.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/terminal.js:\nlucide-react/dist/esm/icons/thermometer.js:\nlucide-react/dist/esm/icons/trash-2.js:\nlucide-react/dist/esm/icons/trending-down.js:\nlucide-react/dist/esm/icons/trending-up.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/triangle.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/users.js:\nlucide-react/dist/esm/icons/video.js:\nlucide-react/dist/esm/icons/volume-2.js:\nlucide-react/dist/esm/icons/volume-x.js:\nlucide-react/dist/esm/icons/wifi-off.js:\nlucide-react/dist/esm/icons/wifi.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/icons/zap.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n";
16 16
17export default bundle;17export default bundle;
packages/react/src/api/analytics.tsx+1−1
@@ -34,7 +34,7 @@ export interface AnalyticsEvents { · 33 unmodified lines
34 /** The full-page picker was opened. Replaces the connect dialog, whose34 /** The full-page picker was opened. Replaces the connect dialog, whose
35 * `integration_connect_dialog_opened` this supersedes — keep both readable35 * `integration_connect_dialog_opened` this supersedes — keep both readable
36 * in dashboards spanning the change. */36 * in dashboards spanning the change. */
37 integration_browse_opened: { via: "header" | "empty-state" };37 integration_browse_opened: { via: "header" | "empty-state" | "sidebar" };
38 integration_detect_submitted: {38 integration_detect_submitted: {
39 success: boolean;39 success: boolean;
40 detected_kind?: string;40 detected_kind?: string;
packages/react/src/multiplayer/shell.tsx+10−10
@@ -1,4 +1,4 @@
1import { Link, Outlet, useLocation, useParams } from "@tanstack/react-router";1import { Link, Outlet, useLocation, useNavigate, useParams } from "@tanstack/react-router";
2import { useEffect, useRef, useState, type ReactNode } from "react";2import { useEffect, useRef, useState, type ReactNode } from "react";
3import { useAtomValue } from "@effect/atom-react";3import { useAtomValue } from "@effect/atom-react";
4import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";4import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
@@ -23,7 +23,6 @@ import { · 18 unmodified lines
23} from "../components/integration-favicon";23} from "../components/integration-favicon";
24import { CommandPalette } from "../components/command-palette";24import { CommandPalette } from "../components/command-palette";
25import { Wordmark } from "../components/wordmark";25import { Wordmark } from "../components/wordmark";
26import { ConnectDialog } from "../pages/integrations";
27import { useClientPlugins, useIntegrationPlugins } from "@executor-js/sdk/client";26import { useClientPlugins, useIntegrationPlugins } from "@executor-js/sdk/client";
28import { useAuth } from "./auth-context";27import { useAuth } from "./auth-context";
29 28
@@ -428,7 +427,13 @@ export function Shell(props: ShellProps) { · 398 unmodified lines
428 const lastPathname = useRef(pathname);427 const lastPathname = useRef(pathname);
429 const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);428 const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);
430 const [commandPaletteOpen, setCommandPaletteOpen] = useState(false);429 const [commandPaletteOpen, setCommandPaletteOpen] = useState(false);
431 const [connectIntegrationOpen, setConnectIntegrationOpen] = useState(false);430 const navigate = useNavigate();
431 // The connect dialog became the full-page picker; the sidebar affordance
432 // navigates instead of opening a modal.
433 const openIntegrationBrowse = () => {
434 trackEvent("integration_browse_opened", { via: "sidebar" });
435 void navigate({ to: "/{-$orgSlug}/integrations/browse" });
436 };
432 if (lastPathname.current !== pathname) {437 if (lastPathname.current !== pathname) {
433 lastPathname.current = pathname;438 lastPathname.current = pathname;
434 if (mobileSidebarOpen) setMobileSidebarOpen(false);439 if (mobileSidebarOpen) setMobileSidebarOpen(false);
@@ -446,17 +451,13 @@ export function Shell(props: ShellProps) { · 11 unmodified lines
446 return (451 return (
447 <div className="flex h-screen overflow-hidden">452 <div className="flex h-screen overflow-hidden">
448 <CommandPalette open={commandPaletteOpen} onOpenChange={setCommandPaletteOpen} />453 <CommandPalette open={commandPaletteOpen} onOpenChange={setCommandPaletteOpen} />
449 <ConnectDialog open={connectIntegrationOpen} onOpenChange={setConnectIntegrationOpen} />
450 {/* Desktop sidebar */}454 {/* Desktop sidebar */}
451 <aside className="hidden w-52 shrink-0 border-r border-sidebar-border bg-sidebar md:flex md:flex-col lg:w-56">455 <aside className="hidden w-52 shrink-0 border-r border-sidebar-border bg-sidebar md:flex md:flex-col lg:w-56">
452 <SidebarContent456 <SidebarContent
453 {...props}457 {...props}
454 pathname={pathname}458 pathname={pathname}
455 onOpenCommands={() => setCommandPaletteOpen(true)}459 onOpenCommands={() => setCommandPaletteOpen(true)}
456 onOpenIntegrationConnect={() => {460 onOpenIntegrationConnect={openIntegrationBrowse}
457 setConnectIntegrationOpen(true);
458 trackEvent("integration_connect_dialog_opened");
459 }}
460 />461 />
461 </aside>462 </aside>
462 463
@@ -502,8 +503,7 @@ export function Shell(props: ShellProps) { · 39 unmodified lines
502 }}503 }}
503 onOpenIntegrationConnect={() => {504 onOpenIntegrationConnect={() => {
504 setMobileSidebarOpen(false);505 setMobileSidebarOpen(false);
505 setConnectIntegrationOpen(true);506 openIntegrationBrowse();
506 trackEvent("integration_connect_dialog_opened");
507 }}507 }}
508 />508 />
509 </div>509 </div>